From 0fc33d94ee54b6cefc3383ad76309efe626c23a2 Mon Sep 17 00:00:00 2001 From: Mitchell Valine Date: Thu, 10 Aug 2023 11:49:09 -0700 Subject: [PATCH 01/12] fix(custom-resources): incorrect sdkv3 fallback (#26693) Fixes logic within the aws-sdk-v3-handler for AwsCustomResource to behave more like the v2 handler, in so much as if `installLatestSdk` fails, but it can still require the package it was attempting to install, it will continue. This makes the runtime more friendly to deploying your constructs across regions that may or may not have access to npm within the lambda runtime. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../test/integ.cors.js.snapshot/cdk.out | 2 +- .../cors-twitch-test.assets.json | 6 +- .../cors-twitch-test.template.json | 70 +- ...efaultTestDeployAssert5CF8F851.assets.json | 2 +- .../test/integ.cors.js.snapshot/integ.json | 2 +- .../test/integ.cors.js.snapshot/manifest.json | 10 +- .../test/integ.cors.js.snapshot/tree.json | 76 +- .../index.js | 1213 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 4 +- .../index.js | 0 .../shared.js | 0 .../integ-cognito.assets.json | 10 +- .../integ-cognito.template.json | 2 +- ...efaultTestDeployAssert6F2623C9.assets.json | 10 +- ...aultTestDeployAssert6F2623C9.template.json | 4 +- .../integ.cognito.js.snapshot/manifest.json | 4 +- .../test/integ.cognito.js.snapshot/tree.json | 2 +- .../IntegAlbOidc.assets.json | 10 +- .../IntegAlbOidc.template.json | 2 +- ...efaultTestDeployAssert2476ECB6.assets.json | 10 +- ...aultTestDeployAssert2476ECB6.template.json | 4 +- .../index.js | 1213 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 4 +- .../index.js | 0 .../shared.js | 0 .../integ.alb.oidc.js.snapshot/manifest.json | 4 +- .../test/integ.alb.oidc.js.snapshot/tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 4 +- .../index.js | 0 .../shared.js | 0 ...g-elasticsearch-custom-kms-key.assets.json | 10 +- ...elasticsearch-custom-kms-key.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 4 +- .../index.js | 0 .../shared.js | 0 ...lasticsearch-unsignedbasicauth.assets.json | 10 +- ...sticsearch-unsignedbasicauth.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- ...efaultTestDeployAssert353EE07A.assets.json | 10 +- ...aultTestDeployAssert353EE07A.template.json | 22 +- .../index.js | 1213 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - .../log-group-events.assets.json | 10 +- .../log-group-events.template.json | 8 +- .../integ.log-group.js.snapshot/manifest.json | 34 +- .../integ.log-group.js.snapshot/tree.json | 32 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - .../integ-globalaccelerator.assets.json | 10 +- .../integ-globalaccelerator.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- ...efaultTestDeployAssert7BC530B7.assets.json | 10 +- ...aultTestDeployAssert7BC530B7.template.json | 6 +- .../index.js | 1213 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - .../lambda-logssubscription-integ.assets.json | 10 +- ...ambda-logssubscription-integ.template.json | 4 +- .../integ.lambda.js.snapshot/manifest.json | 10 +- .../test/integ.lambda.js.snapshot/tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - ...nteg-opensearch-custom-kms-key.assets.json | 10 +- ...eg-opensearch-custom-kms-key.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - .../cdk-integ-opensearch.assets.json | 10 +- .../cdk-integ-opensearch.template.json | 2 +- .../manifest.json | 2 +- .../integ.opensearch.js.snapshot/tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - ...g-opensearch-unsignedbasicauth.assets.json | 10 +- ...opensearch-unsignedbasicauth.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - ...aws-cdk-vpc-endpoint-dns-integ.assets.json | 10 +- ...s-cdk-vpc-endpoint-dns-integ.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - ...-s3-bucket-auto-delete-objects.assets.json | 10 +- ...3-bucket-auto-delete-objects.template.json | 2 +- .../manifest.json | 2 +- .../tree.json | 2 +- ...78239080baf3b390d0afe381f81bde5688e6eb.zip | Bin 23187 -> 0 bytes ...efaultTestDeployAssert7AE6A475.assets.json | 2 +- .../aws-sdk-v3-handler.bundled.js | 770 - .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - ...aws-cdk-customresources-athena.assets.json | 12 +- ...s-cdk-customresources-athena.template.json | 2 +- .../cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 4 +- .../tree.json | 6 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 - .../aws-cdk-customresources-vpc.assets.json | 10 +- .../aws-cdk-customresources-vpc.template.json | 4 +- .../manifest.json | 8 +- .../tree.json | 2 +- .../aws-sdk-v2-handler.js | 0 .../aws-sdk-v3-handler.bundled.js | 769 + .../index.js | 0 .../shared.js | 0 .../aws-sdk-v2-handler.js | 161 - .../aws-sdk-v3-handler.bundled.js | 769 - .../index.js | 10 - .../shared.js | 106 - .../aws-cdk-sdk-js-v3.assets.json | 10 +- .../aws-cdk-sdk-js-v3.template.json | 12 +- .../aws-cdk-sdk-js.assets.json | 10 +- .../aws-cdk-sdk-js.template.json | 12 +- .../manifest.json | 64 +- .../tree.json | 4 +- ...efaultTestDeployAssert61636546.assets.json | 10 +- ...aultTestDeployAssert61636546.template.json | 8 +- .../index.js | 31534 +++++++++++++++ .../index.js | 31981 ---------------- .../integ.triggers.js.snapshot/manifest.json | 2 +- .../test/integ.triggers.js.snapshot/tree.json | 328 +- .../runtime/aws-sdk-v3-handler.ts | 4 +- .../runtime/aws-sdk-v3-handler.test.ts | 53 +- 168 files changed, 42122 insertions(+), 45315 deletions(-) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/{asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle => asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle}/index.js (98%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v3-handler.bundled.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle => aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle}/index.js (98%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v3-handler.bundled.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/{integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v3-handler.bundled.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v3-handler.bundled.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle => aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle}/index.js (98%) rename packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/{asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle => asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle}/index.js (98%) rename packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/{asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/.cache/f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/{asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/{asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/{asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da => asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/aws-sdk-v2-handler.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/{integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb => integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83}/shared.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js create mode 100644 packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.bundle/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cdk.out index 7925065efbcc4..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"31.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.assets.json index e3254b94b1395..d47a4ef13d6b2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.assets.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { "c7bba0d9d477c86c6dc2adb0eb95842634a1c040dd3a66b42eec2bb604644d4f": { "source": { @@ -14,7 +14,7 @@ } } }, - "eec545187c8ac2e517efd9fbf2f13eb327409c8aea5ab3f76dd09184a47a37f6": { + "d6fea47c1f0462158dff41f11b88b1cc5a13df20fda1d39aa230bae47a50ae63": { "source": { "path": "cors-twitch-test.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "eec545187c8ac2e517efd9fbf2f13eb327409c8aea5ab3f76dd09184a47a37f6.json", + "objectKey": "d6fea47c1f0462158dff41f11b88b1cc5a13df20fda1d39aa230bae47a50ae63.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.template.json index aac7322229dfc..a349947172fb9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/cors-twitch-test.template.json @@ -58,10 +58,10 @@ "corsapitestDeployment2BF1633Adc24ac182461aecc920a8724663ce2a1": { "Type": "AWS::ApiGateway::Deployment", "Properties": { + "Description": "Automatically created by the RestApi construct", "RestApiId": { "Ref": "corsapitest8682546E" - }, - "Description": "Automatically created by the RestApi construct" + } }, "DependsOn": [ "corsapitesttwitchDELETEB4C94228", @@ -74,12 +74,12 @@ "corsapitestDeploymentStageprod8F31F2AB": { "Type": "AWS::ApiGateway::Stage", "Properties": { - "RestApiId": { - "Ref": "corsapitest8682546E" - }, "DeploymentId": { "Ref": "corsapitestDeployment2BF1633Adc24ac182461aecc920a8724663ce2a1" }, + "RestApiId": { + "Ref": "corsapitest8682546E" + }, "StageName": "prod" }, "DependsOn": [ @@ -182,14 +182,8 @@ "corsapitesttwitchGET4270341B": { "Type": "AWS::ApiGateway::Method", "Properties": { - "HttpMethod": "GET", - "ResourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "RestApiId": { - "Ref": "corsapitest8682546E" - }, "AuthorizationType": "NONE", + "HttpMethod": "GET", "Integration": { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", @@ -216,6 +210,12 @@ ] ] } + }, + "ResourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "RestApiId": { + "Ref": "corsapitest8682546E" } } }, @@ -300,14 +300,8 @@ "corsapitesttwitchPOSTB52CFB02": { "Type": "AWS::ApiGateway::Method", "Properties": { - "HttpMethod": "POST", - "ResourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "RestApiId": { - "Ref": "corsapitest8682546E" - }, "AuthorizationType": "NONE", + "HttpMethod": "POST", "Integration": { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", @@ -334,6 +328,12 @@ ] ] } + }, + "ResourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "RestApiId": { + "Ref": "corsapitest8682546E" } } }, @@ -418,14 +418,8 @@ "corsapitesttwitchDELETEB4C94228": { "Type": "AWS::ApiGateway::Method", "Properties": { - "HttpMethod": "DELETE", - "ResourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "RestApiId": { - "Ref": "corsapitest8682546E" - }, "AuthorizationType": "NONE", + "HttpMethod": "DELETE", "Integration": { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", @@ -452,21 +446,21 @@ ] ] } + }, + "ResourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "RestApiId": { + "Ref": "corsapitest8682546E" } } }, "corsapitesttwitchOPTIONSE5EEB527": { "Type": "AWS::ApiGateway::Method", "Properties": { - "HttpMethod": "OPTIONS", - "ResourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "RestApiId": { - "Ref": "corsapitest8682546E" - }, "ApiKeyRequired": false, "AuthorizationType": "NONE", + "HttpMethod": "OPTIONS", "Integration": { "IntegrationResponses": [ { @@ -497,7 +491,13 @@ }, "StatusCode": "204" } - ] + ], + "ResourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "RestApiId": { + "Ref": "corsapitest8682546E" + } } }, "handlerServiceRole187D5A5A": { @@ -540,13 +540,13 @@ }, "S3Key": "c7bba0d9d477c86c6dc2adb0eb95842634a1c040dd3a66b42eec2bb604644d4f.zip" }, + "Handler": "index.handler", "Role": { "Fn::GetAtt": [ "handlerServiceRole187D5A5A", "Arn" ] }, - "Handler": "index.handler", "Runtime": "nodejs14.x" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/corsDefaultTestDeployAssert5CF8F851.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/corsDefaultTestDeployAssert5CF8F851.assets.json index e52ff3c64fb97..a1e4b98c36e2f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/corsDefaultTestDeployAssert5CF8F851.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/corsDefaultTestDeployAssert5CF8F851.assets.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/integ.json index 0f845d75d7c25..ccce9164682af 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "testCases": { "cors/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/manifest.json index 7727a57bf7a7c..059d3a09bb36d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "artifacts": { "cors-twitch-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/eec545187c8ac2e517efd9fbf2f13eb327409c8aea5ab3f76dd09184a47a37f6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d6fea47c1f0462158dff41f11b88b1cc5a13df20fda1d39aa230bae47a50ae63.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -54,7 +54,7 @@ "/cors-twitch-test/cors-api-test/Deployment/Resource": [ { "type": "aws:cdk:logicalId", - "data": "corsapitestDeployment2BF1633Aec735238f184cf252b8c47cd8212eacb" + "data": "corsapitestDeployment2BF1633Adc24ac182461aecc920a8724663ce2a1" } ], "/cors-twitch-test/cors-api-test/DeploymentStage.prod/Resource": [ @@ -159,10 +159,10 @@ "data": "CheckBootstrapVersion" } ], - "corsapitestDeployment2BF1633A51392cbce1ac2785bd0e53063423e203": [ + "corsapitestDeployment2BF1633Aec735238f184cf252b8c47cd8212eacb": [ { "type": "aws:cdk:logicalId", - "data": "corsapitestDeployment2BF1633A51392cbce1ac2785bd0e53063423e203", + "data": "corsapitestDeployment2BF1633Aec735238f184cf252b8c47cd8212eacb", "trace": [ "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/tree.json index c80aba693b5ad..c6e550cd6c70e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-apigateway/test/integ.cors.js.snapshot/tree.json @@ -112,10 +112,10 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Deployment", "aws:cdk:cloudformation:props": { + "description": "Automatically created by the RestApi construct", "restApiId": { "Ref": "corsapitest8682546E" - }, - "description": "Automatically created by the RestApi construct" + } } }, "constructInfo": { @@ -139,12 +139,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Stage", "aws:cdk:cloudformation:props": { + "deploymentId": { + "Ref": "corsapitestDeployment2BF1633Adc24ac182461aecc920a8724663ce2a1" + }, "restApiId": { "Ref": "corsapitest8682546E" }, - "deploymentId": { - "Ref": "corsapitestDeployment2BF1633Aec735238f184cf252b8c47cd8212eacb" - }, "stageName": "prod" } }, @@ -302,14 +302,8 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method", "aws:cdk:cloudformation:props": { - "httpMethod": "GET", - "resourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "restApiId": { - "Ref": "corsapitest8682546E" - }, "authorizationType": "NONE", + "httpMethod": "GET", "integration": { "type": "AWS_PROXY", "uri": { @@ -336,6 +330,12 @@ ] }, "integrationHttpMethod": "POST" + }, + "resourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "restApiId": { + "Ref": "corsapitest8682546E" } } }, @@ -454,14 +454,8 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method", "aws:cdk:cloudformation:props": { - "httpMethod": "POST", - "resourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "restApiId": { - "Ref": "corsapitest8682546E" - }, "authorizationType": "NONE", + "httpMethod": "POST", "integration": { "type": "AWS_PROXY", "uri": { @@ -488,6 +482,12 @@ ] }, "integrationHttpMethod": "POST" + }, + "resourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "restApiId": { + "Ref": "corsapitest8682546E" } } }, @@ -606,14 +606,8 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method", "aws:cdk:cloudformation:props": { - "httpMethod": "DELETE", - "resourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "restApiId": { - "Ref": "corsapitest8682546E" - }, "authorizationType": "NONE", + "httpMethod": "DELETE", "integration": { "type": "AWS_PROXY", "uri": { @@ -640,6 +634,12 @@ ] }, "integrationHttpMethod": "POST" + }, + "resourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "restApiId": { + "Ref": "corsapitest8682546E" } } }, @@ -664,15 +664,9 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method", "aws:cdk:cloudformation:props": { - "httpMethod": "OPTIONS", - "resourceId": { - "Ref": "corsapitesttwitch0E3D1559" - }, - "restApiId": { - "Ref": "corsapitest8682546E" - }, "apiKeyRequired": false, "authorizationType": "NONE", + "httpMethod": "OPTIONS", "integration": { "type": "MOCK", "requestTemplates": { @@ -688,7 +682,7 @@ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'" }, "responseTemplates": { - "application/json": "#set($origin = $input.params().header.get(\"Origin\"))\n#if($origin == \"\") #set($origin = $input.params().header.get(\"origin\")) #end\n#if($origin.matches(\"https://www.test-cors.org\"))\n #set($context.responseOverride.header.Access-Control-Allow-Origin = $origin)\n#end" + "application/json": "#set($origin = $input.params().header.get(\"Origin\"))\n#if($origin == \"\") #set($origin = $input.params().header.get(\"origin\")) #end\n#if($origin == \"https://www.test-cors.org\")\n #set($context.responseOverride.header.Access-Control-Allow-Origin = $origin)\n#end" } } ] @@ -703,7 +697,13 @@ "method.response.header.Access-Control-Allow-Methods": true } } - ] + ], + "resourceId": { + "Ref": "corsapitesttwitch0E3D1559" + }, + "restApiId": { + "Ref": "corsapitest8682546E" + } } }, "constructInfo": { @@ -834,13 +834,13 @@ }, "s3Key": "c7bba0d9d477c86c6dc2adb0eb95842634a1c040dd3a66b42eec2bb604644d4f.zip" }, + "handler": "index.handler", "role": { "Fn::GetAtt": [ "handlerServiceRole187D5A5A", "Arn" ] }, - "handler": "index.handler", "runtime": "nodejs14.x" } }, @@ -890,7 +890,7 @@ "path": "cors/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "DeployAssert": { @@ -936,7 +936,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js similarity index 98% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js index 2dea6b1db90d0..c031312159a9d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js @@ -3996,7 +3996,7 @@ var require_getCanonicalQuery = __commonJS({ if (typeof value === "string") { serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).sort().reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).join("&"); + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); } } return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); @@ -4698,6 +4698,9 @@ var require_partitions = __commonJS({ "eu-west-3": { description: "Europe (Paris)" }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, "me-central-1": { description: "Middle East (UAE)" }, @@ -10393,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10413,37 +10416,37 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.382.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/client-sts": "3.387.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -10532,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10554,37 +10557,37 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-sdk-sts": "3.379.1", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -14803,7 +14806,7 @@ var require_package3 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sso", description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -14823,34 +14826,34 @@ var require_package3 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -15298,8 +15301,8 @@ var require_SSOClient = __commonJS({ var EndpointParameters_1 = require_EndpointParameters3(); var runtimeConfig_1 = require_runtimeConfig(); var SSOClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -16181,42 +16184,34 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants8 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; - exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js +var require_dist_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); var resolveClientEndpointParameters = (options) => { + var _a, _b; return { ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, defaultSigningName: "awsssooidc" }; }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json -var require_package4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports, module2) { - module2.exports = { + var package_default = { name: "@aws-sdk/client-sso-oidc", description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.386.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -16236,34 +16231,34 @@ var require_package4 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "*", + "@aws-sdk/middleware-logger": "*", + "@aws-sdk/middleware-recursion-detection": "*", + "@aws-sdk/middleware-user-agent": "*", + "@aws-sdk/types": "*", + "@aws-sdk/util-endpoints": "*", + "@aws-sdk/util-user-agent-browser": "*", + "@aws-sdk/util-user-agent-node": "*", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -16309,15 +16304,19 @@ var require_package4 = __commonJS({ directory: "clients/client-sso-oidc" } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); var p = "required"; var q = "fn"; var r = "argv"; @@ -16338,128 +16337,61 @@ var require_ruleset2 = __commonJS({ var n = [h]; var o = [i]; var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset2(); + var ruleSet = _data; var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { endpointParams, logger: context.logger }); }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO OIDC", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package4()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) }; }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js -var require_SSOOIDCClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters4(); - var runtimeConfig_1 = require_runtimeConfig2(); var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); @@ -16479,37 +16411,19 @@ var require_SSOOIDCClient = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js -var require_SSOOIDCServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_1.ServiceException { + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_5 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_6 = require_dist_cjs35(); + var smithy_client_7 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); } }; - exports.SSOOIDCServiceException = SSOOIDCServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AccessDeniedException", @@ -16524,7 +16438,7 @@ var require_models_03 = __commonJS({ } }; exports.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AuthorizationPendingException", @@ -16539,7 +16453,7 @@ var require_models_03 = __commonJS({ } }; exports.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { constructor(opts) { super({ name: "ExpiredTokenException", @@ -16554,7 +16468,7 @@ var require_models_03 = __commonJS({ } }; exports.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InternalServerException", @@ -16569,7 +16483,7 @@ var require_models_03 = __commonJS({ } }; exports.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidClientException", @@ -16584,7 +16498,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidGrantException", @@ -16598,8 +16512,7 @@ var require_models_03 = __commonJS({ this.error_description = opts.error_description; } }; - exports.InvalidGrantException = InvalidGrantException; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidRequestException", @@ -16614,7 +16527,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidScopeException", @@ -16629,7 +16542,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { constructor(opts) { super({ name: "SlowDownException", @@ -16644,7 +16557,7 @@ var require_models_03 = __commonJS({ } }; exports.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnauthorizedClientException", @@ -16659,7 +16572,7 @@ var require_models_03 = __commonJS({ } }; exports.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnsupportedGrantTypeException", @@ -16674,42 +16587,14 @@ var require_models_03 = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientMetadataException = InvalidClientMetadataException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson12 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_StartDeviceAuthorizationCommand = exports.de_RegisterClientCommand = exports.de_CreateTokenCommand = exports.se_StartDeviceAuthorizationCommand = exports.se_RegisterClientCommand = exports.se_CreateTokenCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_03(); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { "content-type": "application/json" }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { + body = JSON.stringify((0, smithy_client_6.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16717,53 +16602,7 @@ var require_Aws_restJson12 = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_CreateTokenCommand = se_CreateTokenCommand; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_RegisterClientCommand = se_RegisterClientCommand; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] + scope: (_) => (0, smithy_client_6._json)(_) })); return new protocol_http_1.HttpRequest({ protocol, @@ -16775,26 +16614,24 @@ var require_Aws_restJson12 = __commonJS({ body }); }; - exports.se_StartDeviceAuthorizationCommand = se_StartDeviceAuthorizationCommand; var de_CreateTokenCommand = async (output, context) => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_1.map)({ + const contents = (0, smithy_client_6.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accessToken: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - idToken: smithy_client_1.expectString, - refreshToken: smithy_client_1.expectString, - tokenType: smithy_client_1.expectString + const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_6.take)(data, { + accessToken: smithy_client_6.expectString, + expiresIn: smithy_client_6.expectInt32, + idToken: smithy_client_6.expectString, + refreshToken: smithy_client_6.expectString, + tokenType: smithy_client_6.expectString }); Object.assign(contents, doc); return contents; }; - exports.de_CreateTokenCommand = de_CreateTokenCommand; var de_CreateTokenCommandError = async (output, context) => { const parsedOutput = { ...output, @@ -16844,281 +16681,171 @@ var require_Aws_restJson12 = __commonJS({ }); } }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) + var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - authorizationEndpoint: smithy_client_1.expectString, - clientId: smithy_client_1.expectString, - clientIdIssuedAt: smithy_client_1.expectLong, - clientSecret: smithy_client_1.expectString, - clientSecretExpiresAt: smithy_client_1.expectLong, - tokenEndpoint: smithy_client_1.expectString + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - return contents; - }; - exports.de_RegisterClientCommand = de_RegisterClientCommand; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - deviceCode: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - interval: smithy_client_1.expectInt32, - userCode: smithy_client_1.expectString, - verificationUri: smithy_client_1.expectString, - verificationUriComplete: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_StartDeviceAuthorizationCommand = de_StartDeviceAuthorizationCommand; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOOIDCServiceException_1.SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.ExpiredTokenException({ + const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InternalServerException({ + const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientException({ + const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidGrantException({ + const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ + const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidScopeException({ + const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.SlowDownException({ + const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedClientException({ + const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnsupportedGrantTypeException({ + const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -17126,12 +16853,13 @@ var require_Aws_restJson12 = __commonJS({ return {}; }); var parseErrorBody = async (errorBody, context) => { + var _a; const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; return value; }; var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); const sanitizeErrorCode = (rawValue) => { let cleanValue = rawValue; if (typeof cleanValue === "number") { @@ -17159,131 +16887,11 @@ var require_Aws_restJson12 = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js -var require_CreateTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateTokenCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_CreateTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_CreateTokenCommand)(output, context); - } - }; - exports.CreateTokenCommand = CreateTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js -var require_RegisterClientCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RegisterClientCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { constructor(input) { super(); this.input = input; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_RegisterClientCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_RegisterClientCommand)(output, context); - } - }; - exports.RegisterClientCommand = RegisterClientCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js -var require_StartDeviceAuthorizationCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartDeviceAuthorizationCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { return { UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, @@ -17292,17 +16900,13 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } }; } - constructor(input) { - super(); - this.input = input; - } resolveMiddleware(clientStack, configuration, options) { this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); const stack = clientStack.concat(this.middlewareStack); const { logger } = configuration; const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; + const commandName = "CreateTokenCommand"; const handlerExecutionContext = { logger, clientName, @@ -17314,76 +16918,24 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); } serialize(input, context) { - return (0, Aws_restJson1_1.se_StartDeviceAuthorizationCommand)(input, context); + return se_CreateTokenCommand(input, context); } deserialize(output, context) { - return (0, Aws_restJson1_1.de_StartDeviceAuthorizationCommand)(output, context); + return de_CreateTokenCommand(output, context); } }; - exports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js -var require_SSOOIDC = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDC = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateTokenCommand_1 = require_CreateTokenCommand(); - var RegisterClientCommand_1 = require_RegisterClientCommand(); - var StartDeviceAuthorizationCommand_1 = require_StartDeviceAuthorizationCommand(); - var SSOOIDCClient_1 = require_SSOOIDCClient(); - var commands = { - CreateTokenCommand: CreateTokenCommand_1.CreateTokenCommand, - RegisterClientCommand: RegisterClientCommand_1.RegisterClientCommand, - StartDeviceAuthorizationCommand: StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient_1.SSOOIDCClient { - }; - exports.SSOOIDC = SSOOIDC; - (0, smithy_client_1.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateTokenCommand(), exports); - tslib_1.__exportStar(require_RegisterClientCommand(), exports); - tslib_1.__exportStar(require_StartDeviceAuthorizationCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports); + exports.CreateTokenCommand = CreateTokenCommand; } }); -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOOIDCClient(), exports); - tslib_1.__exportStar(require_SSOOIDC(), exports); - tslib_1.__exportStar(require_commands2(), exports); - tslib_1.__exportStar(require_models2(), exports); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - Object.defineProperty(exports, "SSOOIDCServiceException", { enumerable: true, get: function() { - return SSOOIDCServiceException_1.SSOOIDCServiceException; - } }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; } }); @@ -17393,13 +16945,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -17413,11 +16965,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({ + return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17597,11 +17149,12 @@ var require_nodeProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ +var require_dist_cjs47 = __commonJS({ "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_dist_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); @@ -17615,7 +17168,7 @@ var require_resolveSSOCredentials = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSSOCredentials = void 0; var client_sso_1 = require_dist_cjs46(); - var token_providers_1 = require_dist_cjs48(); + var token_providers_1 = require_dist_cjs47(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; @@ -17757,7 +17310,7 @@ var require_types7 = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ +var require_dist_cjs48 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17775,8 +17328,8 @@ var require_resolveSsoCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSsoCredentials = exports.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_sso_2 = require_dist_cjs49(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { return credential_provider_sso_2.isSsoProfile; } }); @@ -17869,7 +17422,7 @@ var require_fromTokenFile = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ +var require_dist_cjs49 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17885,7 +17438,7 @@ var require_resolveWebIdentityCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; exports.isWebIdentityProfile = isWebIdentityProfile; var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ @@ -17953,7 +17506,7 @@ var require_fromIni = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ +var require_dist_cjs50 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17993,10 +17546,10 @@ var require_defaultProvider = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultProvider = void 0; var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_ini_1 = require_dist_cjs51(); + var credential_provider_ini_1 = require_dist_cjs50(); var credential_provider_process_1 = require_dist_cjs41(); - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var remoteProvider_1 = require_remoteProvider(); @@ -18008,7 +17561,7 @@ var require_defaultProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ +var require_dist_cjs51 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18018,7 +17571,7 @@ var require_dist_cjs52 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset3 = __commonJS({ +var require_ruleset2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18065,13 +17618,13 @@ var require_ruleset3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver3 = __commonJS({ +var require_endpointResolver2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset3(); + var ruleset_1 = require_ruleset2(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18083,7 +17636,7 @@ var require_endpointResolver3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared3 = __commonJS({ +var require_runtimeConfig_shared2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18092,7 +17645,7 @@ var require_runtimeConfig_shared3 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver3(); + var endpointResolver_1 = require_endpointResolver2(); var getRuntimeConfig = (config) => ({ apiVersion: "2011-06-15", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18110,7 +17663,7 @@ var require_runtimeConfig_shared3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig3 = __commonJS({ +var require_runtimeConfig2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18118,7 +17671,7 @@ var require_runtimeConfig3 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package2()); var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18127,7 +17680,7 @@ var require_runtimeConfig3 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18181,10 +17734,10 @@ var require_STSClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig3(); + var runtimeConfig_1 = require_runtimeConfig2(); var STSClient = class _STSClient extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18586,7 +18139,7 @@ var require_STS = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ +var require_commands2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18603,7 +18156,7 @@ var require_commands3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models3 = __commonJS({ +var require_models2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18647,7 +18200,7 @@ var require_defaultRoleAssumers = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ +var require_dist_cjs52 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18655,8 +18208,8 @@ var require_dist_cjs53 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_STSClient(), exports); tslib_1.__exportStar(require_STS(), exports); - tslib_1.__exportStar(require_commands3(), exports); - tslib_1.__exportStar(require_models3(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); tslib_1.__exportStar(require_defaultRoleAssumers(), exports); var STSServiceException_1 = require_STSServiceException(); Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { @@ -18666,7 +18219,7 @@ var require_dist_cjs53 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js -var require_ruleset4 = __commonJS({ +var require_ruleset3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18698,13 +18251,13 @@ var require_ruleset4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver4 = __commonJS({ +var require_endpointResolver3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset4(); + var ruleset_1 = require_ruleset3(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18716,7 +18269,7 @@ var require_endpointResolver4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared4 = __commonJS({ +var require_runtimeConfig_shared3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18725,7 +18278,7 @@ var require_runtimeConfig_shared4 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver4(); + var endpointResolver_1 = require_endpointResolver3(); var getRuntimeConfig = (config) => ({ apiVersion: "2016-11-23", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18743,15 +18296,15 @@ var require_runtimeConfig_shared4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js -var require_runtimeConfig4 = __commonJS({ +var require_runtimeConfig3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs53(); - var credential_provider_node_1 = require_dist_cjs52(); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18760,7 +18313,7 @@ var require_runtimeConfig4 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18814,10 +18367,10 @@ var require_SFNClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters(); - var runtimeConfig_1 = require_runtimeConfig4(); + var runtimeConfig_1 = require_runtimeConfig3(); var SFNClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18864,7 +18417,7 @@ var require_SFNServiceException = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_04 = __commonJS({ +var require_models_03 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -19660,7 +19213,7 @@ var require_Aws_json1_0 = __commonJS({ exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; var protocol_http_1 = require_dist_cjs2(); var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var SFNServiceException_1 = require_SFNServiceException(); var se_CreateActivityCommand = async (input, context) => { const headers = sharedHeaders("CreateActivity"); @@ -22023,7 +21576,7 @@ var require_CreateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22078,7 +21631,7 @@ var require_CreateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22403,7 +21956,7 @@ var require_DescribeExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22512,7 +22065,7 @@ var require_DescribeStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22567,7 +22120,7 @@ var require_DescribeStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22622,7 +22175,7 @@ var require_DescribeStateMachineForExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22677,7 +22230,7 @@ var require_GetActivityTaskCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22732,7 +22285,7 @@ var require_GetExecutionHistoryCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23165,7 +22718,7 @@ var require_PublishStateMachineVersionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23220,7 +22773,7 @@ var require_SendTaskFailureCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23329,7 +22882,7 @@ var require_SendTaskSuccessCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23384,7 +22937,7 @@ var require_StartExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23439,7 +22992,7 @@ var require_StartSyncExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23494,7 +23047,7 @@ var require_StopExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23711,7 +23264,7 @@ var require_UpdateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23766,7 +23319,7 @@ var require_UpdateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23895,7 +23448,7 @@ var require_SFN = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands4 = __commonJS({ +var require_commands3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24131,17 +23684,17 @@ var require_pagination4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models4 = __commonJS({ +var require_models3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_04(), exports); + tslib_1.__exportStar(require_models_03(), exports); } }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ +var require_dist_cjs53 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24149,9 +23702,9 @@ var require_dist_cjs54 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_SFNClient(), exports); tslib_1.__exportStar(require_SFN(), exports); - tslib_1.__exportStar(require_commands4(), exports); + tslib_1.__exportStar(require_commands3(), exports); tslib_1.__exportStar(require_pagination4(), exports); - tslib_1.__exportStar(require_models4(), exports); + tslib_1.__exportStar(require_models3(), exports); var SFNServiceException_1 = require_SFNServiceException(); Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { return SFNServiceException_1.SFNServiceException; @@ -31423,7 +30976,7 @@ var import_helpers_internal = __toESM(require_helpers_internal()); // lib/assertions/providers/lambda-handler/base.ts var https = __toESM(require("https")); var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs54()); +var import_client_sfn = __toESM(require_dist_cjs53()); var CustomResourceHandler = class { constructor(event, context) { this.event = event; diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js index 06a9f2e41c15d..1b662725f1b0b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -657,11 +657,11 @@ async function loadAwsSdk(packageName, installLatestAwsSdk) { let awsSdk; try { if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); try { + installLatestSdk(packageName); awsSdk = require(`/tmp/node_modules/${packageName}`); } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); return require(packageName); } } else if (installedSdk[packageName]) { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.assets.json index 2e0ca14fb0591..109fc49055762 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.assets.json @@ -1,15 +1,15 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -27,7 +27,7 @@ } } }, - "b3b606cefe71073237889e56b60183bc4d3604be102a4094c61d39418e8baf55": { + "a4abeaa129dc6ad5ea942859fb3378b4ca6fac422104feb34fd11fb90a19c39c": { "source": { "path": "integ-cognito.template.json", "packaging": "file" @@ -35,7 +35,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "b3b606cefe71073237889e56b60183bc4d3604be102a4094c61d39418e8baf55.json", + "objectKey": "a4abeaa129dc6ad5ea942859fb3378b4ca6fac422104feb34fd11fb90a19c39c.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.template.json index 704b7e867404e..56ea2c7cf2ed9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integ-cognito.template.json @@ -827,7 +827,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json index c47c5178ffe78..8d0698c189ae9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "264f9707056e689838d89bf94551da40587925f87c4d66da3c1c7c4456cea376": { + "0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33": { "source": { "path": "integtestcognitoDefaultTestDeployAssert6F2623C9.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "264f9707056e689838d89bf94551da40587925f87c4d66da3c1c7c4456cea376.json", + "objectKey": "0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json index 9ce6a85c62db4..e5b02b43cd732 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json @@ -27,7 +27,7 @@ } }, "flattenResponse": "false", - "salt": "1691094680851" + "salt": "1691687466127" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -127,7 +127,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json index 8ada5fa28e31f..da113a5c6f440 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b3b606cefe71073237889e56b60183bc4d3604be102a4094c61d39418e8baf55.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a4abeaa129dc6ad5ea942859fb3378b4ca6fac422104feb34fd11fb90a19c39c.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -316,7 +316,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/264f9707056e689838d89bf94551da40587925f87c4d66da3c1c7c4456cea376.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/tree.json index fff76b25186a6..846fa02dbe5d7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/tree.json @@ -1362,7 +1362,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json index f5f44ada9af2d..2caf1f2b53cc1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json @@ -14,15 +14,15 @@ } } }, - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -40,7 +40,7 @@ } } }, - "9b4bd7a8cf0d74c9945357e25ec48111bdade40d95b5e1244c13c3955cdbe2da": { + "32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf": { "source": { "path": "IntegAlbOidc.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9b4bd7a8cf0d74c9945357e25ec48111bdade40d95b5e1244c13c3955cdbe2da.json", + "objectKey": "32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json index d40d648899eaa..8cccb0e4ebc30 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json @@ -895,7 +895,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json index 8e784234efb73..24dd912974267 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "cc8db13ffab6aa450abe74c0cfdad2224fb9dde578b72e06802957b9bfd34572": { + "5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4": { "source": { "path": "IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "cc8db13ffab6aa450abe74c0cfdad2224fb9dde578b72e06802957b9bfd34572.json", + "objectKey": "5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json index 115f81a7a19cc..1b02a16d4e08a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json @@ -27,7 +27,7 @@ } }, "flattenResponse": "false", - "salt": "1691094680886" + "salt": "1691687466534" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -127,7 +127,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js similarity index 98% rename from packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js index 2dea6b1db90d0..c031312159a9d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js @@ -3996,7 +3996,7 @@ var require_getCanonicalQuery = __commonJS({ if (typeof value === "string") { serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).sort().reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).join("&"); + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); } } return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); @@ -4698,6 +4698,9 @@ var require_partitions = __commonJS({ "eu-west-3": { description: "Europe (Paris)" }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, "me-central-1": { description: "Middle East (UAE)" }, @@ -10393,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10413,37 +10416,37 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.382.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/client-sts": "3.387.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -10532,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10554,37 +10557,37 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-sdk-sts": "3.379.1", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -14803,7 +14806,7 @@ var require_package3 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sso", description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -14823,34 +14826,34 @@ var require_package3 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -15298,8 +15301,8 @@ var require_SSOClient = __commonJS({ var EndpointParameters_1 = require_EndpointParameters3(); var runtimeConfig_1 = require_runtimeConfig(); var SSOClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -16181,42 +16184,34 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants8 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; - exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js +var require_dist_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); var resolveClientEndpointParameters = (options) => { + var _a, _b; return { ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, defaultSigningName: "awsssooidc" }; }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json -var require_package4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports, module2) { - module2.exports = { + var package_default = { name: "@aws-sdk/client-sso-oidc", description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.386.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -16236,34 +16231,34 @@ var require_package4 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "*", + "@aws-sdk/middleware-logger": "*", + "@aws-sdk/middleware-recursion-detection": "*", + "@aws-sdk/middleware-user-agent": "*", + "@aws-sdk/types": "*", + "@aws-sdk/util-endpoints": "*", + "@aws-sdk/util-user-agent-browser": "*", + "@aws-sdk/util-user-agent-node": "*", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -16309,15 +16304,19 @@ var require_package4 = __commonJS({ directory: "clients/client-sso-oidc" } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); var p = "required"; var q = "fn"; var r = "argv"; @@ -16338,128 +16337,61 @@ var require_ruleset2 = __commonJS({ var n = [h]; var o = [i]; var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset2(); + var ruleSet = _data; var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { endpointParams, logger: context.logger }); }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO OIDC", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package4()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) }; }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js -var require_SSOOIDCClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters4(); - var runtimeConfig_1 = require_runtimeConfig2(); var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); @@ -16479,37 +16411,19 @@ var require_SSOOIDCClient = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js -var require_SSOOIDCServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_1.ServiceException { + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_5 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_6 = require_dist_cjs35(); + var smithy_client_7 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); } }; - exports.SSOOIDCServiceException = SSOOIDCServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AccessDeniedException", @@ -16524,7 +16438,7 @@ var require_models_03 = __commonJS({ } }; exports.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AuthorizationPendingException", @@ -16539,7 +16453,7 @@ var require_models_03 = __commonJS({ } }; exports.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { constructor(opts) { super({ name: "ExpiredTokenException", @@ -16554,7 +16468,7 @@ var require_models_03 = __commonJS({ } }; exports.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InternalServerException", @@ -16569,7 +16483,7 @@ var require_models_03 = __commonJS({ } }; exports.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidClientException", @@ -16584,7 +16498,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidGrantException", @@ -16598,8 +16512,7 @@ var require_models_03 = __commonJS({ this.error_description = opts.error_description; } }; - exports.InvalidGrantException = InvalidGrantException; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidRequestException", @@ -16614,7 +16527,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidScopeException", @@ -16629,7 +16542,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { constructor(opts) { super({ name: "SlowDownException", @@ -16644,7 +16557,7 @@ var require_models_03 = __commonJS({ } }; exports.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnauthorizedClientException", @@ -16659,7 +16572,7 @@ var require_models_03 = __commonJS({ } }; exports.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnsupportedGrantTypeException", @@ -16674,42 +16587,14 @@ var require_models_03 = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientMetadataException = InvalidClientMetadataException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson12 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_StartDeviceAuthorizationCommand = exports.de_RegisterClientCommand = exports.de_CreateTokenCommand = exports.se_StartDeviceAuthorizationCommand = exports.se_RegisterClientCommand = exports.se_CreateTokenCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_03(); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { "content-type": "application/json" }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { + body = JSON.stringify((0, smithy_client_6.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16717,53 +16602,7 @@ var require_Aws_restJson12 = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_CreateTokenCommand = se_CreateTokenCommand; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_RegisterClientCommand = se_RegisterClientCommand; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] + scope: (_) => (0, smithy_client_6._json)(_) })); return new protocol_http_1.HttpRequest({ protocol, @@ -16775,26 +16614,24 @@ var require_Aws_restJson12 = __commonJS({ body }); }; - exports.se_StartDeviceAuthorizationCommand = se_StartDeviceAuthorizationCommand; var de_CreateTokenCommand = async (output, context) => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_1.map)({ + const contents = (0, smithy_client_6.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accessToken: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - idToken: smithy_client_1.expectString, - refreshToken: smithy_client_1.expectString, - tokenType: smithy_client_1.expectString + const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_6.take)(data, { + accessToken: smithy_client_6.expectString, + expiresIn: smithy_client_6.expectInt32, + idToken: smithy_client_6.expectString, + refreshToken: smithy_client_6.expectString, + tokenType: smithy_client_6.expectString }); Object.assign(contents, doc); return contents; }; - exports.de_CreateTokenCommand = de_CreateTokenCommand; var de_CreateTokenCommandError = async (output, context) => { const parsedOutput = { ...output, @@ -16844,281 +16681,171 @@ var require_Aws_restJson12 = __commonJS({ }); } }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) + var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - authorizationEndpoint: smithy_client_1.expectString, - clientId: smithy_client_1.expectString, - clientIdIssuedAt: smithy_client_1.expectLong, - clientSecret: smithy_client_1.expectString, - clientSecretExpiresAt: smithy_client_1.expectLong, - tokenEndpoint: smithy_client_1.expectString + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - return contents; - }; - exports.de_RegisterClientCommand = de_RegisterClientCommand; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - deviceCode: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - interval: smithy_client_1.expectInt32, - userCode: smithy_client_1.expectString, - verificationUri: smithy_client_1.expectString, - verificationUriComplete: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_StartDeviceAuthorizationCommand = de_StartDeviceAuthorizationCommand; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOOIDCServiceException_1.SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.ExpiredTokenException({ + const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InternalServerException({ + const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientException({ + const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidGrantException({ + const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ + const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidScopeException({ + const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.SlowDownException({ + const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedClientException({ + const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnsupportedGrantTypeException({ + const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -17126,12 +16853,13 @@ var require_Aws_restJson12 = __commonJS({ return {}; }); var parseErrorBody = async (errorBody, context) => { + var _a; const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; return value; }; var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); const sanitizeErrorCode = (rawValue) => { let cleanValue = rawValue; if (typeof cleanValue === "number") { @@ -17159,131 +16887,11 @@ var require_Aws_restJson12 = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js -var require_CreateTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateTokenCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_CreateTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_CreateTokenCommand)(output, context); - } - }; - exports.CreateTokenCommand = CreateTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js -var require_RegisterClientCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RegisterClientCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { constructor(input) { super(); this.input = input; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_RegisterClientCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_RegisterClientCommand)(output, context); - } - }; - exports.RegisterClientCommand = RegisterClientCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js -var require_StartDeviceAuthorizationCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartDeviceAuthorizationCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { return { UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, @@ -17292,17 +16900,13 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } }; } - constructor(input) { - super(); - this.input = input; - } resolveMiddleware(clientStack, configuration, options) { this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); const stack = clientStack.concat(this.middlewareStack); const { logger } = configuration; const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; + const commandName = "CreateTokenCommand"; const handlerExecutionContext = { logger, clientName, @@ -17314,76 +16918,24 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); } serialize(input, context) { - return (0, Aws_restJson1_1.se_StartDeviceAuthorizationCommand)(input, context); + return se_CreateTokenCommand(input, context); } deserialize(output, context) { - return (0, Aws_restJson1_1.de_StartDeviceAuthorizationCommand)(output, context); + return de_CreateTokenCommand(output, context); } }; - exports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js -var require_SSOOIDC = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDC = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateTokenCommand_1 = require_CreateTokenCommand(); - var RegisterClientCommand_1 = require_RegisterClientCommand(); - var StartDeviceAuthorizationCommand_1 = require_StartDeviceAuthorizationCommand(); - var SSOOIDCClient_1 = require_SSOOIDCClient(); - var commands = { - CreateTokenCommand: CreateTokenCommand_1.CreateTokenCommand, - RegisterClientCommand: RegisterClientCommand_1.RegisterClientCommand, - StartDeviceAuthorizationCommand: StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient_1.SSOOIDCClient { - }; - exports.SSOOIDC = SSOOIDC; - (0, smithy_client_1.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateTokenCommand(), exports); - tslib_1.__exportStar(require_RegisterClientCommand(), exports); - tslib_1.__exportStar(require_StartDeviceAuthorizationCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports); + exports.CreateTokenCommand = CreateTokenCommand; } }); -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOOIDCClient(), exports); - tslib_1.__exportStar(require_SSOOIDC(), exports); - tslib_1.__exportStar(require_commands2(), exports); - tslib_1.__exportStar(require_models2(), exports); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - Object.defineProperty(exports, "SSOOIDCServiceException", { enumerable: true, get: function() { - return SSOOIDCServiceException_1.SSOOIDCServiceException; - } }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; } }); @@ -17393,13 +16945,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -17413,11 +16965,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({ + return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17597,11 +17149,12 @@ var require_nodeProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ +var require_dist_cjs47 = __commonJS({ "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_dist_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); @@ -17615,7 +17168,7 @@ var require_resolveSSOCredentials = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSSOCredentials = void 0; var client_sso_1 = require_dist_cjs46(); - var token_providers_1 = require_dist_cjs48(); + var token_providers_1 = require_dist_cjs47(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; @@ -17757,7 +17310,7 @@ var require_types7 = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ +var require_dist_cjs48 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17775,8 +17328,8 @@ var require_resolveSsoCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSsoCredentials = exports.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_sso_2 = require_dist_cjs49(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { return credential_provider_sso_2.isSsoProfile; } }); @@ -17869,7 +17422,7 @@ var require_fromTokenFile = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ +var require_dist_cjs49 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17885,7 +17438,7 @@ var require_resolveWebIdentityCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; exports.isWebIdentityProfile = isWebIdentityProfile; var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ @@ -17953,7 +17506,7 @@ var require_fromIni = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ +var require_dist_cjs50 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17993,10 +17546,10 @@ var require_defaultProvider = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultProvider = void 0; var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_ini_1 = require_dist_cjs51(); + var credential_provider_ini_1 = require_dist_cjs50(); var credential_provider_process_1 = require_dist_cjs41(); - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var remoteProvider_1 = require_remoteProvider(); @@ -18008,7 +17561,7 @@ var require_defaultProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ +var require_dist_cjs51 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18018,7 +17571,7 @@ var require_dist_cjs52 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset3 = __commonJS({ +var require_ruleset2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18065,13 +17618,13 @@ var require_ruleset3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver3 = __commonJS({ +var require_endpointResolver2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset3(); + var ruleset_1 = require_ruleset2(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18083,7 +17636,7 @@ var require_endpointResolver3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared3 = __commonJS({ +var require_runtimeConfig_shared2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18092,7 +17645,7 @@ var require_runtimeConfig_shared3 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver3(); + var endpointResolver_1 = require_endpointResolver2(); var getRuntimeConfig = (config) => ({ apiVersion: "2011-06-15", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18110,7 +17663,7 @@ var require_runtimeConfig_shared3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig3 = __commonJS({ +var require_runtimeConfig2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18118,7 +17671,7 @@ var require_runtimeConfig3 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package2()); var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18127,7 +17680,7 @@ var require_runtimeConfig3 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18181,10 +17734,10 @@ var require_STSClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig3(); + var runtimeConfig_1 = require_runtimeConfig2(); var STSClient = class _STSClient extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18586,7 +18139,7 @@ var require_STS = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ +var require_commands2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18603,7 +18156,7 @@ var require_commands3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models3 = __commonJS({ +var require_models2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18647,7 +18200,7 @@ var require_defaultRoleAssumers = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ +var require_dist_cjs52 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18655,8 +18208,8 @@ var require_dist_cjs53 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_STSClient(), exports); tslib_1.__exportStar(require_STS(), exports); - tslib_1.__exportStar(require_commands3(), exports); - tslib_1.__exportStar(require_models3(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); tslib_1.__exportStar(require_defaultRoleAssumers(), exports); var STSServiceException_1 = require_STSServiceException(); Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { @@ -18666,7 +18219,7 @@ var require_dist_cjs53 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js -var require_ruleset4 = __commonJS({ +var require_ruleset3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18698,13 +18251,13 @@ var require_ruleset4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver4 = __commonJS({ +var require_endpointResolver3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset4(); + var ruleset_1 = require_ruleset3(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18716,7 +18269,7 @@ var require_endpointResolver4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared4 = __commonJS({ +var require_runtimeConfig_shared3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18725,7 +18278,7 @@ var require_runtimeConfig_shared4 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver4(); + var endpointResolver_1 = require_endpointResolver3(); var getRuntimeConfig = (config) => ({ apiVersion: "2016-11-23", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18743,15 +18296,15 @@ var require_runtimeConfig_shared4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js -var require_runtimeConfig4 = __commonJS({ +var require_runtimeConfig3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs53(); - var credential_provider_node_1 = require_dist_cjs52(); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18760,7 +18313,7 @@ var require_runtimeConfig4 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18814,10 +18367,10 @@ var require_SFNClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters(); - var runtimeConfig_1 = require_runtimeConfig4(); + var runtimeConfig_1 = require_runtimeConfig3(); var SFNClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18864,7 +18417,7 @@ var require_SFNServiceException = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_04 = __commonJS({ +var require_models_03 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -19660,7 +19213,7 @@ var require_Aws_json1_0 = __commonJS({ exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; var protocol_http_1 = require_dist_cjs2(); var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var SFNServiceException_1 = require_SFNServiceException(); var se_CreateActivityCommand = async (input, context) => { const headers = sharedHeaders("CreateActivity"); @@ -22023,7 +21576,7 @@ var require_CreateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22078,7 +21631,7 @@ var require_CreateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22403,7 +21956,7 @@ var require_DescribeExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22512,7 +22065,7 @@ var require_DescribeStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22567,7 +22120,7 @@ var require_DescribeStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22622,7 +22175,7 @@ var require_DescribeStateMachineForExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22677,7 +22230,7 @@ var require_GetActivityTaskCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22732,7 +22285,7 @@ var require_GetExecutionHistoryCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23165,7 +22718,7 @@ var require_PublishStateMachineVersionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23220,7 +22773,7 @@ var require_SendTaskFailureCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23329,7 +22882,7 @@ var require_SendTaskSuccessCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23384,7 +22937,7 @@ var require_StartExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23439,7 +22992,7 @@ var require_StartSyncExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23494,7 +23047,7 @@ var require_StopExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23711,7 +23264,7 @@ var require_UpdateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23766,7 +23319,7 @@ var require_UpdateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23895,7 +23448,7 @@ var require_SFN = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands4 = __commonJS({ +var require_commands3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24131,17 +23684,17 @@ var require_pagination4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models4 = __commonJS({ +var require_models3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_04(), exports); + tslib_1.__exportStar(require_models_03(), exports); } }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ +var require_dist_cjs53 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24149,9 +23702,9 @@ var require_dist_cjs54 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_SFNClient(), exports); tslib_1.__exportStar(require_SFN(), exports); - tslib_1.__exportStar(require_commands4(), exports); + tslib_1.__exportStar(require_commands3(), exports); tslib_1.__exportStar(require_pagination4(), exports); - tslib_1.__exportStar(require_models4(), exports); + tslib_1.__exportStar(require_models3(), exports); var SFNServiceException_1 = require_SFNServiceException(); Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { return SFNServiceException_1.SFNServiceException; @@ -31423,7 +30976,7 @@ var import_helpers_internal = __toESM(require_helpers_internal()); // lib/assertions/providers/lambda-handler/base.ts var https = __toESM(require("https")); var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs54()); +var import_client_sfn = __toESM(require_dist_cjs53()); var CustomResourceHandler = class { constructor(event, context) { this.event = event; diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js index 06a9f2e41c15d..1b662725f1b0b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -657,11 +657,11 @@ async function loadAwsSdk(packageName, installLatestAwsSdk) { let awsSdk; try { if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); try { + installLatestSdk(packageName); awsSdk = require(`/tmp/node_modules/${packageName}`); } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); return require(packageName); } } else if (installedSdk[packageName]) { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json index 97fd95c8af638..70bcab734c7e4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9b4bd7a8cf0d74c9945357e25ec48111bdade40d95b5e1244c13c3955cdbe2da.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -334,7 +334,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/cc8db13ffab6aa450abe74c0cfdad2224fb9dde578b72e06802957b9bfd34572.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/tree.json index b1fbd30452a0c..66bf4f686424d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/tree.json @@ -1265,7 +1265,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js index 06a9f2e41c15d..1b662725f1b0b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -657,11 +657,11 @@ async function loadAwsSdk(packageName, installLatestAwsSdk) { let awsSdk; try { if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); try { + installLatestSdk(packageName); awsSdk = require(`/tmp/node_modules/${packageName}`); } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); return require(packageName); } } else if (installedSdk[packageName]) { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json index fc9477ab2e7cb..3f4c95a3b8c8f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "b5d2d29293748a3d6d2bb830807b25cf40b19e6ea69ca8f52192eb975dca9851": { + "970be226058fcc5e3ea0e33edf03d33a5acaa0555046c88841788a8a2d6d070a": { "source": { "path": "cdk-integ-elasticsearch-custom-kms-key.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "b5d2d29293748a3d6d2bb830807b25cf40b19e6ea69ca8f52192eb975dca9851.json", + "objectKey": "970be226058fcc5e3ea0e33edf03d33a5acaa0555046c88841788a8a2d6d070a.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.template.json index d63469e507404..49fcc02c368a6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/cdk-integ-elasticsearch-custom-kms-key.template.json @@ -355,7 +355,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/manifest.json index a72a019085f0a..fe7ff8b362fd1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b5d2d29293748a3d6d2bb830807b25cf40b19e6ea69ca8f52192eb975dca9851.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/970be226058fcc5e3ea0e33edf03d33a5acaa0555046c88841788a8a2d6d070a.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/tree.json index 2922292e8ed17..47d8e46e930ae 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.custom-kms-key.js.snapshot/tree.json @@ -481,7 +481,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js index 06a9f2e41c15d..1b662725f1b0b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -657,11 +657,11 @@ async function loadAwsSdk(packageName, installLatestAwsSdk) { let awsSdk; try { if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); try { + installLatestSdk(packageName); awsSdk = require(`/tmp/node_modules/${packageName}`); } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); return require(packageName); } } else if (installedSdk[packageName]) { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.assets.json index 7df350b5a03dc..393af1005234e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "929460a722e73cd7034cb20e2cde77d82d87a18e744b3b5df9d9231c0b0db1d9": { + "71c5510ca40271f6d68ae02b24bd509584eb7ac75a5ec1f0aea86ec19c34496a": { "source": { "path": "cdk-integ-elasticsearch-unsignedbasicauth.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "929460a722e73cd7034cb20e2cde77d82d87a18e744b3b5df9d9231c0b0db1d9.json", + "objectKey": "71c5510ca40271f6d68ae02b24bd509584eb7ac75a5ec1f0aea86ec19c34496a.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.template.json index 686c091e28744..d374d5d606b6b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/cdk-integ-elasticsearch-unsignedbasicauth.template.json @@ -191,7 +191,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/manifest.json index f581c9586cfa9..71913886117ce 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/929460a722e73cd7034cb20e2cde77d82d87a18e744b3b5df9d9231c0b0db1d9.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/71c5510ca40271f6d68ae02b24bd509584eb7ac75a5ec1f0aea86ec19c34496a.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/tree.json index 552d7a059c267..f5e5ed2d46c11 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticsearch/test/integ.elasticsearch.unsignedbasicauth.js.snapshot/tree.json @@ -281,7 +281,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json index 7113da36ad57e..b638f4eec9779 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "8e34780e9b4a5039a37625613979d641ef2fe7de61a7274c6cf7bc8e19dd5e9a": { + "bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6": { "source": { "path": "LogGroupDefaultTestDeployAssert353EE07A.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "8e34780e9b4a5039a37625613979d641ef2fe7de61a7274c6cf7bc8e19dd5e9a.json", + "objectKey": "bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json index 46ba6349eff53..160155ff9baea 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json @@ -1,6 +1,6 @@ { "Resources": { - "AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db": { + "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793": { "Type": "Custom::DeployAssert@SdkCallEventBridgeputEvents", "Properties": { "ServiceToken": { @@ -12,10 +12,10 @@ "service": "EventBridge", "api": "putEvents", "parameters": { - "Entries": "[{\"Detail\":\"{\\\"date\\\":\\\"abc1691101107797\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-integ\"}]" + "Entries": "[{\"Detail\":\"{\\\"date\\\":\\\"abc1691687464813\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-integ\"}]" }, "flattenResponse": "false", - "salt": "1691101107817" + "salt": "1691687464822" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -87,7 +87,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -99,7 +99,7 @@ } } }, - "AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc": { + "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { "Type": "Custom::DeployAssert@SdkCallCloudWatchLogsfilterLogEvents", "Properties": { "ServiceToken": { @@ -110,7 +110,7 @@ }, "service": "CloudWatchLogs", "api": "filterLogEvents", - "expected": "{\"$StringLike\":\"abc1691101107797\"}", + "expected": "{\"$StringLike\":\"abc1691687464813\"}", "actualPath": "events.0.message", "parameters": { "logGroupName": { @@ -125,27 +125,27 @@ ] ] }, - "startTime": "1691101107797", + "startTime": "1691687464813", "limit": "1" }, "flattenResponse": "true", "outputPaths": [ "events.0.message" ], - "salt": "1691101107818" + "salt": "1691687464823" }, "DependsOn": [ - "AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db" + "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793" ], "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" } }, "Outputs": { - "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc": { + "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { "Value": { "Fn::GetAtt": [ - "AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc", + "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", "assertion" ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js similarity index 98% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js index 2dea6b1db90d0..c031312159a9d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js @@ -3996,7 +3996,7 @@ var require_getCanonicalQuery = __commonJS({ if (typeof value === "string") { serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).sort().reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).join("&"); + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); } } return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); @@ -4698,6 +4698,9 @@ var require_partitions = __commonJS({ "eu-west-3": { description: "Europe (Paris)" }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, "me-central-1": { description: "Middle East (UAE)" }, @@ -10393,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10413,37 +10416,37 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.382.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/client-sts": "3.387.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -10532,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10554,37 +10557,37 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-sdk-sts": "3.379.1", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -14803,7 +14806,7 @@ var require_package3 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sso", description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -14823,34 +14826,34 @@ var require_package3 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -15298,8 +15301,8 @@ var require_SSOClient = __commonJS({ var EndpointParameters_1 = require_EndpointParameters3(); var runtimeConfig_1 = require_runtimeConfig(); var SSOClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -16181,42 +16184,34 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants8 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; - exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js +var require_dist_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); var resolveClientEndpointParameters = (options) => { + var _a, _b; return { ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, defaultSigningName: "awsssooidc" }; }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json -var require_package4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports, module2) { - module2.exports = { + var package_default = { name: "@aws-sdk/client-sso-oidc", description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.386.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -16236,34 +16231,34 @@ var require_package4 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "*", + "@aws-sdk/middleware-logger": "*", + "@aws-sdk/middleware-recursion-detection": "*", + "@aws-sdk/middleware-user-agent": "*", + "@aws-sdk/types": "*", + "@aws-sdk/util-endpoints": "*", + "@aws-sdk/util-user-agent-browser": "*", + "@aws-sdk/util-user-agent-node": "*", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -16309,15 +16304,19 @@ var require_package4 = __commonJS({ directory: "clients/client-sso-oidc" } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); var p = "required"; var q = "fn"; var r = "argv"; @@ -16338,128 +16337,61 @@ var require_ruleset2 = __commonJS({ var n = [h]; var o = [i]; var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset2(); + var ruleSet = _data; var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { endpointParams, logger: context.logger }); }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO OIDC", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package4()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) }; }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js -var require_SSOOIDCClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters4(); - var runtimeConfig_1 = require_runtimeConfig2(); var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); @@ -16479,37 +16411,19 @@ var require_SSOOIDCClient = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js -var require_SSOOIDCServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_1.ServiceException { + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_5 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_6 = require_dist_cjs35(); + var smithy_client_7 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); } }; - exports.SSOOIDCServiceException = SSOOIDCServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AccessDeniedException", @@ -16524,7 +16438,7 @@ var require_models_03 = __commonJS({ } }; exports.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AuthorizationPendingException", @@ -16539,7 +16453,7 @@ var require_models_03 = __commonJS({ } }; exports.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { constructor(opts) { super({ name: "ExpiredTokenException", @@ -16554,7 +16468,7 @@ var require_models_03 = __commonJS({ } }; exports.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InternalServerException", @@ -16569,7 +16483,7 @@ var require_models_03 = __commonJS({ } }; exports.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidClientException", @@ -16584,7 +16498,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidGrantException", @@ -16598,8 +16512,7 @@ var require_models_03 = __commonJS({ this.error_description = opts.error_description; } }; - exports.InvalidGrantException = InvalidGrantException; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidRequestException", @@ -16614,7 +16527,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidScopeException", @@ -16629,7 +16542,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { constructor(opts) { super({ name: "SlowDownException", @@ -16644,7 +16557,7 @@ var require_models_03 = __commonJS({ } }; exports.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnauthorizedClientException", @@ -16659,7 +16572,7 @@ var require_models_03 = __commonJS({ } }; exports.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnsupportedGrantTypeException", @@ -16674,42 +16587,14 @@ var require_models_03 = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientMetadataException = InvalidClientMetadataException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson12 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_StartDeviceAuthorizationCommand = exports.de_RegisterClientCommand = exports.de_CreateTokenCommand = exports.se_StartDeviceAuthorizationCommand = exports.se_RegisterClientCommand = exports.se_CreateTokenCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_03(); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { "content-type": "application/json" }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { + body = JSON.stringify((0, smithy_client_6.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16717,53 +16602,7 @@ var require_Aws_restJson12 = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_CreateTokenCommand = se_CreateTokenCommand; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_RegisterClientCommand = se_RegisterClientCommand; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] + scope: (_) => (0, smithy_client_6._json)(_) })); return new protocol_http_1.HttpRequest({ protocol, @@ -16775,26 +16614,24 @@ var require_Aws_restJson12 = __commonJS({ body }); }; - exports.se_StartDeviceAuthorizationCommand = se_StartDeviceAuthorizationCommand; var de_CreateTokenCommand = async (output, context) => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_1.map)({ + const contents = (0, smithy_client_6.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accessToken: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - idToken: smithy_client_1.expectString, - refreshToken: smithy_client_1.expectString, - tokenType: smithy_client_1.expectString + const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_6.take)(data, { + accessToken: smithy_client_6.expectString, + expiresIn: smithy_client_6.expectInt32, + idToken: smithy_client_6.expectString, + refreshToken: smithy_client_6.expectString, + tokenType: smithy_client_6.expectString }); Object.assign(contents, doc); return contents; }; - exports.de_CreateTokenCommand = de_CreateTokenCommand; var de_CreateTokenCommandError = async (output, context) => { const parsedOutput = { ...output, @@ -16844,281 +16681,171 @@ var require_Aws_restJson12 = __commonJS({ }); } }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) + var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - authorizationEndpoint: smithy_client_1.expectString, - clientId: smithy_client_1.expectString, - clientIdIssuedAt: smithy_client_1.expectLong, - clientSecret: smithy_client_1.expectString, - clientSecretExpiresAt: smithy_client_1.expectLong, - tokenEndpoint: smithy_client_1.expectString + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - return contents; - }; - exports.de_RegisterClientCommand = de_RegisterClientCommand; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - deviceCode: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - interval: smithy_client_1.expectInt32, - userCode: smithy_client_1.expectString, - verificationUri: smithy_client_1.expectString, - verificationUriComplete: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_StartDeviceAuthorizationCommand = de_StartDeviceAuthorizationCommand; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOOIDCServiceException_1.SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.ExpiredTokenException({ + const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InternalServerException({ + const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientException({ + const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidGrantException({ + const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ + const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidScopeException({ + const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.SlowDownException({ + const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedClientException({ + const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnsupportedGrantTypeException({ + const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -17126,12 +16853,13 @@ var require_Aws_restJson12 = __commonJS({ return {}; }); var parseErrorBody = async (errorBody, context) => { + var _a; const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; return value; }; var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); const sanitizeErrorCode = (rawValue) => { let cleanValue = rawValue; if (typeof cleanValue === "number") { @@ -17159,131 +16887,11 @@ var require_Aws_restJson12 = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js -var require_CreateTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateTokenCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_CreateTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_CreateTokenCommand)(output, context); - } - }; - exports.CreateTokenCommand = CreateTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js -var require_RegisterClientCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RegisterClientCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { constructor(input) { super(); this.input = input; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_RegisterClientCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_RegisterClientCommand)(output, context); - } - }; - exports.RegisterClientCommand = RegisterClientCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js -var require_StartDeviceAuthorizationCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartDeviceAuthorizationCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { return { UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, @@ -17292,17 +16900,13 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } }; } - constructor(input) { - super(); - this.input = input; - } resolveMiddleware(clientStack, configuration, options) { this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); const stack = clientStack.concat(this.middlewareStack); const { logger } = configuration; const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; + const commandName = "CreateTokenCommand"; const handlerExecutionContext = { logger, clientName, @@ -17314,76 +16918,24 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); } serialize(input, context) { - return (0, Aws_restJson1_1.se_StartDeviceAuthorizationCommand)(input, context); + return se_CreateTokenCommand(input, context); } deserialize(output, context) { - return (0, Aws_restJson1_1.de_StartDeviceAuthorizationCommand)(output, context); + return de_CreateTokenCommand(output, context); } }; - exports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js -var require_SSOOIDC = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDC = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateTokenCommand_1 = require_CreateTokenCommand(); - var RegisterClientCommand_1 = require_RegisterClientCommand(); - var StartDeviceAuthorizationCommand_1 = require_StartDeviceAuthorizationCommand(); - var SSOOIDCClient_1 = require_SSOOIDCClient(); - var commands = { - CreateTokenCommand: CreateTokenCommand_1.CreateTokenCommand, - RegisterClientCommand: RegisterClientCommand_1.RegisterClientCommand, - StartDeviceAuthorizationCommand: StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient_1.SSOOIDCClient { - }; - exports.SSOOIDC = SSOOIDC; - (0, smithy_client_1.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateTokenCommand(), exports); - tslib_1.__exportStar(require_RegisterClientCommand(), exports); - tslib_1.__exportStar(require_StartDeviceAuthorizationCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports); + exports.CreateTokenCommand = CreateTokenCommand; } }); -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOOIDCClient(), exports); - tslib_1.__exportStar(require_SSOOIDC(), exports); - tslib_1.__exportStar(require_commands2(), exports); - tslib_1.__exportStar(require_models2(), exports); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - Object.defineProperty(exports, "SSOOIDCServiceException", { enumerable: true, get: function() { - return SSOOIDCServiceException_1.SSOOIDCServiceException; - } }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; } }); @@ -17393,13 +16945,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -17413,11 +16965,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({ + return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17597,11 +17149,12 @@ var require_nodeProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ +var require_dist_cjs47 = __commonJS({ "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_dist_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); @@ -17615,7 +17168,7 @@ var require_resolveSSOCredentials = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSSOCredentials = void 0; var client_sso_1 = require_dist_cjs46(); - var token_providers_1 = require_dist_cjs48(); + var token_providers_1 = require_dist_cjs47(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; @@ -17757,7 +17310,7 @@ var require_types7 = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ +var require_dist_cjs48 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17775,8 +17328,8 @@ var require_resolveSsoCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSsoCredentials = exports.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_sso_2 = require_dist_cjs49(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { return credential_provider_sso_2.isSsoProfile; } }); @@ -17869,7 +17422,7 @@ var require_fromTokenFile = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ +var require_dist_cjs49 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17885,7 +17438,7 @@ var require_resolveWebIdentityCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; exports.isWebIdentityProfile = isWebIdentityProfile; var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ @@ -17953,7 +17506,7 @@ var require_fromIni = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ +var require_dist_cjs50 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17993,10 +17546,10 @@ var require_defaultProvider = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultProvider = void 0; var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_ini_1 = require_dist_cjs51(); + var credential_provider_ini_1 = require_dist_cjs50(); var credential_provider_process_1 = require_dist_cjs41(); - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var remoteProvider_1 = require_remoteProvider(); @@ -18008,7 +17561,7 @@ var require_defaultProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ +var require_dist_cjs51 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18018,7 +17571,7 @@ var require_dist_cjs52 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset3 = __commonJS({ +var require_ruleset2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18065,13 +17618,13 @@ var require_ruleset3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver3 = __commonJS({ +var require_endpointResolver2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset3(); + var ruleset_1 = require_ruleset2(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18083,7 +17636,7 @@ var require_endpointResolver3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared3 = __commonJS({ +var require_runtimeConfig_shared2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18092,7 +17645,7 @@ var require_runtimeConfig_shared3 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver3(); + var endpointResolver_1 = require_endpointResolver2(); var getRuntimeConfig = (config) => ({ apiVersion: "2011-06-15", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18110,7 +17663,7 @@ var require_runtimeConfig_shared3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig3 = __commonJS({ +var require_runtimeConfig2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18118,7 +17671,7 @@ var require_runtimeConfig3 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package2()); var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18127,7 +17680,7 @@ var require_runtimeConfig3 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18181,10 +17734,10 @@ var require_STSClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig3(); + var runtimeConfig_1 = require_runtimeConfig2(); var STSClient = class _STSClient extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18586,7 +18139,7 @@ var require_STS = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ +var require_commands2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18603,7 +18156,7 @@ var require_commands3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models3 = __commonJS({ +var require_models2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18647,7 +18200,7 @@ var require_defaultRoleAssumers = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ +var require_dist_cjs52 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18655,8 +18208,8 @@ var require_dist_cjs53 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_STSClient(), exports); tslib_1.__exportStar(require_STS(), exports); - tslib_1.__exportStar(require_commands3(), exports); - tslib_1.__exportStar(require_models3(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); tslib_1.__exportStar(require_defaultRoleAssumers(), exports); var STSServiceException_1 = require_STSServiceException(); Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { @@ -18666,7 +18219,7 @@ var require_dist_cjs53 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js -var require_ruleset4 = __commonJS({ +var require_ruleset3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18698,13 +18251,13 @@ var require_ruleset4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver4 = __commonJS({ +var require_endpointResolver3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset4(); + var ruleset_1 = require_ruleset3(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18716,7 +18269,7 @@ var require_endpointResolver4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared4 = __commonJS({ +var require_runtimeConfig_shared3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18725,7 +18278,7 @@ var require_runtimeConfig_shared4 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver4(); + var endpointResolver_1 = require_endpointResolver3(); var getRuntimeConfig = (config) => ({ apiVersion: "2016-11-23", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18743,15 +18296,15 @@ var require_runtimeConfig_shared4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js -var require_runtimeConfig4 = __commonJS({ +var require_runtimeConfig3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs53(); - var credential_provider_node_1 = require_dist_cjs52(); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18760,7 +18313,7 @@ var require_runtimeConfig4 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18814,10 +18367,10 @@ var require_SFNClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters(); - var runtimeConfig_1 = require_runtimeConfig4(); + var runtimeConfig_1 = require_runtimeConfig3(); var SFNClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18864,7 +18417,7 @@ var require_SFNServiceException = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_04 = __commonJS({ +var require_models_03 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -19660,7 +19213,7 @@ var require_Aws_json1_0 = __commonJS({ exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; var protocol_http_1 = require_dist_cjs2(); var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var SFNServiceException_1 = require_SFNServiceException(); var se_CreateActivityCommand = async (input, context) => { const headers = sharedHeaders("CreateActivity"); @@ -22023,7 +21576,7 @@ var require_CreateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22078,7 +21631,7 @@ var require_CreateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22403,7 +21956,7 @@ var require_DescribeExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22512,7 +22065,7 @@ var require_DescribeStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22567,7 +22120,7 @@ var require_DescribeStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22622,7 +22175,7 @@ var require_DescribeStateMachineForExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22677,7 +22230,7 @@ var require_GetActivityTaskCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22732,7 +22285,7 @@ var require_GetExecutionHistoryCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23165,7 +22718,7 @@ var require_PublishStateMachineVersionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23220,7 +22773,7 @@ var require_SendTaskFailureCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23329,7 +22882,7 @@ var require_SendTaskSuccessCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23384,7 +22937,7 @@ var require_StartExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23439,7 +22992,7 @@ var require_StartSyncExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23494,7 +23047,7 @@ var require_StopExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23711,7 +23264,7 @@ var require_UpdateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23766,7 +23319,7 @@ var require_UpdateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23895,7 +23448,7 @@ var require_SFN = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands4 = __commonJS({ +var require_commands3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24131,17 +23684,17 @@ var require_pagination4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models4 = __commonJS({ +var require_models3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_04(), exports); + tslib_1.__exportStar(require_models_03(), exports); } }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ +var require_dist_cjs53 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24149,9 +23702,9 @@ var require_dist_cjs54 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_SFNClient(), exports); tslib_1.__exportStar(require_SFN(), exports); - tslib_1.__exportStar(require_commands4(), exports); + tslib_1.__exportStar(require_commands3(), exports); tslib_1.__exportStar(require_pagination4(), exports); - tslib_1.__exportStar(require_models4(), exports); + tslib_1.__exportStar(require_models3(), exports); var SFNServiceException_1 = require_SFNServiceException(); Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { return SFNServiceException_1.SFNServiceException; @@ -31423,7 +30976,7 @@ var import_helpers_internal = __toESM(require_helpers_internal()); // lib/assertions/providers/lambda-handler/base.ts var https = __toESM(require("https")); var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs54()); +var import_client_sfn = __toESM(require_dist_cjs53()); var CustomResourceHandler = class { constructor(event, context) { this.event = event; diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.assets.json index 40e25499f34c4..4a1a59325210d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "ca631bdae163a4a3f42dccfa6942e591d5fcbbe08775c3c772218159660f46a6": { + "6feea734979602727e48e034646a8a447ddc1aa154848f139a3291416ef27212": { "source": { "path": "log-group-events.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ca631bdae163a4a3f42dccfa6942e591d5fcbbe08775c3c772218159660f46a6.json", + "objectKey": "6feea734979602727e48e034646a8a447ddc1aa154848f139a3291416ef27212.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.template.json index 1f3b452307d5a..e20945f5c3f8e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/log-group-events.template.json @@ -100,7 +100,7 @@ ] }, "Delete": "{\"service\":\"CloudWatchLogs\",\"action\":\"deleteResourcePolicy\",\"parameters\":{\"policyName\":\"loggroupeventsEventsLogGroupPolicyloggroupeventsTimerC63340B025F606BE\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "EventsLogGroupPolicyloggroupeventsTimerC63340B0CustomResourcePolicy67B796AA" @@ -170,7 +170,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { @@ -275,7 +275,7 @@ ] }, "Delete": "{\"service\":\"CloudWatchLogs\",\"action\":\"deleteResourcePolicy\",\"parameters\":{\"policyName\":\"loggroupeventsEventsLogGroupPolicyloggroupeventsCustomRule99E1EEF62FFABD78\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "EventsLogGroupPolicyloggroupeventsCustomRule99E1EEF6CustomResourcePolicy361E9A96" @@ -406,7 +406,7 @@ ] }, "Delete": "{\"service\":\"CloudWatchLogs\",\"action\":\"deleteResourcePolicy\",\"parameters\":{\"policyName\":\"loggroupeventsEventsLogGroupPolicyloggroupeventsTimer37DF74C17EF314A8E\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "EventsLogGroupPolicyloggroupeventsTimer37DF74C17CustomResourcePolicyAE930E1E" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json index 7a1e258145a67..2721434f2b47c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/ca631bdae163a4a3f42dccfa6942e591d5fcbbe08775c3c772218159660f46a6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/6feea734979602727e48e034646a8a447ddc1aa154848f139a3291416ef27212.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -57,12 +57,6 @@ "data": "TimerBF6F831F" } ], - "/log-group-events/EventsLogGroupPolicyloggroupeventsTimerC63340B0": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/log-group-events/EventsLogGroupPolicyloggroupeventsTimerC63340B0/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -93,12 +87,6 @@ "data": "CustomRuleB1CBBADE" } ], - "/log-group-events/EventsLogGroupPolicyloggroupeventsCustomRule99E1EEF6": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/log-group-events/EventsLogGroupPolicyloggroupeventsCustomRule99E1EEF6/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -123,12 +111,6 @@ "data": "Timer30894E3BB" } ], - "/log-group-events/EventsLogGroupPolicyloggroupeventsTimer37DF74C17": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/log-group-events/EventsLogGroupPolicyloggroupeventsTimer37DF74C17/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -178,7 +160,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8e34780e9b4a5039a37625613979d641ef2fe7de61a7274c6cf7bc8e19dd5e9a.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -195,10 +177,10 @@ "LogGroupDefaultTestDeployAssert353EE07A.assets" ], "metadata": { - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db/Default/Default": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default/Default": [ { "type": "aws:cdk:logicalId", - "data": "AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db" + "data": "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793" } ], "/LogGroup/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role": [ @@ -213,16 +195,16 @@ "data": "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F" } ], - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/Default/Default": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default/Default": [ { "type": "aws:cdk:logicalId", - "data": "AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc" + "data": "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30" } ], - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/AssertionResults": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/AssertionResults": [ { "type": "aws:cdk:logicalId", - "data": "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc" + "data": "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30" } ], "/LogGroup/DefaultTest/DeployAssert/BootstrapVersion": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json index 9832423b7fe89..8de41711b1cc1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json @@ -317,7 +317,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { @@ -708,17 +708,17 @@ "id": "DeployAssert", "path": "LogGroup/DefaultTest/DeployAssert", "children": { - "AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db": { - "id": "AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db", + "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793": { + "id": "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793", "children": { "SdkProvider": { "id": "SdkProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db/SdkProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/SdkProvider", "children": { "AssertionsProvider": { "id": "AssertionsProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db/SdkProvider/AssertionsProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/SdkProvider/AssertionsProvider", "constructInfo": { "fqn": "constructs.Construct", "version": "10.2.69" @@ -732,11 +732,11 @@ }, "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default", "children": { "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEventseef6aa50fb0a328198838479aae512db/Default/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default/Default", "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" @@ -788,17 +788,17 @@ "version": "10.2.69" } }, - "AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc": { - "id": "AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc", + "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { + "id": "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", "children": { "SdkProvider": { "id": "SdkProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/SdkProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/SdkProvider", "children": { "AssertionsProvider": { "id": "AssertionsProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/SdkProvider/AssertionsProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/SdkProvider/AssertionsProvider", "constructInfo": { "fqn": "constructs.Construct", "version": "10.2.69" @@ -812,11 +812,11 @@ }, "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default", "children": { "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/Default/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default/Default", "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" @@ -830,7 +830,7 @@ }, "AssertionResults": { "id": "AssertionResults", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventscab635205ba433f1f0da3cb2523632dc/AssertionResults", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/AssertionResults", "constructInfo": { "fqn": "aws-cdk-lib.CfnOutput", "version": "0.0.0" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.assets.json index 78c4c1e82b3b5..6b06882937c12 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "f07402a9e70a89a51b15b51d01caf6d5e5c4a0ece819f30c8b0735371c448dad": { + "b22f407a50269df52f0053453119aaa83f7af1ddc90b84487a0670bf23fec2fa": { "source": { "path": "integ-globalaccelerator.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f07402a9e70a89a51b15b51d01caf6d5e5c4a0ece819f30c8b0735371c448dad.json", + "objectKey": "b22f407a50269df52f0053453119aaa83f7af1ddc90b84487a0670bf23fec2fa.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.template.json index 93ddcbea8fb55..25982da4d6f9b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/integ-globalaccelerator.template.json @@ -817,7 +817,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/manifest.json index 86d9016ca0ed3..52f05f96e6200 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f07402a9e70a89a51b15b51d01caf6d5e5c4a0ece819f30c8b0735371c448dad.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b22f407a50269df52f0053453119aaa83f7af1ddc90b84487a0670bf23fec2fa.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/tree.json index 4f970df3a381b..89e77db2a6de1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-globalaccelerator-endpoints/test/integ.globalaccelerator.js.snapshot/tree.json @@ -1408,7 +1408,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json index f9e08a8a8d0ce..52eaceab4c2f6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "0c52fbc21bc12bdf165b066037a88b3e918d1d6864127ef5911349af4cd2f929": { + "9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3": { "source": { "path": "LambdaIntegDefaultTestDeployAssert7BC530B7.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "0c52fbc21bc12bdf165b066037a88b3e918d1d6864127ef5911349af4cd2f929.json", + "objectKey": "9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json index f676bb3065dad..ed21d7ad6cadf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json @@ -15,7 +15,7 @@ "Entries": "[{\"Detail\":\"{\\\"foo\\\":\\\"bar\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-lambda-integ\"}]" }, "flattenResponse": "false", - "salt": "1691101076066" + "salt": "1691687463270" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -87,7 +87,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -127,7 +127,7 @@ "WaitTimeSeconds": "20" }, "flattenResponse": "false", - "salt": "1691101076067" + "salt": "1691687463270" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js similarity index 98% rename from packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js index 2dea6b1db90d0..c031312159a9d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js @@ -3996,7 +3996,7 @@ var require_getCanonicalQuery = __commonJS({ if (typeof value === "string") { serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).sort().reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).join("&"); + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); } } return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); @@ -4698,6 +4698,9 @@ var require_partitions = __commonJS({ "eu-west-3": { description: "Europe (Paris)" }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, "me-central-1": { description: "Middle East (UAE)" }, @@ -10393,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10413,37 +10416,37 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.382.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/client-sts": "3.387.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -10532,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10554,37 +10557,37 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.382.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-sdk-sts": "3.379.1", - "@aws-sdk/middleware-signing": "3.379.1", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -14803,7 +14806,7 @@ var require_package3 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sso", description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.387.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -14823,34 +14826,34 @@ var require_package3 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -15298,8 +15301,8 @@ var require_SSOClient = __commonJS({ var EndpointParameters_1 = require_EndpointParameters3(); var runtimeConfig_1 = require_runtimeConfig(); var SSOClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -16181,42 +16184,34 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants8 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; - exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js +var require_dist_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); var resolveClientEndpointParameters = (options) => { + var _a, _b; return { ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, defaultSigningName: "awsssooidc" }; }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json -var require_package4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports, module2) { - module2.exports = { + var package_default = { name: "@aws-sdk/client-sso-oidc", description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.382.0", + version: "3.386.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -16236,34 +16231,34 @@ var require_package4 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.379.1", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.382.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.382.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", + "@aws-sdk/middleware-host-header": "*", + "@aws-sdk/middleware-logger": "*", + "@aws-sdk/middleware-recursion-detection": "*", + "@aws-sdk/middleware-user-agent": "*", + "@aws-sdk/types": "*", + "@aws-sdk/util-endpoints": "*", + "@aws-sdk/util-user-agent-browser": "*", + "@aws-sdk/util-user-agent-node": "*", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", "@smithy/util-base64": "^2.0.0", "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", "@smithy/util-retry": "^2.0.0", "@smithy/util-utf8": "^2.0.0", tslib: "^2.5.0" @@ -16309,15 +16304,19 @@ var require_package4 = __commonJS({ directory: "clients/client-sso-oidc" } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); var p = "required"; var q = "fn"; var r = "argv"; @@ -16338,128 +16337,61 @@ var require_ruleset2 = __commonJS({ var n = [h]; var o = [i]; var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset2(); + var ruleSet = _data; var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { endpointParams, logger: context.logger }); }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO OIDC", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package4()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) }; }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js -var require_SSOOIDCClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters4(); - var runtimeConfig_1 = require_runtimeConfig2(); var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); @@ -16479,37 +16411,19 @@ var require_SSOOIDCClient = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js -var require_SSOOIDCServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_1.ServiceException { + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_5 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_6 = require_dist_cjs35(); + var smithy_client_7 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); } }; - exports.SSOOIDCServiceException = SSOOIDCServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AccessDeniedException", @@ -16524,7 +16438,7 @@ var require_models_03 = __commonJS({ } }; exports.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { constructor(opts) { super({ name: "AuthorizationPendingException", @@ -16539,7 +16453,7 @@ var require_models_03 = __commonJS({ } }; exports.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { constructor(opts) { super({ name: "ExpiredTokenException", @@ -16554,7 +16468,7 @@ var require_models_03 = __commonJS({ } }; exports.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InternalServerException", @@ -16569,7 +16483,7 @@ var require_models_03 = __commonJS({ } }; exports.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidClientException", @@ -16584,7 +16498,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidGrantException", @@ -16598,8 +16512,7 @@ var require_models_03 = __commonJS({ this.error_description = opts.error_description; } }; - exports.InvalidGrantException = InvalidGrantException; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidRequestException", @@ -16614,7 +16527,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "InvalidScopeException", @@ -16629,7 +16542,7 @@ var require_models_03 = __commonJS({ } }; exports.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { constructor(opts) { super({ name: "SlowDownException", @@ -16644,7 +16557,7 @@ var require_models_03 = __commonJS({ } }; exports.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnauthorizedClientException", @@ -16659,7 +16572,7 @@ var require_models_03 = __commonJS({ } }; exports.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { constructor(opts) { super({ name: "UnsupportedGrantTypeException", @@ -16674,42 +16587,14 @@ var require_models_03 = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientMetadataException = InvalidClientMetadataException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson12 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_StartDeviceAuthorizationCommand = exports.de_RegisterClientCommand = exports.de_CreateTokenCommand = exports.se_StartDeviceAuthorizationCommand = exports.se_RegisterClientCommand = exports.se_CreateTokenCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_03(); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { "content-type": "application/json" }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { + body = JSON.stringify((0, smithy_client_6.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16717,53 +16602,7 @@ var require_Aws_restJson12 = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_CreateTokenCommand = se_CreateTokenCommand; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_RegisterClientCommand = se_RegisterClientCommand; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] + scope: (_) => (0, smithy_client_6._json)(_) })); return new protocol_http_1.HttpRequest({ protocol, @@ -16775,26 +16614,24 @@ var require_Aws_restJson12 = __commonJS({ body }); }; - exports.se_StartDeviceAuthorizationCommand = se_StartDeviceAuthorizationCommand; var de_CreateTokenCommand = async (output, context) => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_1.map)({ + const contents = (0, smithy_client_6.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accessToken: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - idToken: smithy_client_1.expectString, - refreshToken: smithy_client_1.expectString, - tokenType: smithy_client_1.expectString + const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_6.take)(data, { + accessToken: smithy_client_6.expectString, + expiresIn: smithy_client_6.expectInt32, + idToken: smithy_client_6.expectString, + refreshToken: smithy_client_6.expectString, + tokenType: smithy_client_6.expectString }); Object.assign(contents, doc); return contents; }; - exports.de_CreateTokenCommand = de_CreateTokenCommand; var de_CreateTokenCommandError = async (output, context) => { const parsedOutput = { ...output, @@ -16844,281 +16681,171 @@ var require_Aws_restJson12 = __commonJS({ }); } }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) + var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - authorizationEndpoint: smithy_client_1.expectString, - clientId: smithy_client_1.expectString, - clientIdIssuedAt: smithy_client_1.expectLong, - clientSecret: smithy_client_1.expectString, - clientSecretExpiresAt: smithy_client_1.expectLong, - tokenEndpoint: smithy_client_1.expectString + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - return contents; - }; - exports.de_RegisterClientCommand = de_RegisterClientCommand; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - deviceCode: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - interval: smithy_client_1.expectInt32, - userCode: smithy_client_1.expectString, - verificationUri: smithy_client_1.expectString, - verificationUriComplete: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_StartDeviceAuthorizationCommand = de_StartDeviceAuthorizationCommand; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOOIDCServiceException_1.SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.ExpiredTokenException({ + const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InternalServerException({ + const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientException({ + const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidGrantException({ + const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ + const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.InvalidScopeException({ + const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.SlowDownException({ + const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedClientException({ + const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); + const contents = (0, smithy_client_6.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString }); Object.assign(contents, doc); - const exception = new models_0_1.UnsupportedGrantTypeException({ + const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -17126,12 +16853,13 @@ var require_Aws_restJson12 = __commonJS({ return {}; }); var parseErrorBody = async (errorBody, context) => { + var _a; const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; return value; }; var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); const sanitizeErrorCode = (rawValue) => { let cleanValue = rawValue; if (typeof cleanValue === "number") { @@ -17159,131 +16887,11 @@ var require_Aws_restJson12 = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js -var require_CreateTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateTokenCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_CreateTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_CreateTokenCommand)(output, context); - } - }; - exports.CreateTokenCommand = CreateTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js -var require_RegisterClientCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RegisterClientCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { constructor(input) { super(); this.input = input; } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_RegisterClientCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_RegisterClientCommand)(output, context); - } - }; - exports.RegisterClientCommand = RegisterClientCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js -var require_StartDeviceAuthorizationCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartDeviceAuthorizationCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { return { UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, @@ -17292,17 +16900,13 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } }; } - constructor(input) { - super(); - this.input = input; - } resolveMiddleware(clientStack, configuration, options) { this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); const stack = clientStack.concat(this.middlewareStack); const { logger } = configuration; const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; + const commandName = "CreateTokenCommand"; const handlerExecutionContext = { logger, clientName, @@ -17314,76 +16918,24 @@ var require_StartDeviceAuthorizationCommand = __commonJS({ return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); } serialize(input, context) { - return (0, Aws_restJson1_1.se_StartDeviceAuthorizationCommand)(input, context); + return se_CreateTokenCommand(input, context); } deserialize(output, context) { - return (0, Aws_restJson1_1.de_StartDeviceAuthorizationCommand)(output, context); + return de_CreateTokenCommand(output, context); } }; - exports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js -var require_SSOOIDC = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDC = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateTokenCommand_1 = require_CreateTokenCommand(); - var RegisterClientCommand_1 = require_RegisterClientCommand(); - var StartDeviceAuthorizationCommand_1 = require_StartDeviceAuthorizationCommand(); - var SSOOIDCClient_1 = require_SSOOIDCClient(); - var commands = { - CreateTokenCommand: CreateTokenCommand_1.CreateTokenCommand, - RegisterClientCommand: RegisterClientCommand_1.RegisterClientCommand, - StartDeviceAuthorizationCommand: StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient_1.SSOOIDCClient { - }; - exports.SSOOIDC = SSOOIDC; - (0, smithy_client_1.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateTokenCommand(), exports); - tslib_1.__exportStar(require_RegisterClientCommand(), exports); - tslib_1.__exportStar(require_StartDeviceAuthorizationCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports); + exports.CreateTokenCommand = CreateTokenCommand; } }); -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOOIDCClient(), exports); - tslib_1.__exportStar(require_SSOOIDC(), exports); - tslib_1.__exportStar(require_commands2(), exports); - tslib_1.__exportStar(require_models2(), exports); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - Object.defineProperty(exports, "SSOOIDCServiceException", { enumerable: true, get: function() { - return SSOOIDCServiceException_1.SSOOIDCServiceException; - } }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; } }); @@ -17393,13 +16945,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -17413,11 +16965,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); + var dist_node_1 = require_dist_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({ + return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17597,11 +17149,12 @@ var require_nodeProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ +var require_dist_cjs47 = __commonJS({ "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_dist_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); @@ -17615,7 +17168,7 @@ var require_resolveSSOCredentials = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSSOCredentials = void 0; var client_sso_1 = require_dist_cjs46(); - var token_providers_1 = require_dist_cjs48(); + var token_providers_1 = require_dist_cjs47(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; @@ -17757,7 +17310,7 @@ var require_types7 = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ +var require_dist_cjs48 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17775,8 +17328,8 @@ var require_resolveSsoCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSsoCredentials = exports.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_sso_2 = require_dist_cjs49(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { return credential_provider_sso_2.isSsoProfile; } }); @@ -17869,7 +17422,7 @@ var require_fromTokenFile = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ +var require_dist_cjs49 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17885,7 +17438,7 @@ var require_resolveWebIdentityCredentials = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; exports.isWebIdentityProfile = isWebIdentityProfile; var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ @@ -17953,7 +17506,7 @@ var require_fromIni = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ +var require_dist_cjs50 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -17993,10 +17546,10 @@ var require_defaultProvider = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultProvider = void 0; var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_ini_1 = require_dist_cjs51(); + var credential_provider_ini_1 = require_dist_cjs50(); var credential_provider_process_1 = require_dist_cjs41(); - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_web_identity_1 = require_dist_cjs50(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); var property_provider_1 = require_dist_cjs6(); var shared_ini_file_loader_1 = require_dist_cjs38(); var remoteProvider_1 = require_remoteProvider(); @@ -18008,7 +17561,7 @@ var require_defaultProvider = __commonJS({ }); // ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ +var require_dist_cjs51 = __commonJS({ "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18018,7 +17571,7 @@ var require_dist_cjs52 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset3 = __commonJS({ +var require_ruleset2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18065,13 +17618,13 @@ var require_ruleset3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver3 = __commonJS({ +var require_endpointResolver2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset3(); + var ruleset_1 = require_ruleset2(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18083,7 +17636,7 @@ var require_endpointResolver3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared3 = __commonJS({ +var require_runtimeConfig_shared2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18092,7 +17645,7 @@ var require_runtimeConfig_shared3 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver3(); + var endpointResolver_1 = require_endpointResolver2(); var getRuntimeConfig = (config) => ({ apiVersion: "2011-06-15", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18110,7 +17663,7 @@ var require_runtimeConfig_shared3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig3 = __commonJS({ +var require_runtimeConfig2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18118,7 +17671,7 @@ var require_runtimeConfig3 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package2()); var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18127,7 +17680,7 @@ var require_runtimeConfig3 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18181,10 +17734,10 @@ var require_STSClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig3(); + var runtimeConfig_1 = require_runtimeConfig2(); var STSClient = class _STSClient extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18586,7 +18139,7 @@ var require_STS = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ +var require_commands2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18603,7 +18156,7 @@ var require_commands3 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models3 = __commonJS({ +var require_models2 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18647,7 +18200,7 @@ var require_defaultRoleAssumers = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ +var require_dist_cjs52 = __commonJS({ "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18655,8 +18208,8 @@ var require_dist_cjs53 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_STSClient(), exports); tslib_1.__exportStar(require_STS(), exports); - tslib_1.__exportStar(require_commands3(), exports); - tslib_1.__exportStar(require_models3(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); tslib_1.__exportStar(require_defaultRoleAssumers(), exports); var STSServiceException_1 = require_STSServiceException(); Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { @@ -18666,7 +18219,7 @@ var require_dist_cjs53 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js -var require_ruleset4 = __commonJS({ +var require_ruleset3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18698,13 +18251,13 @@ var require_ruleset4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver4 = __commonJS({ +var require_endpointResolver3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEndpointResolver = void 0; var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset4(); + var ruleset_1 = require_ruleset3(); var defaultEndpointResolver = (endpointParams, context = {}) => { return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { endpointParams, @@ -18716,7 +18269,7 @@ var require_endpointResolver4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared4 = __commonJS({ +var require_runtimeConfig_shared3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -18725,7 +18278,7 @@ var require_runtimeConfig_shared4 = __commonJS({ var url_parser_1 = require_dist_cjs24(); var util_base64_1 = require_dist_cjs31(); var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver4(); + var endpointResolver_1 = require_endpointResolver3(); var getRuntimeConfig = (config) => ({ apiVersion: "2016-11-23", base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, @@ -18743,15 +18296,15 @@ var require_runtimeConfig_shared4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js -var require_runtimeConfig4 = __commonJS({ +var require_runtimeConfig3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRuntimeConfig = void 0; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs53(); - var credential_provider_node_1 = require_dist_cjs52(); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_1 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -18760,7 +18313,7 @@ var require_runtimeConfig4 = __commonJS({ var node_http_handler_1 = require_dist_cjs33(); var util_body_length_node_1 = require_dist_cjs44(); var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); var smithy_client_1 = require_dist_cjs35(); var util_defaults_mode_node_1 = require_dist_cjs45(); var smithy_client_2 = require_dist_cjs35(); @@ -18814,10 +18367,10 @@ var require_SFNClient = __commonJS({ return smithy_client_1.Client; } }); var EndpointParameters_1 = require_EndpointParameters(); - var runtimeConfig_1 = require_runtimeConfig4(); + var runtimeConfig_1 = require_runtimeConfig3(); var SFNClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); @@ -18864,7 +18417,7 @@ var require_SFNServiceException = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_04 = __commonJS({ +var require_models_03 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -19660,7 +19213,7 @@ var require_Aws_json1_0 = __commonJS({ exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; var protocol_http_1 = require_dist_cjs2(); var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var SFNServiceException_1 = require_SFNServiceException(); var se_CreateActivityCommand = async (input, context) => { const headers = sharedHeaders("CreateActivity"); @@ -22023,7 +21576,7 @@ var require_CreateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22078,7 +21631,7 @@ var require_CreateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22403,7 +21956,7 @@ var require_DescribeExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22512,7 +22065,7 @@ var require_DescribeStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22567,7 +22120,7 @@ var require_DescribeStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22622,7 +22175,7 @@ var require_DescribeStateMachineForExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22677,7 +22230,7 @@ var require_GetActivityTaskCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -22732,7 +22285,7 @@ var require_GetExecutionHistoryCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23165,7 +22718,7 @@ var require_PublishStateMachineVersionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23220,7 +22773,7 @@ var require_SendTaskFailureCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23329,7 +22882,7 @@ var require_SendTaskSuccessCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23384,7 +22937,7 @@ var require_StartExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23439,7 +22992,7 @@ var require_StartSyncExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23494,7 +23047,7 @@ var require_StopExecutionCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23711,7 +23264,7 @@ var require_UpdateStateMachineAliasCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23766,7 +23319,7 @@ var require_UpdateStateMachineCommand = __commonJS({ Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { return smithy_client_1.Command; } }); - var models_0_1 = require_models_04(); + var models_0_1 = require_models_03(); var Aws_json1_0_1 = require_Aws_json1_0(); var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { static getEndpointParameterInstructions() { @@ -23895,7 +23448,7 @@ var require_SFN = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands4 = __commonJS({ +var require_commands3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24131,17 +23684,17 @@ var require_pagination4 = __commonJS({ }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models4 = __commonJS({ +var require_models3 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_04(), exports); + tslib_1.__exportStar(require_models_03(), exports); } }); // ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ +var require_dist_cjs53 = __commonJS({ "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -24149,9 +23702,9 @@ var require_dist_cjs54 = __commonJS({ var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); tslib_1.__exportStar(require_SFNClient(), exports); tslib_1.__exportStar(require_SFN(), exports); - tslib_1.__exportStar(require_commands4(), exports); + tslib_1.__exportStar(require_commands3(), exports); tslib_1.__exportStar(require_pagination4(), exports); - tslib_1.__exportStar(require_models4(), exports); + tslib_1.__exportStar(require_models3(), exports); var SFNServiceException_1 = require_SFNServiceException(); Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { return SFNServiceException_1.SFNServiceException; @@ -31423,7 +30976,7 @@ var import_helpers_internal = __toESM(require_helpers_internal()); // lib/assertions/providers/lambda-handler/base.ts var https = __toESM(require("https")); var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs54()); +var import_client_sfn = __toESM(require_dist_cjs53()); var CustomResourceHandler = class { constructor(event, context) { this.event = event; diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.assets.json index a10fb1af72306..020b2327680e7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "1a8e971332de2be414ae84471fd5179589b5d69661e808537da2488aec5376ea": { + "d338402de2b8b5577dc1a0490725a97b1ba218a8d0b2d35ea0ced080554a6ee5": { "source": { "path": "lambda-logssubscription-integ.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "1a8e971332de2be414ae84471fd5179589b5d69661e808537da2488aec5376ea.json", + "objectKey": "d338402de2b8b5577dc1a0490725a97b1ba218a8d0b2d35ea0ced080554a6ee5.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.template.json index 0182b6e952d4a..7752a275ad436 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/lambda-logssubscription-integ.template.json @@ -238,7 +238,7 @@ ] }, "Delete": "{\"service\":\"CloudWatchLogs\",\"action\":\"deleteResourcePolicy\",\"parameters\":{\"policyName\":\"lambdalogssubscriptionintegEventsLogGroupPolicylambdalogssubscriptionintegCustomRuleBA3E2AD7F3616134\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "EventsLogGroupPolicylambdalogssubscriptionintegCustomRuleBA3E2AD7CustomResourcePolicy0DA87EF1" @@ -308,7 +308,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json index 5fa2751aebedf..4a1964040dd88 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1a8e971332de2be414ae84471fd5179589b5d69661e808537da2488aec5376ea.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d338402de2b8b5577dc1a0490725a97b1ba218a8d0b2d35ea0ced080554a6ee5.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -87,12 +87,6 @@ "data": "CustomRuleB1CBBADE" } ], - "/lambda-logssubscription-integ/EventsLogGroupPolicylambdalogssubscriptionintegCustomRuleBA3E2AD7": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/lambda-logssubscription-integ/EventsLogGroupPolicylambdalogssubscriptionintegCustomRuleBA3E2AD7/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -154,7 +148,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0c52fbc21bc12bdf165b066037a88b3e918d1d6864127ef5911349af4cd2f929.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/tree.json index d4d46a2a05de6..3153cf32cd800 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/tree.json @@ -531,7 +531,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json index fcf7e6ffecca1..e658964c087f8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "f78cf4fba8563779a826a0bf8fdff0e06f81fd80ca8d86a4d3fcb9024ee4c8ab": { + "cf6d254bc4102ef4b7aa36d06d8731088f36337c132dfc14b47376b8ff673920": { "source": { "path": "cdk-integ-opensearch-custom-kms-key.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f78cf4fba8563779a826a0bf8fdff0e06f81fd80ca8d86a4d3fcb9024ee4c8ab.json", + "objectKey": "cf6d254bc4102ef4b7aa36d06d8731088f36337c132dfc14b47376b8ff673920.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.template.json index fb292cdd2651e..084fd98d30fb8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/cdk-integ-opensearch-custom-kms-key.template.json @@ -228,7 +228,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/manifest.json index 273f391693d9f..378cca77158a3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f78cf4fba8563779a826a0bf8fdff0e06f81fd80ca8d86a4d3fcb9024ee4c8ab.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/cf6d254bc4102ef4b7aa36d06d8731088f36337c132dfc14b47376b8ff673920.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/tree.json index ccd2863463905..abf3c259aef4d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.custom-kms-key.js.snapshot/tree.json @@ -334,7 +334,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.assets.json index 31743c48226b5..a05a46a351204 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "e3c73b91088327bf27c83539d3340766095fda485cd3253dbb30cb7182dd9f72": { + "ce6e75bf3cdf510cdcdbfa8a7df2329ae432033c5c58209c24a71caddaa49e4c": { "source": { "path": "cdk-integ-opensearch.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "e3c73b91088327bf27c83539d3340766095fda485cd3253dbb30cb7182dd9f72.json", + "objectKey": "ce6e75bf3cdf510cdcdbfa8a7df2329ae432033c5c58209c24a71caddaa49e4c.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.template.json index aebce359aef31..76da9abc36c86 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/cdk-integ-opensearch.template.json @@ -302,7 +302,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/manifest.json index 95fe2ed89ce8a..cdb842dcc7f78 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e3c73b91088327bf27c83539d3340766095fda485cd3253dbb30cb7182dd9f72.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/ce6e75bf3cdf510cdcdbfa8a7df2329ae432033c5c58209c24a71caddaa49e4c.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/tree.json index 549704c425c13..ec612b6486cd8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.js.snapshot/tree.json @@ -394,7 +394,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.assets.json index a3fb638962964..b64843c3bb10a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "57294c9ad1e469c81727afb50951f991ce1f99060a2d532ad35ed244398289c3": { + "816cbbbf0f44e5a9de745cf16f2324b2ac634287e31a48abf79f9217ca563d70": { "source": { "path": "cdk-integ-opensearch-unsignedbasicauth.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "57294c9ad1e469c81727afb50951f991ce1f99060a2d532ad35ed244398289c3.json", + "objectKey": "816cbbbf0f44e5a9de745cf16f2324b2ac634287e31a48abf79f9217ca563d70.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.template.json index fb7424be378fe..45395f9622ad5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/cdk-integ-opensearch-unsignedbasicauth.template.json @@ -189,7 +189,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/manifest.json index 25460a1f810c0..664447f41ccd5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/57294c9ad1e469c81727afb50951f991ce1f99060a2d532ad35ed244398289c3.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/816cbbbf0f44e5a9de745cf16f2324b2ac634287e31a48abf79f9217ca563d70.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/tree.json index 5e2508bc0093a..f675e6caf3055 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.unsignedbasicauth.js.snapshot/tree.json @@ -279,7 +279,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.assets.json index 646b2db21c791..3c16da8013044 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "772f2bfcdd502510d3645dddade9b990514f1b592c1ec0f8592dd558ce6bc182": { + "8973d9342d0142923a7754dc2fa4648ef9211d90607c7000c2d37b80d363b219": { "source": { "path": "aws-cdk-vpc-endpoint-dns-integ.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "772f2bfcdd502510d3645dddade9b990514f1b592c1ec0f8592dd558ce6bc182.json", + "objectKey": "8973d9342d0142923a7754dc2fa4648ef9211d90607c7000c2d37b80d363b219.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.template.json index 4c2195a26066c..160dfa961f486 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/aws-cdk-vpc-endpoint-dns-integ.template.json @@ -815,7 +815,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/manifest.json index 35aea310a94b3..3789c6d5396a7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/772f2bfcdd502510d3645dddade9b990514f1b592c1ec0f8592dd558ce6bc182.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8973d9342d0142923a7754dc2fa4648ef9211d90607c7000c2d37b80d363b219.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/tree.json index 154abed577754..99a56eeecca24 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.vpc-endpoint-service-domain-name.js.snapshot/tree.json @@ -1159,7 +1159,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json index 8cfc9469b8212..befd65f1d3146 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.assets.json @@ -27,20 +27,20 @@ } } }, - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "cbb4d57b32c99c4256c5c1f411f6e0944bb26dcfd09380ec02cfa06d8025bb8b": { + "41e9944f400b2655416b1af760056d00f3aa0a91d1b01c857fe04b621f00b097": { "source": { "path": "cdk-s3-bucket-auto-delete-objects.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "cbb4d57b32c99c4256c5c1f411f6e0944bb26dcfd09380ec02cfa06d8025bb8b.json", + "objectKey": "41e9944f400b2655416b1af760056d00f3aa0a91d1b01c857fe04b621f00b097.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.template.json index 4630bbbc764fa..6d548ed2c311d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/cdk-s3-bucket-auto-delete-objects.template.json @@ -414,7 +414,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/manifest.json index 1781aebf66809..4eae6320c2f59 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/cbb4d57b32c99c4256c5c1f411f6e0944bb26dcfd09380ec02cfa06d8025bb8b.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/41e9944f400b2655416b1af760056d00f3aa0a91d1b01c857fe04b621f00b097.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/tree.json index 9c3e83a917738..e84e2c4b8c303 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-auto-delete-objects.js.snapshot/tree.json @@ -503,7 +503,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/.cache/f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/.cache/f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip deleted file mode 100644 index e5771cbcf010687a71f640f301fbb44d8698ae19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23187 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 diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/CustomResourceAthenaDefaultTestDeployAssert7AE6A475.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/CustomResourceAthenaDefaultTestDeployAssert7AE6A475.assets.json index 8b23834848dc4..55edf7b183445 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/CustomResourceAthenaDefaultTestDeployAssert7AE6A475.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/CustomResourceAthenaDefaultTestDeployAssert7AE6A475.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 377c3f409297d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,770 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/index.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/index.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/shared.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.7a1aa4038bfd6218fb1a3abf28d3007c71ea0e2b12db642b5a12434a928c14da/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.assets.json index 112fd037b64d4..cd8d0559c212f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.assets.json @@ -1,20 +1,20 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "f0905395dbd25636a723ddcb12b93eeec8439046f0499489888bd7a5d2f53d8c": { + "8bd023db41a39938041d9ea6e2f4d6fb968dcce253cd7fede116fddf9fcc47a2": { "source": { "path": "aws-cdk-customresources-athena.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f0905395dbd25636a723ddcb12b93eeec8439046f0499489888bd7a5d2f53d8c.json", + "objectKey": "8bd023db41a39938041d9ea6e2f4d6fb968dcce253cd7fede116fddf9fcc47a2.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.template.json index b12cf7fc09c96..d1f0ea6393318 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/aws-cdk-customresources-athena.template.json @@ -161,7 +161,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/integ.json index ad381aeca5729..b3333e9c197e4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "CustomResourceAthena/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/manifest.json index ff7432fe181cf..a89ee53be1dc5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-customresources-athena.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f0905395dbd25636a723ddcb12b93eeec8439046f0499489888bd7a5d2f53d8c.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8bd023db41a39938041d9ea6e2f4d6fb968dcce253cd7fede116fddf9fcc47a2.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/tree.json index 02d75c6ae2b2f..7fa041fbd2b2a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/tree.json @@ -273,7 +273,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { @@ -368,7 +368,7 @@ "path": "CustomResourceAthena/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -414,7 +414,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-athena.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json index df6265156cde4..23ab1ead30ce7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "4981f4c9fff533ee882ff7d9df8df016324812d3cec4fd76c96c80810ef34eb5": { + "61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa": { "source": { "path": "aws-cdk-customresources-vpc.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "4981f4c9fff533ee882ff7d9df8df016324812d3cec4fd76c96c80810ef34eb5.json", + "objectKey": "61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json index 7a71ca2956cd4..59e5e12fa96a3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json @@ -432,7 +432,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "DescribeVpcAttributeCustomResourcePolicyAF7C66C1" @@ -539,7 +539,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json index 8cbb66bbae7a8..4b55f80b6818d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4981f4c9fff533ee882ff7d9df8df016324812d3cec4fd76c96c80810ef34eb5.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -171,6 +171,12 @@ "data": "VpcVPCGWBF912B6E" } ], + "/aws-cdk-customresources-vpc/DescribeVpcAttribute": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-customresources-vpc/DescribeVpcAttribute/Resource/Default": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/tree.json index 690a129b00aa7..dd3985f355979 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/tree.json @@ -869,7 +869,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v2-handler.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js new file mode 100644 index 0000000000000..1b662725f1b0b --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/aws-sdk-v3-handler.bundled.js @@ -0,0 +1,769 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js +var require_lib = __commonJS({ + "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var aws_sdk_v3_handler_exports = {}; +__export(aws_sdk_v3_handler_exports, { + forceSdkInstallation: () => forceSdkInstallation, + handler: () => handler +}); +module.exports = __toCommonJS(aws_sdk_v3_handler_exports); +var import_child_process = require("child_process"); +var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); + +// custom-resources/lib/aws-custom-resource/runtime/shared.ts +var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function decodeSpecialValues(object, physicalResourceId) { + return JSON.parse(JSON.stringify(object), (_k, v) => { + switch (v) { + case PHYSICAL_RESOURCE_ID_REFERENCE: + return physicalResourceId; + default: + return v; + } + }); +} +function filterKeys(object, pred) { + return Object.entries(object).reduce( + (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, + {} + ); +} +function respond(event, responseStatus, reason, physicalResourceId, data) { + const responseBody = JSON.stringify({ + Status: responseStatus, + Reason: reason, + PhysicalResourceId: physicalResourceId, + StackId: event.StackId, + RequestId: event.RequestId, + LogicalResourceId: event.LogicalResourceId, + NoEcho: false, + Data: data + }); + console.log("Responding", responseBody); + const parsedUrl = require("url").parse(event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request = require("https").request(requestOptions, resolve); + request.on("error", reject); + request.write(responseBody); + request.end(); + } catch (e) { + reject(e); + } + }); +} +function decodeCall(call) { + if (!call) { + return void 0; + } + return JSON.parse(call); +} +function startsWithOneOf(searchStrings) { + return function(string) { + for (const searchString of searchStrings) { + if (string.startsWith(searchString)) { + return true; + } + } + return false; + }; +} + +// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +var installedSdk = {}; +function forceSdkInstallation() { + installedSdk = {}; +} +function installLatestSdk(packageName) { + console.log(`Installing latest AWS SDK v3: ${packageName}`); + (0, import_child_process.execSync)( + `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` + ); + installedSdk = { + ...installedSdk, + [packageName]: true + }; +} +async function loadAwsSdk(packageName, installLatestAwsSdk) { + let awsSdk; + try { + if (!installedSdk[packageName] && installLatestAwsSdk === "true") { + try { + installLatestSdk(packageName); + awsSdk = require(`/tmp/node_modules/${packageName}`); + } catch (e) { + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); + return require(packageName); + } + } else if (installedSdk[packageName]) { + awsSdk = require(`/tmp/node_modules/${packageName}`); + } else { + awsSdk = require(packageName); + } + } catch (error) { + throw Error(`Package ${packageName} does not exist.`); + } + return awsSdk; +} +async function handler(event, context) { + try { + event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); + event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); + event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); + let data = {}; + let physicalResourceId; + switch (event.RequestType) { + case "Create": + physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; + break; + case "Update": + case "Delete": + physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; + break; + } + const call = event.ResourceProperties[event.RequestType]; + if (call) { + const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); + let awsSdk = loadAwsSdk( + packageName, + event.ResourceProperties.InstallLatestAwsSdk + ); + console.log(JSON.stringify({ ...event, ResponseURL: "..." })); + let credentials; + if (call.assumedRoleArn) { + const timestamp = (/* @__PURE__ */ new Date()).getTime(); + const params = { + RoleArn: call.assumedRoleArn, + RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) + }; + const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); + credentials = fromTemporaryCredentials({ + params + }); + } + awsSdk = await awsSdk; + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); + const client = new ServiceClient({ + apiVersion: call.apiVersion, + credentials, + region: call.region + }); + const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; + const Command = Object.entries(awsSdk).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + let flatData = {}; + try { + const response = await client.send( + new Command( + (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} + ) + ); + flatData = { + apiVersion: client.config.apiVersion, + // For test purposes: check if apiVersion was correctly passed. + region: await client.config.region().catch(() => void 0), + // For test purposes: check if region was correctly passed. + ...flatten(response) + }; + let outputPaths; + if (call.outputPath) { + outputPaths = [call.outputPath]; + } else if (call.outputPaths) { + outputPaths = call.outputPaths; + } + if (outputPaths) { + data = filterKeys(flatData, startsWithOneOf(outputPaths)); + } else { + data = flatData; + } + } catch (e) { + const exceptionName = e.name ?? e.constructor.name; + if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { + throw e; + } + } + if (call.physicalResourceId?.responsePath) { + physicalResourceId = flatData[call.physicalResourceId.responsePath]; + } + } + await respond(event, "SUCCESS", "OK", physicalResourceId, data); + } catch (e) { + console.log(e); + await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + forceSdkInstallation, + handler +}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js rename to packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83/shared.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js deleted file mode 100644 index 470bc12d6fd54..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v2-handler.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = exports.forceSdkInstallation = void 0; -/* eslint-disable no-console */ -const child_process_1 = require("child_process"); -const fs = require("fs"); -const path_1 = require("path"); -const shared_1 = require("./shared"); -let latestSdkInstalled = false; -function forceSdkInstallation() { - latestSdkInstalled = false; -} -exports.forceSdkInstallation = forceSdkInstallation; -/** - * Installs latest AWS SDK v2 - */ -function installLatestSdk() { - console.log('Installing latest AWS SDK v2'); - // Both HOME and --prefix are needed here because /tmp is the only writable location - (0, child_process_1.execSync)('HOME=/tmp npm install aws-sdk@2 --production --no-package-lock --no-save --prefix /tmp'); - latestSdkInstalled = true; -} -// no currently patched services -const patchedServices = []; -/** - * Patches the AWS SDK by loading service models in the same manner as the actual SDK - */ -function patchSdk(awsSdk) { - const apiLoader = awsSdk.apiLoader; - patchedServices.forEach(({ serviceName, apiVersions }) => { - const lowerServiceName = serviceName.toLowerCase(); - if (!awsSdk.Service.hasService(lowerServiceName)) { - apiLoader.services[lowerServiceName] = {}; - awsSdk[serviceName] = awsSdk.Service.defineService(lowerServiceName, apiVersions); - } - else { - awsSdk.Service.addVersions(awsSdk[serviceName], apiVersions); - } - apiVersions.forEach(apiVersion => { - Object.defineProperty(apiLoader.services[lowerServiceName], apiVersion, { - get: function get() { - const modelFilePrefix = `aws-sdk-patch/${lowerServiceName}-${apiVersion}`; - const model = JSON.parse(fs.readFileSync((0, path_1.join)(__dirname, `${modelFilePrefix}.service.json`), 'utf-8')); - model.paginators = JSON.parse(fs.readFileSync((0, path_1.join)(__dirname, `${modelFilePrefix}.paginators.json`), 'utf-8')).pagination; - return model; - }, - enumerable: true, - configurable: true, - }); - }); - }); - return awsSdk; -} -/* eslint-disable @typescript-eslint/no-require-imports, import/no-extraneous-dependencies */ -async function handler(event, context) { - try { - let AWS; - if (!latestSdkInstalled && event.ResourceProperties.InstallLatestAwsSdk === 'true') { - try { - installLatestSdk(); - AWS = require('/tmp/node_modules/aws-sdk'); - } - catch (e) { - console.log(`Failed to install latest AWS SDK v2: ${e}`); - AWS = require('aws-sdk'); // Fallback to pre-installed version - } - } - else if (latestSdkInstalled) { - AWS = require('/tmp/node_modules/aws-sdk'); - } - else { - AWS = require('aws-sdk'); - } - try { - AWS = patchSdk(AWS); - } - catch (e) { - console.log(`Failed to patch AWS SDK: ${e}. Proceeding with the installed copy.`); - } - console.log(JSON.stringify({ ...event, ResponseURL: '...' })); - console.log('AWS SDK VERSION: ' + AWS.VERSION); - event.ResourceProperties.Create = (0, shared_1.decodeCall)(event.ResourceProperties.Create); - event.ResourceProperties.Update = (0, shared_1.decodeCall)(event.ResourceProperties.Update); - event.ResourceProperties.Delete = (0, shared_1.decodeCall)(event.ResourceProperties.Delete); - // Default physical resource id - let physicalResourceId; - switch (event.RequestType) { - case 'Create': - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? - event.ResourceProperties.Update?.physicalResourceId?.id ?? - event.ResourceProperties.Delete?.physicalResourceId?.id ?? - event.LogicalResourceId; - break; - case 'Update': - case 'Delete': - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - let flatData = {}; - let data = {}; - const call = event.ResourceProperties[event.RequestType]; - if (call) { - let credentials; - if (call.assumedRoleArn) { - const timestamp = (new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64), - }; - credentials = new AWS.ChainableTemporaryCredentials({ - params: params, - stsConfig: { stsRegionalEndpoints: 'regional' }, - }); - } - if (!Object.prototype.hasOwnProperty.call(AWS, call.service)) { - throw Error(`Service ${call.service} does not exist in AWS SDK version ${AWS.VERSION}.`); - } - const awsService = new AWS[call.service]({ - apiVersion: call.apiVersion, - credentials: credentials, - region: call.region, - }); - try { - const response = await awsService[call.action](call.parameters && (0, shared_1.decodeSpecialValues)(call.parameters, physicalResourceId)).promise(); - flatData = { - apiVersion: awsService.config.apiVersion, - region: awsService.config.region, - ...(0, shared_1.flatten)(response), - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } - else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = (0, shared_1.filterKeys)(flatData, (0, shared_1.startsWithOneOf)(outputPaths)); - } - else { - data = flatData; - } - } - catch (e) { - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(e.code)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await (0, shared_1.respond)(event, 'SUCCESS', 'OK', physicalResourceId, data); - } - catch (e) { - console.log(e); - await (0, shared_1.respond)(event, 'FAILED', e.message || 'Internal Error', context.logStreamName, {}); - } -} -exports.handler = handler; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXNkay12Mi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLXNkay12Mi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixpREFBeUM7QUFDekMseUJBQXlCO0FBQ3pCLCtCQUE0QjtBQU81QixxQ0FBMEc7QUFHMUcsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7QUFFL0IsU0FBZ0Isb0JBQW9CO0lBQ2xDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztBQUM3QixDQUFDO0FBRkQsb0RBRUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM1QyxvRkFBb0Y7SUFDcEYsSUFBQSx3QkFBUSxFQUFDLHdGQUF3RixDQUFDLENBQUM7SUFDbkcsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQzVCLENBQUM7QUFFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxlQUFlLEdBQXFELEVBQUUsQ0FBQztBQUM3RTs7R0FFRztBQUNILFNBQVMsUUFBUSxDQUFDLE1BQVc7SUFDM0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUN2RCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNoRCxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNuRjthQUFN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QixXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztpQkFDaEM7Z0JBRUQsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsSUFBSSxHQUFHLElBQUEsbUJBQVUsRUFBQyxRQUFRLEVBQUUsSUFBQSx3QkFBZSxFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNMLElBQUksR0FBRyxRQUFRLENBQUM7aUJBQ2pCO2FBQ0Y7WUFBQyxPQUFPLENBQU0sRUFBRTtnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDN0YsTUFBTSxDQUFDLENBQUM7aUJBQ1Q7YUFDRjtZQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRTtnQkFDekMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNyRTtTQUNGO1FBRUQsTUFBTSxJQUFBLGdCQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDakU7SUFBQyxPQUFPLENBQU0sRUFBRTtRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixNQUFNLElBQUEsZ0JBQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUMxRjtBQUNILENBQUM7QUE5R0QsMEJBOEdDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbi8vIGltcG9ydCB0aGUgQVdTTGFtYmRhIHBhY2thZ2UgZXhwbGljaXRseSxcbi8vIHdoaWNoIGlzIGdsb2JhbGx5IGF2YWlsYWJsZSBpbiB0aGUgTGFtYmRhIHJ1bnRpbWUsXG4vLyBhcyBvdGhlcndpc2UgbGlua2luZyB0aGlzIHJlcG9zaXRvcnkgd2l0aCBsaW5rLWFsbC5zaFxuLy8gZmFpbHMgaW4gdGhlIENESyBhcHAgZXhlY3V0ZWQgd2l0aCB0cy1ub2RlXG4vKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzLGltcG9ydC9uby11bnJlc29sdmVkICovXG5pbXBvcnQgKiBhcyBBV1NMYW1iZGEgZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBkZWNvZGVDYWxsLCBkZWNvZGVTcGVjaWFsVmFsdWVzLCBmaWx0ZXJLZXlzLCBmbGF0dGVuLCByZXNwb25kLCBzdGFydHNXaXRoT25lT2YgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBBd3NTZGtDYWxsIH0gZnJvbSAnLi4vYXdzLWN1c3RvbS1yZXNvdXJjZSc7XG5cbmxldCBsYXRlc3RTZGtJbnN0YWxsZWQgPSBmYWxzZTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmNlU2RrSW5zdGFsbGF0aW9uKCkge1xuICBsYXRlc3RTZGtJbnN0YWxsZWQgPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBJbnN0YWxscyBsYXRlc3QgQVdTIFNESyB2MlxuICovXG5mdW5jdGlvbiBpbnN0YWxsTGF0ZXN0U2RrKCk6IHZvaWQge1xuICBjb25zb2xlLmxvZygnSW5zdGFsbGluZyBsYXRlc3QgQVdTIFNESyB2MicpO1xuICAvLyBCb3RoIEhPTUUgYW5kIC0tcHJlZml4IGFyZSBuZWVkZWQgaGVyZSBiZWNhdXNlIC90bXAgaXMgdGhlIG9ubHkgd3JpdGFibGUgbG9jYXRpb25cbiAgZXhlY1N5bmMoJ0hPTUU9L3RtcCBucG0gaW5zdGFsbCBhd3Mtc2RrQDIgLS1wcm9kdWN0aW9uIC0tbm8tcGFja2FnZS1sb2NrIC0tbm8tc2F2ZSAtLXByZWZpeCAvdG1wJyk7XG4gIGxhdGVzdFNka0luc3RhbGxlZCA9IHRydWU7XG59XG5cbi8vIG5vIGN1cnJlbnRseSBwYXRjaGVkIHNlcnZpY2VzXG5jb25zdCBwYXRjaGVkU2VydmljZXM6IHsgc2VydmljZU5hbWU6IHN0cmluZzsgYXBpVmVyc2lvbnM6IHN0cmluZ1tdIH1bXSA9IFtdO1xuLyoqXG4gKiBQYXRjaGVzIHRoZSBBV1MgU0RLIGJ5IGxvYWRpbmcgc2VydmljZSBtb2RlbHMgaW4gdGhlIHNhbWUgbWFubmVyIGFzIHRoZSBhY3R1YWwgU0RLXG4gKi9cbmZ1bmN0aW9uIHBhdGNoU2RrKGF3c1NkazogYW55KTogYW55IHtcbiAgY29uc3QgYXBpTG9hZGVyID0gYXdzU2RrLmFwaUxvYWRlcjtcbiAgcGF0Y2hlZFNlcnZpY2VzLmZvckVhY2goKHsgc2VydmljZU5hbWUsIGFwaVZlcnNpb25zIH0pID0+IHtcbiAgICBjb25zdCBsb3dlclNlcnZpY2VOYW1lID0gc2VydmljZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIWF3c1Nkay5TZXJ2aWNlLmhhc1NlcnZpY2UobG93ZXJTZXJ2aWNlTmFtZSkpIHtcbiAgICAgIGFwaUxvYWRlci5zZXJ2aWNlc1tsb3dlclNlcnZpY2VOYW1lXSA9IHt9O1xuICAgICAgYXdzU2RrW3NlcnZpY2VOYW1lXSA9IGF3c1Nkay5TZXJ2aWNlLmRlZmluZVNlcnZpY2UobG93ZXJTZXJ2aWNlTmFtZSwgYXBpVmVyc2lvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd3NTZGsuU2VydmljZS5hZGRWZXJzaW9ucyhhd3NTZGtbc2VydmljZU5hbWVdLCBhcGlWZXJzaW9ucyk7XG4gICAgfVxuICAgIGFwaVZlcnNpb25zLmZvckVhY2goYXBpVmVyc2lvbiA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBpTG9hZGVyLnNlcnZpY2VzW2xvd2VyU2VydmljZU5hbWVdLCBhcGlWZXJzaW9uLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgIGNvbnN0IG1vZGVsRmlsZVByZWZpeCA9IGBhd3Mtc2RrLXBhdGNoLyR7bG93ZXJTZXJ2aWNlTmFtZX0tJHthcGlWZXJzaW9ufWA7XG4gICAgICAgICAgY29uc3QgbW9kZWwgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhqb2luKF9fZGlybmFtZSwgYCR7bW9kZWxGaWxlUHJlZml4fS5zZXJ2aWNlLmpzb25gKSwgJ3V0Zi04JykpO1xuICAgICAgICAgIG1vZGVsLnBhZ2luYXRvcnMgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhqb2luKF9fZGlybmFtZSwgYCR7bW9kZWxGaWxlUHJlZml4fS5wYWdpbmF0b3JzLmpzb25gKSwgJ3V0Zi04JykpLnBhZ2luYXRpb247XG4gICAgICAgICAgcmV0dXJuIG1vZGVsO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBhd3NTZGs7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHMsIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQsIGNvbnRleHQ6IEFXU0xhbWJkYS5Db250ZXh0KSB7XG4gIHRyeSB7XG4gICAgbGV0IEFXUzogYW55O1xuICAgIGlmICghbGF0ZXN0U2RrSW5zdGFsbGVkICYmIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5JbnN0YWxsTGF0ZXN0QXdzU2RrID09PSAndHJ1ZScpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGluc3RhbGxMYXRlc3RTZGsoKTtcbiAgICAgICAgQVdTID0gcmVxdWlyZSgnL3RtcC9ub2RlX21vZHVsZXMvYXdzLXNkaycpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIGluc3RhbGwgbGF0ZXN0IEFXUyBTREsgdjI6ICR7ZX1gKTtcbiAgICAgICAgQVdTID0gcmVxdWlyZSgnYXdzLXNkaycpOyAvLyBGYWxsYmFjayB0byBwcmUtaW5zdGFsbGVkIHZlcnNpb25cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGxhdGVzdFNka0luc3RhbGxlZCkge1xuICAgICAgQVdTID0gcmVxdWlyZSgnL3RtcC9ub2RlX21vZHVsZXMvYXdzLXNkaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBBV1MgPSByZXF1aXJlKCdhd3Mtc2RrJyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBBV1MgPSBwYXRjaFNkayhBV1MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gcGF0Y2ggQVdTIFNESzogJHtlfS4gUHJvY2VlZGluZyB3aXRoIHRoZSBpbnN0YWxsZWQgY29weS5gKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSkpO1xuICAgIGNvbnNvbGUubG9nKCdBV1MgU0RLIFZFUlNJT046ICcgKyBBV1MuVkVSU0lPTik7XG5cbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ3JlYXRlID0gZGVjb2RlQ2FsbChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ3JlYXRlKTtcbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVXBkYXRlID0gZGVjb2RlQ2FsbChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVXBkYXRlKTtcbiAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVsZXRlID0gZGVjb2RlQ2FsbChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVsZXRlKTtcbiAgICAvLyBEZWZhdWx0IHBoeXNpY2FsIHJlc291cmNlIGlkXG4gICAgbGV0IHBoeXNpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICAgIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICAgIGNhc2UgJ0NyZWF0ZSc6XG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5DcmVhdGU/LnBoeXNpY2FsUmVzb3VyY2VJZD8uaWQgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlVwZGF0ZT8ucGh5c2ljYWxSZXNvdXJjZUlkPy5pZCA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVsZXRlPy5waHlzaWNhbFJlc291cmNlSWQ/LmlkID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICBjYXNlICdEZWxldGUnOlxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXNbZXZlbnQuUmVxdWVzdFR5cGVdPy5waHlzaWNhbFJlc291cmNlSWQ/LmlkID8/IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbGV0IGZsYXREYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgbGV0IGRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBjb25zdCBjYWxsOiBBd3NTZGtDYWxsIHwgdW5kZWZpbmVkID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzW2V2ZW50LlJlcXVlc3RUeXBlXTtcblxuICAgIGlmIChjYWxsKSB7XG5cbiAgICAgIGxldCBjcmVkZW50aWFscztcbiAgICAgIGlmIChjYWxsLmFzc3VtZWRSb2xlQXJuKSB7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIFJvbGVBcm46IGNhbGwuYXNzdW1lZFJvbGVBcm4sXG4gICAgICAgICAgUm9sZVNlc3Npb25OYW1lOiBgJHt0aW1lc3RhbXB9LSR7cGh5c2ljYWxSZXNvdXJjZUlkfWAuc3Vic3RyaW5nKDAsIDY0KSxcbiAgICAgICAgfTtcblxuICAgICAgICBjcmVkZW50aWFscyA9IG5ldyBBV1MuQ2hhaW5hYmxlVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgICAgIHN0c0NvbmZpZzogeyBzdHNSZWdpb25hbEVuZHBvaW50czogJ3JlZ2lvbmFsJyB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQVdTLCBjYWxsLnNlcnZpY2UpKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBTZXJ2aWNlICR7Y2FsbC5zZXJ2aWNlfSBkb2VzIG5vdCBleGlzdCBpbiBBV1MgU0RLIHZlcnNpb24gJHtBV1MuVkVSU0lPTn0uYCk7XG4gICAgICB9XG4gICAgICBjb25zdCBhd3NTZXJ2aWNlID0gbmV3IChBV1MgYXMgYW55KVtjYWxsLnNlcnZpY2VdKHtcbiAgICAgICAgYXBpVmVyc2lvbjogY2FsbC5hcGlWZXJzaW9uLFxuICAgICAgICBjcmVkZW50aWFsczogY3JlZGVudGlhbHMsXG4gICAgICAgIHJlZ2lvbjogY2FsbC5yZWdpb24sXG4gICAgICB9KTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhd3NTZXJ2aWNlW2NhbGwuYWN0aW9uXShcbiAgICAgICAgICBjYWxsLnBhcmFtZXRlcnMgJiYgZGVjb2RlU3BlY2lhbFZhbHVlcyhjYWxsLnBhcmFtZXRlcnMsIHBoeXNpY2FsUmVzb3VyY2VJZCkpLnByb21pc2UoKTtcbiAgICAgICAgZmxhdERhdGEgPSB7XG4gICAgICAgICAgYXBpVmVyc2lvbjogYXdzU2VydmljZS5jb25maWcuYXBpVmVyc2lvbiwgLy8gRm9yIHRlc3QgcHVycG9zZXM6IGNoZWNrIGlmIGFwaVZlcnNpb24gd2FzIGNvcnJlY3RseSBwYXNzZWQuXG4gICAgICAgICAgcmVnaW9uOiBhd3NTZXJ2aWNlLmNvbmZpZy5yZWdpb24sIC8vIEZvciB0ZXN0IHB1cnBvc2VzOiBjaGVjayBpZiByZWdpb24gd2FzIGNvcnJlY3RseSBwYXNzZWQuXG4gICAgICAgICAgLi4uZmxhdHRlbihyZXNwb25zZSksXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IG91dHB1dFBhdGhzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGNhbGwub3V0cHV0UGF0aCkge1xuICAgICAgICAgIG91dHB1dFBhdGhzID0gW2NhbGwub3V0cHV0UGF0aF07XG4gICAgICAgIH0gZWxzZSBpZiAoY2FsbC5vdXRwdXRQYXRocykge1xuICAgICAgICAgIG91dHB1dFBhdGhzID0gY2FsbC5vdXRwdXRQYXRocztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvdXRwdXRQYXRocykge1xuICAgICAgICAgIGRhdGEgPSBmaWx0ZXJLZXlzKGZsYXREYXRhLCBzdGFydHNXaXRoT25lT2Yob3V0cHV0UGF0aHMpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXRhID0gZmxhdERhdGE7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICBpZiAoIWNhbGwuaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nIHx8ICFuZXcgUmVnRXhwKGNhbGwuaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nKS50ZXN0KGUuY29kZSkpIHtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjYWxsLnBoeXNpY2FsUmVzb3VyY2VJZD8ucmVzcG9uc2VQYXRoKSB7XG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZCA9IGZsYXREYXRhW2NhbGwucGh5c2ljYWxSZXNvdXJjZUlkLnJlc3BvbnNlUGF0aF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgcmVzcG9uZChldmVudCwgJ1NVQ0NFU1MnLCAnT0snLCBwaHlzaWNhbFJlc291cmNlSWQsIGRhdGEpO1xuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhlKTtcbiAgICBhd2FpdCByZXNwb25kKGV2ZW50LCAnRkFJTEVEJywgZS5tZXNzYWdlIHx8ICdJbnRlcm5hbCBFcnJvcicsIGNvbnRleHQubG9nU3RyZWFtTmFtZSwge30pO1xuICB9XG59Il19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js deleted file mode 100644 index 06a9f2e41c15d..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/aws-sdk-v3-handler.bundled.js +++ /dev/null @@ -1,769 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js -var require_lib = __commonJS({ - "../@aws-cdk/sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var aws_sdk_v3_handler_exports = {}; -__export(aws_sdk_v3_handler_exports, { - forceSdkInstallation: () => forceSdkInstallation, - handler: () => handler -}); -module.exports = __toCommonJS(aws_sdk_v3_handler_exports); -var import_child_process = require("child_process"); -var import_sdk_v2_to_v3_adapter = __toESM(require_lib()); - -// custom-resources/lib/aws-custom-resource/runtime/shared.ts -var PHYSICAL_RESOURCE_ID_REFERENCE = "PHYSICAL:RESOURCEID:"; -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -function filterKeys(object, pred) { - return Object.entries(object).reduce( - (acc, [k, v]) => pred(k) ? { ...acc, [k]: v } : acc, - {} - ); -} -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data - }); - console.log("Responding", responseBody); - const parsedUrl = require("url").parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request = require("https").request(requestOptions, resolve); - request.on("error", reject); - request.write(responseBody); - request.end(); - } catch (e) { - reject(e); - } - }); -} -function decodeCall(call) { - if (!call) { - return void 0; - } - return JSON.parse(call); -} -function startsWithOneOf(searchStrings) { - return function(string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} - -// custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts -var installedSdk = {}; -function forceSdkInstallation() { - installedSdk = {}; -} -function installLatestSdk(packageName) { - console.log(`Installing latest AWS SDK v3: ${packageName}`); - (0, import_child_process.execSync)( - `NPM_CONFIG_UPDATE_NOTIFIER=false HOME=/tmp npm install ${packageName} --omit=dev --no-package-lock --no-save --prefix /tmp` - ); - installedSdk = { - ...installedSdk, - [packageName]: true - }; -} -async function loadAwsSdk(packageName, installLatestAwsSdk) { - let awsSdk; - try { - if (!installedSdk[packageName] && installLatestAwsSdk === "true") { - installLatestSdk(packageName); - try { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); - return require(packageName); - } - } else if (installedSdk[packageName]) { - awsSdk = require(`/tmp/node_modules/${packageName}`); - } else { - awsSdk = require(packageName); - } - } catch (error) { - throw Error(`Package ${packageName} does not exist.`); - } - return awsSdk; -} -async function handler(event, context) { - try { - event.ResourceProperties.Create = decodeCall(event.ResourceProperties.Create); - event.ResourceProperties.Update = decodeCall(event.ResourceProperties.Update); - event.ResourceProperties.Delete = decodeCall(event.ResourceProperties.Delete); - let data = {}; - let physicalResourceId; - switch (event.RequestType) { - case "Create": - physicalResourceId = event.ResourceProperties.Create?.physicalResourceId?.id ?? event.ResourceProperties.Update?.physicalResourceId?.id ?? event.ResourceProperties.Delete?.physicalResourceId?.id ?? event.LogicalResourceId; - break; - case "Update": - case "Delete": - physicalResourceId = event.ResourceProperties[event.RequestType]?.physicalResourceId?.id ?? event.PhysicalResourceId; - break; - } - const call = event.ResourceProperties[event.RequestType]; - if (call) { - const packageName = call.service.startsWith("@aws-sdk/") ? call.service : (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(call.service); - let awsSdk = loadAwsSdk( - packageName, - event.ResourceProperties.InstallLatestAwsSdk - ); - console.log(JSON.stringify({ ...event, ResponseURL: "..." })); - let credentials; - if (call.assumedRoleArn) { - const timestamp = (/* @__PURE__ */ new Date()).getTime(); - const params = { - RoleArn: call.assumedRoleArn, - RoleSessionName: `${timestamp}-${physicalResourceId}`.substring(0, 64) - }; - const { fromTemporaryCredentials } = await import("@aws-sdk/credential-providers"); - credentials = fromTemporaryCredentials({ - params - }); - } - awsSdk = await awsSdk; - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(awsSdk); - const client = new ServiceClient({ - apiVersion: call.apiVersion, - credentials, - region: call.region - }); - const commandName = call.action.endsWith("Command") ? call.action : `${call.action}Command`; - const Command = Object.entries(awsSdk).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - let flatData = {}; - try { - const response = await client.send( - new Command( - (call.parameters && decodeSpecialValues(call.parameters, physicalResourceId)) ?? {} - ) - ); - flatData = { - apiVersion: client.config.apiVersion, - // For test purposes: check if apiVersion was correctly passed. - region: await client.config.region().catch(() => void 0), - // For test purposes: check if region was correctly passed. - ...flatten(response) - }; - let outputPaths; - if (call.outputPath) { - outputPaths = [call.outputPath]; - } else if (call.outputPaths) { - outputPaths = call.outputPaths; - } - if (outputPaths) { - data = filterKeys(flatData, startsWithOneOf(outputPaths)); - } else { - data = flatData; - } - } catch (e) { - const exceptionName = e.name ?? e.constructor.name; - if (!call.ignoreErrorCodesMatching || !new RegExp(call.ignoreErrorCodesMatching).test(exceptionName)) { - throw e; - } - } - if (call.physicalResourceId?.responsePath) { - physicalResourceId = flatData[call.physicalResourceId.responsePath]; - } - } - await respond(event, "SUCCESS", "OK", physicalResourceId, data); - } catch (e) { - console.log(e); - await respond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {}); - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - forceSdkInstallation, - handler -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js deleted file mode 100644 index ceb54f8e2b70f..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/index.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = exports.PHYSICAL_RESOURCE_ID_REFERENCE = void 0; -var shared_1 = require("./shared"); -Object.defineProperty(exports, "PHYSICAL_RESOURCE_ID_REFERENCE", { enumerable: true, get: function () { return shared_1.PHYSICAL_RESOURCE_ID_REFERENCE; } }); -const env = process.env.AWS_EXECUTION_ENV; -// eslint-disable-next-line @typescript-eslint/no-require-imports -const runtime = env && env >= 'AWS_Lambda_nodejs18.x' ? require('./aws-sdk-v3-handler.bundled') : require('./aws-sdk-v2-handler'); -exports.handler = runtime.handler; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBMEQ7QUFBakQsd0hBQUEsOEJBQThCLE9BQUE7QUFFdkMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztBQUMxQyxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3JILFFBQUEsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBQSFlTSUNBTF9SRVNPVVJDRV9JRF9SRUZFUkVOQ0UgfSBmcm9tICcuL3NoYXJlZCc7XG5cbmNvbnN0IGVudiA9IHByb2Nlc3MuZW52LkFXU19FWEVDVVRJT05fRU5WO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IHJ1bnRpbWUgPSBlbnYgJiYgZW52ID49ICdBV1NfTGFtYmRhX25vZGVqczE4LngnID8gcmVxdWlyZSgnLi9hd3Mtc2RrLXYzLWhhbmRsZXIuYnVuZGxlZCcpIDogcmVxdWlyZSgnLi9hd3Mtc2RrLXYyLWhhbmRsZXInKTtcbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gcnVudGltZS5oYW5kbGVyO1xuIl19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js deleted file mode 100644 index 6c53eaeef8cd1..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb/shared.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.startsWithOneOf = exports.decodeCall = exports.respond = exports.filterKeys = exports.decodeSpecialValues = exports.flatten = exports.PHYSICAL_RESOURCE_ID_REFERENCE = void 0; -/** - * Serialized form of the physical resource id for use in the operation parameters - */ -exports.PHYSICAL_RESOURCE_ID_REFERENCE = 'PHYSICAL:RESOURCEID:'; -/** - * Flattens a nested object - * - * @param object the object to be flattened - * @returns a flat object with path as keys - */ -function flatten(object) { - return Object.assign({}, ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child) - .map(key => { - const childKey = Buffer.isBuffer(child[key]) ? child[key].toString('utf8') : child[key]; - return typeof childKey === 'object' && childKey !== null - ? _flatten(childKey, path.concat([key])) - : ({ [path.concat([key]).join('.')]: childKey }); - })); - }(object)); -} -exports.flatten = flatten; -/** - * Decodes encoded special values (physicalResourceId) - */ -function decodeSpecialValues(object, physicalResourceId) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case exports.PHYSICAL_RESOURCE_ID_REFERENCE: - return physicalResourceId; - default: - return v; - } - }); -} -exports.decodeSpecialValues = decodeSpecialValues; -/** - * Filters the keys of an object. - */ -function filterKeys(object, pred) { - return Object.entries(object) - .reduce((acc, [k, v]) => pred(k) - ? { ...acc, [k]: v } - : acc, {}); -} -exports.filterKeys = filterKeys; -function respond(event, responseStatus, reason, physicalResourceId, data) { - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: reason, - PhysicalResourceId: physicalResourceId, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: false, - Data: data, - }); - // eslint-disable-next-line no-console - console.log('Responding', responseBody); - // eslint-disable-next-line @typescript-eslint/no-require-imports - const parsedUrl = require('url').parse(event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: 'PUT', - headers: { - 'content-type': '', - 'content-length': Buffer.byteLength(responseBody, 'utf8'), - }, - }; - return new Promise((resolve, reject) => { - try { - // eslint-disable-next-line @typescript-eslint/no-require-imports - const request = require('https').request(requestOptions, resolve); - request.on('error', reject); - request.write(responseBody); - request.end(); - } - catch (e) { - reject(e); - } - }); -} -exports.respond = respond; -function decodeCall(call) { - if (!call) { - return undefined; - } - return JSON.parse(call); -} -exports.decodeCall = decodeCall; -function startsWithOneOf(searchStrings) { - return function (string) { - for (const searchString of searchStrings) { - if (string.startsWith(searchString)) { - return true; - } - } - return false; - }; -} -exports.startsWithOneOf = startsWithOneOf; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ1UsUUFBQSw4QkFBOEIsR0FBRyxzQkFBc0IsQ0FBQztBQUVyRTs7Ozs7R0FLRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxNQUFjO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsRUFBRSxFQUNGLEdBQUcsU0FBUyxRQUFRLENBQUMsS0FBVSxFQUFFLE9BQWlCLEVBQUU7UUFDbEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxJQUFJO2dCQUN0RCxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQWJELDBCQWFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixtQkFBbUIs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QixlQUFlLENBQUMsYUFBdUI7SUFDckQsT0FBTyxVQUFTLE1BQWM7UUFDNUIsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUU7WUFDeEMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUM7QUFURCwwQ0FTQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMsaW1wb3J0L25vLXVucmVzb2x2ZWQgKi9cbmltcG9ydCAqIGFzIEFXU0xhbWJkYSBmcm9tICdhd3MtbGFtYmRhJztcbi8qKlxuICogU2VyaWFsaXplZCBmb3JtIG9mIHRoZSBwaHlzaWNhbCByZXNvdXJjZSBpZCBmb3IgdXNlIGluIHRoZSBvcGVyYXRpb24gcGFyYW1ldGVyc1xuICovXG5leHBvcnQgY29uc3QgUEhZU0lDQUxfUkVTT1VSQ0VfSURfUkVGRVJFTkNFID0gJ1BIWVNJQ0FMOlJFU09VUkNFSUQ6JztcblxuLyoqXG4gKiBGbGF0dGVucyBhIG5lc3RlZCBvYmplY3RcbiAqXG4gKiBAcGFyYW0gb2JqZWN0IHRoZSBvYmplY3QgdG8gYmUgZmxhdHRlbmVkXG4gKiBAcmV0dXJucyBhIGZsYXQgb2JqZWN0IHdpdGggcGF0aCBhcyBrZXlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuKG9iamVjdDogb2JqZWN0KTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIHt9LFxuICAgIC4uLmZ1bmN0aW9uIF9mbGF0dGVuKGNoaWxkOiBhbnksIHBhdGg6IHN0cmluZ1tdID0gW10pOiBhbnkge1xuICAgICAgcmV0dXJuIFtdLmNvbmNhdCguLi5PYmplY3Qua2V5cyhjaGlsZClcbiAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkS2V5ID0gQnVmZmVyLmlzQnVmZmVyKGNoaWxkW2tleV0pID8gY2hpbGRba2V5XS50b1N0cmluZygndXRmOCcpIDogY2hpbGRba2V5XTtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIGNoaWxkS2V5ID09PSAnb2JqZWN0JyAmJiBjaGlsZEtleSAhPT0gbnVsbFxuICAgICAgICAgICAgPyBfZmxhdHRlbihjaGlsZEtleSwgcGF0aC5jb25jYXQoW2tleV0pKVxuICAgICAgICAgICAgOiAoeyBbcGF0aC5jb25jYXQoW2tleV0pLmpvaW4oJy4nKV06IGNoaWxkS2V5IH0pO1xuICAgICAgICB9KSk7XG4gICAgfShvYmplY3QpLFxuICApO1xufVxuXG4vKipcbiAqIERlY29kZXMgZW5jb2RlZCBzcGVjaWFsIHZhbHVlcyAocGh5c2ljYWxSZXNvdXJjZUlkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlU3BlY2lhbFZhbHVlcyhvYmplY3Q6IG9iamVjdCwgcGh5c2ljYWxSZXNvdXJjZUlkOiBzdHJpbmcpIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqZWN0KSwgKF9rLCB2KSA9PiB7XG4gICAgc3dpdGNoICh2KSB7XG4gICAgICBjYXNlIFBIWVNJQ0FMX1JFU09VUkNFX0lEX1JFRkVSRU5DRTpcbiAgICAgICAgcmV0dXJuIHBoeXNpY2FsUmVzb3VyY2VJZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB2O1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRmlsdGVycyB0aGUga2V5cyBvZiBhbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJLZXlzKG9iamVjdDogb2JqZWN0LCBwcmVkOiAoa2V5OiBzdHJpbmcpID0+IGJvb2xlYW4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iamVjdClcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgW2ssIHZdKSA9PiBwcmVkKGspXG4gICAgICAgID8geyAuLi5hY2MsIFtrXTogdiB9XG4gICAgICAgIDogYWNjLFxuICAgICAge30sXG4gICAgKTtcbn1cblxudHlwZSBFdmVudCA9IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnRcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc3BvbmQoZXZlbnQ6IEV2ZW50LCByZXNwb25zZVN0YXR1czogc3RyaW5nLCByZWFzb246IHN0cmluZywgcGh5c2ljYWxSZXNvdXJjZUlkOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgU3RhdHVzOiByZXNwb25zZVN0YXR1cyxcbiAgICBSZWFzb246IHJlYXNvbixcbiAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogZXZlbnQuUmVxdWVzdElkLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBOb0VjaG86IGZhbHNlLFxuICAgIERhdGE6IGRhdGEsXG4gIH0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKCdSZXNwb25kaW5nJywgcmVzcG9uc2VCb2R5KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBwYXJzZWRVcmwgPSByZXF1aXJlKCd1cmwnKS5wYXJzZShldmVudC5SZXNwb25zZVVSTCk7XG4gIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgIGhvc3RuYW1lOiBwYXJzZWRVcmwuaG9zdG5hbWUsXG4gICAgcGF0aDogcGFyc2VkVXJsLnBhdGgsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnY29udGVudC10eXBlJzogJycsXG4gICAgICAnY29udGVudC1sZW5ndGgnOiBCdWZmZXIuYnl0ZUxlbmd0aChyZXNwb25zZUJvZHksICd1dGY4JyksXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHJlcXVpcmUoJ2h0dHBzJykucmVxdWVzdChyZXF1ZXN0T3B0aW9ucywgcmVzb2x2ZSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LndyaXRlKHJlc3BvbnNlQm9keSk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJlamVjdChlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlQ2FsbChjYWxsOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFjYWxsKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgcmV0dXJuIEpTT04ucGFyc2UoY2FsbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydHNXaXRoT25lT2Yoc2VhcmNoU3RyaW5nczogc3RyaW5nW10pOiAoc3RyaW5nOiBzdHJpbmcpID0+IGJvb2xlYW4ge1xuICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IHNlYXJjaFN0cmluZyBvZiBzZWFyY2hTdHJpbmdzKSB7XG4gICAgICBpZiAoc3RyaW5nLnN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufSJdfQ== \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json index 20121386143de..01b3bbd03d66e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6": { + "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab": { "source": { "path": "aws-cdk-sdk-js-v3.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6.json", + "objectKey": "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json index 436c5a5a0d4e7..95e425361caa1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json @@ -44,7 +44,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "PublishCustomResourcePolicyDF696FCA" @@ -111,7 +111,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { @@ -138,7 +138,7 @@ }, "Create": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", "Update": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "ListTopicsCustomResourcePolicy31A8396A", @@ -211,7 +211,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "GetParameterCustomResourcePolicyD8E5D455" @@ -311,7 +311,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -327,7 +327,7 @@ }, "Create": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", "Update": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "DescribeClusterCustomResourcePolicyD7730CF4" diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json index be64c37caffdb..83d30b0556546 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb": { + "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83": { "source": { - "path": "asset.f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb", + "path": "asset.cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip", + "objectKey": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6": { + "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab": { "source": { "path": "aws-cdk-sdk-js.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6.json", + "objectKey": "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json index 436c5a5a0d4e7..95e425361caa1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json @@ -44,7 +44,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "PublishCustomResourcePolicyDF696FCA" @@ -111,7 +111,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "S3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "Handler": "index.handler", "Role": { @@ -138,7 +138,7 @@ }, "Create": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", "Update": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "ListTopicsCustomResourcePolicy31A8396A", @@ -211,7 +211,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "GetParameterCustomResourcePolicyD8E5D455" @@ -311,7 +311,7 @@ ] ] }, - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -327,7 +327,7 @@ }, "Create": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", "Update": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": false + "InstallLatestAwsSdk": "false" }, "DependsOn": [ "DescribeClusterCustomResourcePolicyD7730CF4" diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json index b3a7bce340145..da3fcf0020248 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -39,6 +39,12 @@ "data": "TopicBFC7AF6E" } ], + "/aws-cdk-sdk-js/Publish": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js/Publish/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -63,6 +69,12 @@ "data": "AWS679f53fac002430cb0da5b7982bd22872D164C4C" } ], + "/aws-cdk-sdk-js/ListTopics": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js/ListTopics/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -81,6 +93,12 @@ "data": "Utf8Parameter6C885A19" } ], + "/aws-cdk-sdk-js/GetParameter": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js/GetParameter/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -105,12 +123,24 @@ "data": "CustomRoleDefaultPolicyC5C189DF" } ], + "/aws-cdk-sdk-js/GetParameterNoPolicy": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js/GetParameterNoPolicy/Resource/Default": [ { "type": "aws:cdk:logicalId", "data": "GetParameterNoPolicyFCF7AA3B" } ], + "/aws-cdk-sdk-js/DescribeCluster": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js/DescribeCluster/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -178,7 +208,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3a29a8d638996c791ec15348ff20ceb65bfaaf54701a465c3c8b501ab73f12d6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -200,6 +230,12 @@ "data": "TopicBFC7AF6E" } ], + "/aws-cdk-sdk-js-v3/Publish": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js-v3/Publish/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -224,6 +260,12 @@ "data": "AWS679f53fac002430cb0da5b7982bd22872D164C4C" } ], + "/aws-cdk-sdk-js-v3/ListTopics": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js-v3/ListTopics/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -242,6 +284,12 @@ "data": "Utf8Parameter6C885A19" } ], + "/aws-cdk-sdk-js-v3/GetParameter": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js-v3/GetParameter/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -266,12 +314,24 @@ "data": "CustomRoleDefaultPolicyC5C189DF" } ], + "/aws-cdk-sdk-js-v3/GetParameterNoPolicy": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js-v3/GetParameterNoPolicy/Resource/Default": [ { "type": "aws:cdk:logicalId", "data": "GetParameterNoPolicyFCF7AA3B" } ], + "/aws-cdk-sdk-js-v3/DescribeCluster": [ + { + "type": "aws:cdk:warning", + "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." + } + ], "/aws-cdk-sdk-js-v3/DescribeCluster/Resource/Default": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/tree.json index 703c707eddb1c..569de7b58df41 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/tree.json @@ -202,7 +202,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { @@ -846,7 +846,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "f5703cf7b56c39c576b7f8c03378239080baf3b390d0afe381f81bde5688e6eb.zip" + "s3Key": "cb3fb24b24fb811fe6094748adf3e7571ee53cfadc9bf6753cbb223d266daf83.zip" }, "handler": "index.handler", "role": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.assets.json b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.assets.json index 3c1c49d137eed..21d1348b351d5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "033efbe16b566cb69151acaa2d38b2c1f73bf411f644ae441daf0c6aec5a6697": { + "e7945f357f2b853f026a2feae81bd47e272d2044cdf5527889e28e875faf6900": { "source": { "path": "TriggerTestDefaultTestDeployAssert61636546.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "033efbe16b566cb69151acaa2d38b2c1f73bf411f644ae441daf0c6aec5a6697.json", + "objectKey": "e7945f357f2b853f026a2feae81bd47e272d2044cdf5527889e28e875faf6900.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.template.json b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.template.json index b40bac8dac63b..e984d428f3ebe 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/TriggerTestDefaultTestDeployAssert61636546.template.json @@ -35,7 +35,7 @@ "outputPaths": [ "Messages.0.Body" ], - "salt": "1691559124118" + "salt": "1691689594232" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -215,7 +215,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -276,7 +276,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.isComplete", @@ -318,7 +318,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.onTimeout", diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js new file mode 100644 index 0000000000000..c031312159a9d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js @@ -0,0 +1,31534 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../../aws-cdk-lib/assertions/lib/matcher.ts +var matcher_exports = {}; +__export(matcher_exports, { + MatchResult: () => MatchResult, + Matcher: () => Matcher +}); +function* range(n) { + for (let i = 0; i < n; i++) { + yield i; + } +} +function* enumFirst(xs) { + let first = true; + for (const x of xs) { + yield [first, x]; + first = false; + } +} +var Matcher, MatchResult; +var init_matcher = __esm({ + "../../aws-cdk-lib/assertions/lib/matcher.ts"() { + "use strict"; + Matcher = class _Matcher { + /** + * Check whether the provided object is a subtype of the `IMatcher`. + */ + static isMatcher(x) { + return x && x instanceof _Matcher; + } + }; + MatchResult = class { + constructor(target) { + this.failuresHere = /* @__PURE__ */ new Map(); + this.captures = /* @__PURE__ */ new Map(); + this.finalized = false; + this.innerMatchFailures = /* @__PURE__ */ new Map(); + this._hasFailed = false; + this._failCount = 0; + this._cost = 0; + this.target = target; + } + /** + * DEPRECATED + * @deprecated use recordFailure() + */ + push(matcher, path, message) { + return this.recordFailure({ matcher, path, message }); + } + /** + * Record a new failure into this result at a specific path. + */ + recordFailure(failure) { + const failKey = failure.path.join("."); + let list = this.failuresHere.get(failKey); + if (!list) { + list = []; + this.failuresHere.set(failKey, list); + } + this._failCount += 1; + this._cost += failure.cost ?? 1; + list.push(failure); + this._hasFailed = true; + return this; + } + /** Whether the match is a success */ + get isSuccess() { + return !this._hasFailed; + } + /** Does the result contain any failures. If not, the result is a success */ + hasFailed() { + return this._hasFailed; + } + /** The number of failures */ + get failCount() { + return this._failCount; + } + /** The cost of the failures so far */ + get failCost() { + return this._cost; + } + /** + * Compose the results of a previous match as a subtree. + * @param id the id of the parent tree. + */ + compose(id, inner) { + if (inner.hasFailed()) { + this._hasFailed = true; + this._failCount += inner.failCount; + this._cost += inner._cost; + this.innerMatchFailures.set(id, inner); + } + inner.captures.forEach((vals, capture) => { + vals.forEach((value) => this.recordCapture({ capture, value })); + }); + return this; + } + /** + * Prepare the result to be analyzed. + * This API *must* be called prior to analyzing these results. + */ + finished() { + if (this.finalized) { + return this; + } + if (this.failCount === 0) { + this.captures.forEach((vals, cap) => cap._captured.push(...vals)); + } + this.finalized = true; + return this; + } + /** + * Render the failed match in a presentable way + * + * Prefer using `renderMismatch` over this method. It is left for backwards + * compatibility for test suites that expect it, but `renderMismatch()` will + * produce better output. + */ + toHumanStrings() { + const failures = new Array(); + debugger; + recurse(this, []); + return failures.map((r) => { + const loc = r.path.length === 0 ? "" : ` at /${r.path.join("/")}`; + return "" + r.message + loc + ` (using ${r.matcher.name} matcher)`; + }); + function recurse(x, prefix) { + for (const fail of Array.from(x.failuresHere.values()).flat()) { + failures.push({ + matcher: fail.matcher, + message: fail.message, + path: [...prefix, ...fail.path] + }); + } + for (const [key, inner] of x.innerMatchFailures.entries()) { + recurse(inner, [...prefix, key]); + } + } + } + /** + * Do a deep render of the match result, showing the structure mismatches in context + */ + renderMismatch() { + if (!this.hasFailed()) { + return ""; + } + const parts = new Array(); + const indents = new Array(); + emitFailures(this, ""); + recurse(this); + return moveMarkersToFront(parts.join("").trimEnd()); + function emit(x) { + if (x === void 0) { + debugger; + } + parts.push(x.replace(/\n/g, ` +${indents.join("")}`)); + } + function emitFailures(r, path, scrapSet) { + for (const fail of r.failuresHere.get(path) ?? []) { + emit(`!! ${fail.message} +`); + } + scrapSet?.delete(path); + } + function recurse(r) { + const remainingFailures = new Set(Array.from(r.failuresHere.keys()).filter((x) => x !== "")); + if (Array.isArray(r.target)) { + indents.push(" "); + emit("[\n"); + for (const [first, i] of enumFirst(range(r.target.length))) { + if (!first) { + emit(",\n"); + } + emitFailures(r, `${i}`, remainingFailures); + const innerMatcher = r.innerMatchFailures.get(`${i}`); + if (innerMatcher) { + emitFailures(innerMatcher, ""); + recurseComparingValues(innerMatcher, r.target[i]); + } else { + emit(renderAbridged(r.target[i])); + } + } + emitRemaining(); + indents.pop(); + emit("\n]"); + return; + } + if (r.target && typeof r.target === "object") { + indents.push(" "); + emit("{\n"); + const keys = Array.from(/* @__PURE__ */ new Set([ + ...Object.keys(r.target), + ...Array.from(remainingFailures) + ])).sort(); + for (const [first, key] of enumFirst(keys)) { + if (!first) { + emit(",\n"); + } + emitFailures(r, key, remainingFailures); + const innerMatcher = r.innerMatchFailures.get(key); + if (innerMatcher) { + emitFailures(innerMatcher, ""); + emit(`${jsonify(key)}: `); + recurseComparingValues(innerMatcher, r.target[key]); + } else { + emit(`${jsonify(key)}: `); + emit(renderAbridged(r.target[key])); + } + } + emitRemaining(); + indents.pop(); + emit("\n}"); + return; + } + emitRemaining(); + emit(jsonify(r.target)); + function emitRemaining() { + if (remainingFailures.size > 0) { + emit("\n"); + } + for (const key of remainingFailures) { + emitFailures(r, key); + } + } + } + function recurseComparingValues(inner, actualValue) { + if (inner.target === actualValue) { + return recurse(inner); + } + emit(renderAbridged(actualValue)); + emit(" <*> "); + recurse(inner); + } + function renderAbridged(x) { + if (Array.isArray(x)) { + switch (x.length) { + case 0: + return "[]"; + case 1: + return `[ ${renderAbridged(x[0])} ]`; + case 2: + if (x.every((e) => ["number", "boolean", "string"].includes(typeof e))) { + return `[ ${x.map(renderAbridged).join(", ")} ]`; + } + return "[ ... ]"; + default: + return "[ ... ]"; + } + } + if (x && typeof x === "object") { + const keys = Object.keys(x); + switch (keys.length) { + case 0: + return "{}"; + case 1: + return `{ ${JSON.stringify(keys[0])}: ${renderAbridged(x[keys[0]])} }`; + default: + return "{ ... }"; + } + } + return jsonify(x); + } + function jsonify(x) { + return JSON.stringify(x) ?? "undefined"; + } + function moveMarkersToFront(x) { + const re = /^(\s+)!!/gm; + return x.replace(re, (_, spaces) => `!!${spaces.substring(0, spaces.length - 2)}`); + } + } + /** + * Record a capture against in this match result. + */ + recordCapture(options) { + let values = this.captures.get(options.capture); + if (values === void 0) { + values = []; + } + values.push(options.value); + this.captures.set(options.capture, values); + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts +var AbsentMatch; +var init_absent = __esm({ + "../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts"() { + "use strict"; + init_matcher(); + AbsentMatch = class extends Matcher { + constructor(name) { + super(); + this.name = name; + } + test(actual) { + const result = new MatchResult(actual); + if (actual !== void 0) { + result.recordFailure({ + matcher: this, + path: [], + message: `Received ${actual}, but key should be absent` + }); + } + return result; + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/sorting.ts +function sortKeyComparator(keyFn) { + return (a, b) => { + const ak = keyFn(a); + const bk = keyFn(b); + for (let i = 0; i < ak.length && i < bk.length; i++) { + const av = ak[i]; + const bv = bk[i]; + let diff = 0; + if (typeof av === "number" && typeof bv === "number") { + diff = av - bv; + } else if (typeof av === "string" && typeof bv === "string") { + diff = av.localeCompare(bv); + } + if (diff !== 0) { + return diff; + } + } + return bk.length - ak.length; + }; +} +var init_sorting = __esm({ + "../../aws-cdk-lib/assertions/lib/private/sorting.ts"() { + "use strict"; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts +var SparseMatrix; +var init_sparse_matrix = __esm({ + "../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts"() { + "use strict"; + SparseMatrix = class { + constructor() { + this.matrix = /* @__PURE__ */ new Map(); + } + get(row, col) { + return this.matrix.get(row)?.get(col); + } + row(row) { + return Array.from(this.matrix.get(row)?.entries() ?? []); + } + set(row, col, value) { + let r = this.matrix.get(row); + if (!r) { + r = /* @__PURE__ */ new Map(); + this.matrix.set(row, r); + } + r.set(col, value); + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/type.ts +function getType(obj) { + return Array.isArray(obj) ? "array" : typeof obj; +} +var init_type = __esm({ + "../../aws-cdk-lib/assertions/lib/private/type.ts"() { + "use strict"; + } +}); + +// ../../aws-cdk-lib/assertions/lib/match.ts +var match_exports = {}; +__export(match_exports, { + Match: () => Match +}); +var Match, LiteralMatch, ArrayMatch, ObjectMatch, SerializedJson, NotMatch, AnyMatch, StringLikeRegexpMatch; +var init_match = __esm({ + "../../aws-cdk-lib/assertions/lib/match.ts"() { + "use strict"; + init_matcher(); + init_absent(); + init_sorting(); + init_sparse_matrix(); + init_type(); + Match = class { + /** + * Use this matcher in the place of a field's value, if the field must not be present. + */ + static absent() { + return new AbsentMatch("absent"); + } + /** + * Matches the specified pattern with the array found in the same relative path of the target. + * The set of elements (or matchers) must be in the same order as would be found. + * @param pattern the pattern to match + */ + static arrayWith(pattern) { + return new ArrayMatch("arrayWith", pattern); + } + /** + * Matches the specified pattern with the array found in the same relative path of the target. + * The set of elements (or matchers) must match exactly and in order. + * @param pattern the pattern to match + */ + static arrayEquals(pattern) { + return new ArrayMatch("arrayEquals", pattern, { subsequence: false }); + } + /** + * Deep exact matching of the specified pattern to the target. + * @param pattern the pattern to match + */ + static exact(pattern) { + return new LiteralMatch("exact", pattern, { partialObjects: false }); + } + /** + * Matches the specified pattern to an object found in the same relative path of the target. + * The keys and their values (or matchers) must be present in the target but the target can be a superset. + * @param pattern the pattern to match + */ + static objectLike(pattern) { + return new ObjectMatch("objectLike", pattern); + } + /** + * Matches the specified pattern to an object found in the same relative path of the target. + * The keys and their values (or matchers) must match exactly with the target. + * @param pattern the pattern to match + */ + static objectEquals(pattern) { + return new ObjectMatch("objectEquals", pattern, { partial: false }); + } + /** + * Matches any target which does NOT follow the specified pattern. + * @param pattern the pattern to NOT match + */ + static not(pattern) { + return new NotMatch("not", pattern); + } + /** + * Matches any string-encoded JSON and applies the specified pattern after parsing it. + * @param pattern the pattern to match after parsing the encoded JSON. + */ + static serializedJson(pattern) { + return new SerializedJson("serializedJson", pattern); + } + /** + * Matches any non-null value at the target. + */ + static anyValue() { + return new AnyMatch("anyValue"); + } + /** + * Matches targets according to a regular expression + */ + static stringLikeRegexp(pattern) { + return new StringLikeRegexpMatch("stringLikeRegexp", pattern); + } + }; + LiteralMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.partialObjects = options.partialObjects ?? false; + if (Matcher.isMatcher(this.pattern)) { + throw new Error("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); + } + } + test(actual) { + if (Array.isArray(this.pattern)) { + return new ArrayMatch(this.name, this.pattern, { subsequence: false, partialObjects: this.partialObjects }).test(actual); + } + if (typeof this.pattern === "object") { + return new ObjectMatch(this.name, this.pattern, { partial: this.partialObjects }).test(actual); + } + const result = new MatchResult(actual); + if (typeof this.pattern !== typeof actual) { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected type ${typeof this.pattern} but received ${getType(actual)}` + }); + return result; + } + if (actual !== this.pattern) { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected ${this.pattern} but received ${actual}` + }); + } + return result; + } + }; + ArrayMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.subsequence = options.subsequence ?? true; + this.partialObjects = options.partialObjects ?? false; + } + test(actual) { + if (!Array.isArray(actual)) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected type array but received ${getType(actual)}` + }); + } + return this.subsequence ? this.testSubsequence(actual) : this.testFullArray(actual); + } + testFullArray(actual) { + const result = new MatchResult(actual); + let i = 0; + for (; i < this.pattern.length && i < actual.length; i++) { + const patternElement = this.pattern[i]; + const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); + const innerResult = matcher.test(actual[i]); + result.compose(`${i}`, innerResult); + } + if (i < this.pattern.length) { + result.recordFailure({ + matcher: this, + message: `Not enough elements in array (expecting ${this.pattern.length}, got ${actual.length})`, + path: [`${i}`] + }); + } + if (i < actual.length) { + result.recordFailure({ + matcher: this, + message: `Too many elements in array (expecting ${this.pattern.length}, got ${actual.length})`, + path: [`${i}`] + }); + } + return result; + } + testSubsequence(actual) { + const result = new MatchResult(actual); + let patternIdx = 0; + let actualIdx = 0; + const matches = new SparseMatrix(); + while (patternIdx < this.pattern.length && actualIdx < actual.length) { + const patternElement = this.pattern[patternIdx]; + const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); + const matcherName = matcher.name; + if (matcherName == "absent" || matcherName == "anyValue") { + throw new Error(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); + } + const innerResult = matcher.test(actual[actualIdx]); + matches.set(patternIdx, actualIdx, innerResult); + actualIdx++; + if (innerResult.isSuccess) { + result.compose(`${actualIdx}`, innerResult); + patternIdx++; + } + } + if (patternIdx < this.pattern.length) { + for (let spi = 0; spi < patternIdx; spi++) { + const foundMatch = matches.row(spi).find(([, r]) => r.isSuccess); + if (!foundMatch) { + continue; + } + const [index] = foundMatch; + result.compose(`${index}`, new MatchResult(actual[index]).recordFailure({ + matcher: this, + message: `arrayWith pattern ${spi} matched here`, + path: [], + cost: 0 + // This is an informational message so it would be unfair to assign it cost + })); + } + const failedMatches = matches.row(patternIdx); + failedMatches.sort(sortKeyComparator(([i, r]) => [r.failCost, i])); + if (failedMatches.length > 0) { + const [index, innerResult] = failedMatches[0]; + result.recordFailure({ + matcher: this, + message: `Could not match arrayWith pattern ${patternIdx}. This is the closest match`, + path: [`${index}`], + cost: 0 + // Informational message + }); + result.compose(`${index}`, innerResult); + } else { + result.recordFailure({ + matcher: this, + message: `Could not match arrayWith pattern ${patternIdx}. No more elements to try`, + path: [`${actual.length}`] + }); + } + } + return result; + } + }; + ObjectMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.partial = options.partial ?? true; + } + test(actual) { + if (typeof actual !== "object" || Array.isArray(actual)) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected type object but received ${getType(actual)}` + }); + } + const result = new MatchResult(actual); + if (!this.partial) { + for (const a of Object.keys(actual)) { + if (!(a in this.pattern)) { + result.recordFailure({ + matcher: this, + path: [a], + message: `Unexpected key ${a}` + }); + } + } + } + for (const [patternKey, patternVal] of Object.entries(this.pattern)) { + if (!(patternKey in actual) && !(patternVal instanceof AbsentMatch)) { + result.recordFailure({ + matcher: this, + path: [patternKey], + message: `Missing key '${patternKey}'` + }); + continue; + } + const matcher = Matcher.isMatcher(patternVal) ? patternVal : new LiteralMatch(this.name, patternVal, { partialObjects: this.partial }); + const inner = matcher.test(actual[patternKey]); + result.compose(patternKey, inner); + } + return result; + } + }; + SerializedJson = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + if (getType(actual) !== "string") { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected JSON as a string but found ${getType(actual)}` + }); + } + let parsed; + try { + parsed = JSON.parse(actual); + } catch (err) { + if (err instanceof SyntaxError) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Invalid JSON string: ${actual}` + }); + } else { + throw err; + } + } + const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); + const innerResult = matcher.test(parsed); + if (innerResult.hasFailed()) { + innerResult.recordFailure({ + matcher: this, + path: [], + message: "Encoded JSON value does not match" + }); + } + return innerResult; + } + }; + NotMatch = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); + const innerResult = matcher.test(actual); + const result = new MatchResult(actual); + if (innerResult.failCount === 0) { + result.recordFailure({ + matcher: this, + path: [], + message: `Found unexpected match: ${JSON.stringify(actual, void 0, 2)}` + }); + } + return result; + } + }; + AnyMatch = class extends Matcher { + constructor(name) { + super(); + this.name = name; + } + test(actual) { + const result = new MatchResult(actual); + if (actual == null) { + result.recordFailure({ + matcher: this, + path: [], + message: "Expected a value but found none" + }); + } + return result; + } + }; + StringLikeRegexpMatch = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + const result = new MatchResult(actual); + const regex = new RegExp(this.pattern, "gm"); + if (typeof actual !== "string") { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected a string, but got '${typeof actual}'` + }); + } + if (!regex.test(actual)) { + result.recordFailure({ + matcher: this, + path: [], + message: `String '${actual}' did not match pattern '${this.pattern}'` + }); + } + return result; + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/helpers-internal/index.js +var require_helpers_internal = __commonJS({ + "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports) { + "use strict"; + var __createBinding3 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar3 = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding3(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + __exportStar3((init_match(), __toCommonJS(match_exports)), exports); + __exportStar3((init_matcher(), __toCommonJS(matcher_exports)), exports); + } +}); + +// ../../../node_modules/tslib/tslib.es6.mjs +var tslib_es6_exports = {}; +__export(tslib_es6_exports, { + __addDisposableResource: () => __addDisposableResource, + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldIn: () => __classPrivateFieldIn, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __disposeResources: () => __disposeResources, + __esDecorate: () => __esDecorate, + __exportStar: () => __exportStar, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __propKey: () => __propKey, + __read: () => __read, + __rest: () => __rest, + __runInitializers: () => __runInitializers, + __setFunctionName: () => __setFunctionName, + __spread: () => __spread, + __spreadArray: () => __spreadArray, + __spreadArrays: () => __spreadArrays, + __values: () => __values, + default: () => tslib_es6_default +}); +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { + if (f !== void 0 && typeof f !== "function") + throw new TypeError("Function expected"); + return f; + } + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) + context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) + context.access[p] = contextIn.access[p]; + context.addInitializer = function(f) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f || null)); + }; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_ = accept(result.get)) + descriptor.get = _; + if (_ = accept(result.set)) + descriptor.set = _; + if (_ = accept(result.init)) + initializers.unshift(_); + } else if (_ = accept(result)) { + if (kind === "field") + initializers.unshift(_); + else + descriptor[key] = _; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; +} +function __runInitializers(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +} +function __propKey(x) { + return typeof x === "symbol" ? x : "".concat(x); +} +function __setFunctionName(f, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __exportStar(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding(o, m, p); +} +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; + } : f; + } +} +function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") + throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} +function __addDisposableResource(env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") + throw new TypeError("Object expected."); + var dispose; + if (async) { + if (!Symbol.asyncDispose) + throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) + throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + } + if (typeof dispose !== "function") + throw new TypeError("Object not disposable."); + env.stack.push({ value, dispose, async }); + } else if (async) { + env.stack.push({ async: true }); + } + return value; +} +function __disposeResources(env) { + function fail(e) { + env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + function next() { + while (env.stack.length) { + var rec = env.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) + return Promise.resolve(result).then(next, function(e) { + fail(e); + return next(); + }); + } catch (e) { + fail(e); + } + } + if (env.hasError) + throw env.error; + } + return next(); +} +var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default; +var init_tslib_es6 = __esm({ + "../../../node_modules/tslib/tslib.es6.mjs"() { + extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + __assign = function() { + __assign = Object.assign || function __assign3(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + __createBinding = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }; + _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + }; + tslib_es6_default = { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __createBinding, + __exportStar, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources + }; + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/abort.js +var require_abort = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/abort.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/auth.js +var require_auth = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/auth.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpAuthLocation = void 0; + var HttpAuthLocation; + (function(HttpAuthLocation2) { + HttpAuthLocation2["HEADER"] = "header"; + HttpAuthLocation2["QUERY"] = "query"; + })(HttpAuthLocation = exports.HttpAuthLocation || (exports.HttpAuthLocation = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js +var require_blob_payload_input_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/checksum.js +var require_checksum = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/checksum.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/client.js +var require_client = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/command.js +var require_command = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/config.js +var require_config = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/manager.js +var require_manager = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/manager.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/pool.js +var require_pool = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/pool.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/index.js +var require_connection = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_config(), exports); + tslib_1.__exportStar(require_manager(), exports); + tslib_1.__exportStar(require_pool(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/crypto.js +var require_crypto = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/crypto.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/encode.js +var require_encode = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/encode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoint.js +var require_endpoint = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointURLScheme = void 0; + var EndpointURLScheme; + (function(EndpointURLScheme2) { + EndpointURLScheme2["HTTP"] = "http"; + EndpointURLScheme2["HTTPS"] = "https"; + })(EndpointURLScheme = exports.EndpointURLScheme || (exports.EndpointURLScheme = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js +var require_EndpointRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js +var require_ErrorRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js +var require_RuleSetObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js +var require_shared = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js +var require_TreeRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js +var require_endpoints = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EndpointRuleObject(), exports); + tslib_1.__exportStar(require_ErrorRuleObject(), exports); + tslib_1.__exportStar(require_RuleSetObject(), exports); + tslib_1.__exportStar(require_shared(), exports); + tslib_1.__exportStar(require_TreeRuleObject(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/eventStream.js +var require_eventStream = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/eventStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/http.js +var require_http = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/http.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FieldPosition = void 0; + var FieldPosition; + (function(FieldPosition2) { + FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; + FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; + })(FieldPosition = exports.FieldPosition || (exports.FieldPosition = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js +var require_awsCredentialIdentity = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/identity.js +var require_identity = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/identity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/index.js +var require_identity2 = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_awsCredentialIdentity(), exports); + tslib_1.__exportStar(require_identity(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/logger.js +var require_logger = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/logger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/middleware.js +var require_middleware = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/pagination.js +var require_pagination = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/pagination.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/profile.js +var require_profile = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/profile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/response.js +var require_response = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/response.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/retry.js +var require_retry = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/serde.js +var require_serde = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/serde.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/shapes.js +var require_shapes = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/shapes.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/signature.js +var require_signature = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/signature.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/stream.js +var require_stream = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/stream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js +var require_streaming_blob_common_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js +var require_streaming_blob_payload_input_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js +var require_streaming_blob_payload_output_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transfer.js +var require_transfer = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transfer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.RequestHandlerProtocol = void 0; + var RequestHandlerProtocol; + (function(RequestHandlerProtocol2) { + RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; + RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; + RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; + })(RequestHandlerProtocol = exports.RequestHandlerProtocol || (exports.RequestHandlerProtocol = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js +var require_client_payload_blob_type_narrow = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js +var require_type_transform = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/uri.js +var require_uri = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/util.js +var require_util = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/waiter.js +var require_waiter = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/waiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/index.js +var require_dist_cjs = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_abort(), exports); + tslib_1.__exportStar(require_auth(), exports); + tslib_1.__exportStar(require_blob_payload_input_types(), exports); + tslib_1.__exportStar(require_checksum(), exports); + tslib_1.__exportStar(require_client(), exports); + tslib_1.__exportStar(require_command(), exports); + tslib_1.__exportStar(require_connection(), exports); + tslib_1.__exportStar(require_crypto(), exports); + tslib_1.__exportStar(require_encode(), exports); + tslib_1.__exportStar(require_endpoint(), exports); + tslib_1.__exportStar(require_endpoints(), exports); + tslib_1.__exportStar(require_eventStream(), exports); + tslib_1.__exportStar(require_http(), exports); + tslib_1.__exportStar(require_identity2(), exports); + tslib_1.__exportStar(require_logger(), exports); + tslib_1.__exportStar(require_middleware(), exports); + tslib_1.__exportStar(require_pagination(), exports); + tslib_1.__exportStar(require_profile(), exports); + tslib_1.__exportStar(require_response(), exports); + tslib_1.__exportStar(require_retry(), exports); + tslib_1.__exportStar(require_serde(), exports); + tslib_1.__exportStar(require_shapes(), exports); + tslib_1.__exportStar(require_signature(), exports); + tslib_1.__exportStar(require_stream(), exports); + tslib_1.__exportStar(require_streaming_blob_common_types(), exports); + tslib_1.__exportStar(require_streaming_blob_payload_input_types(), exports); + tslib_1.__exportStar(require_streaming_blob_payload_output_types(), exports); + tslib_1.__exportStar(require_transfer(), exports); + tslib_1.__exportStar(require_client_payload_blob_type_narrow(), exports); + tslib_1.__exportStar(require_type_transform(), exports); + tslib_1.__exportStar(require_uri(), exports); + tslib_1.__exportStar(require_util(), exports); + tslib_1.__exportStar(require_waiter(), exports); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js +var require_Field = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Field = void 0; + var types_1 = require_dist_cjs(); + var Field = class { + constructor({ name, kind = types_1.FieldPosition.HEADER, values = [] }) { + this.name = name; + this.kind = kind; + this.values = values; + } + add(value) { + this.values.push(value); + } + set(values) { + this.values = values; + } + remove(value) { + this.values = this.values.filter((v) => v !== value); + } + toString() { + return this.values.map((v) => v.includes(",") || v.includes(" ") ? `"${v}"` : v).join(", "); + } + get() { + return this.values; + } + }; + exports.Field = Field; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js +var require_Fields = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Fields = void 0; + var Fields = class { + constructor({ fields = [], encoding = "utf-8" }) { + this.entries = {}; + fields.forEach(this.setField.bind(this)); + this.encoding = encoding; + } + setField(field) { + this.entries[field.name.toLowerCase()] = field; + } + getField(name) { + return this.entries[name.toLowerCase()]; + } + removeField(name) { + delete this.entries[name.toLowerCase()]; + } + getByType(kind) { + return Object.values(this.entries).filter((field) => field.kind === kind); + } + }; + exports.Fields = Fields; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js +var require_httpHandler = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js +var require_httpRequest = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpRequest = void 0; + var HttpRequest = class _HttpRequest { + constructor(options) { + this.method = options.method || "GET"; + this.hostname = options.hostname || "localhost"; + this.port = options.port; + this.query = options.query || {}; + this.headers = options.headers || {}; + this.body = options.body; + this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:"; + this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/"; + this.username = options.username; + this.password = options.password; + this.fragment = options.fragment; + } + static isInstance(request2) { + if (!request2) + return false; + const req = request2; + return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object"; + } + clone() { + const cloned = new _HttpRequest({ + ...this, + headers: { ...this.headers } + }); + if (cloned.query) + cloned.query = cloneQuery(cloned.query); + return cloned; + } + }; + exports.HttpRequest = HttpRequest; + function cloneQuery(query) { + return Object.keys(query).reduce((carry, paramName) => { + const param = query[paramName]; + return { + ...carry, + [paramName]: Array.isArray(param) ? [...param] : param + }; + }, {}); + } + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js +var require_httpResponse = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpResponse = void 0; + var HttpResponse = class { + constructor(options) { + this.statusCode = options.statusCode; + this.reason = options.reason; + this.headers = options.headers || {}; + this.body = options.body; + } + static isInstance(response) { + if (!response) + return false; + const resp = response; + return typeof resp.statusCode === "number" && typeof resp.headers === "object"; + } + }; + exports.HttpResponse = HttpResponse; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js +var require_isValidHostname = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isValidHostname = void 0; + function isValidHostname(hostname) { + const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; + return hostPattern.test(hostname); + } + exports.isValidHostname = isValidHostname; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/types.js +var require_types = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/index.js +var require_dist_cjs2 = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Field(), exports); + tslib_1.__exportStar(require_Fields(), exports); + tslib_1.__exportStar(require_httpHandler(), exports); + tslib_1.__exportStar(require_httpRequest(), exports); + tslib_1.__exportStar(require_httpResponse(), exports); + tslib_1.__exportStar(require_isValidHostname(), exports); + tslib_1.__exportStar(require_types(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +var require_dist_cjs3 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0; + var protocol_http_1 = require_dist_cjs2(); + function resolveHostHeaderConfig(input) { + return input; + } + exports.resolveHostHeaderConfig = resolveHostHeaderConfig; + var hostHeaderMiddleware = (options) => (next) => async (args) => { + if (!protocol_http_1.HttpRequest.isInstance(args.request)) + return next(args); + const { request: request2 } = args; + const { handlerProtocol = "" } = options.requestHandler.metadata || {}; + if (handlerProtocol.indexOf("h2") >= 0 && !request2.headers[":authority"]) { + delete request2.headers["host"]; + request2.headers[":authority"] = ""; + } else if (!request2.headers["host"]) { + let host = request2.hostname; + if (request2.port != null) + host += `:${request2.port}`; + request2.headers["host"] = host; + } + return next(args); + }; + exports.hostHeaderMiddleware = hostHeaderMiddleware; + exports.hostHeaderMiddlewareOptions = { + name: "hostHeaderMiddleware", + step: "build", + priority: "low", + tags: ["HOST"], + override: true + }; + var getHostHeaderPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions); + } + }); + exports.getHostHeaderPlugin = getHostHeaderPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js +var require_loggerMiddleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0; + var loggerMiddleware = () => (next, context) => async (args) => { + var _a, _b; + try { + const response = await next(args); + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; + const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog; + const { $metadata, ...outputWithoutMetadata } = response.output; + (_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, { + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + output: outputFilterSensitiveLog(outputWithoutMetadata), + metadata: $metadata + }); + return response; + } catch (error) { + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; + (_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, { + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + error, + metadata: error.$metadata + }); + throw error; + } + }; + exports.loggerMiddleware = loggerMiddleware; + exports.loggerMiddlewareOptions = { + name: "loggerMiddleware", + tags: ["LOGGER"], + step: "initialize", + override: true + }; + var getLoggerPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions); + } + }); + exports.getLoggerPlugin = getLoggerPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +var require_dist_cjs4 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_loggerMiddleware(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +var require_dist_cjs5 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRecursionDetectionPlugin = exports.addRecursionDetectionMiddlewareOptions = exports.recursionDetectionMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id"; + var ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; + var ENV_TRACE_ID = "_X_AMZN_TRACE_ID"; + var recursionDetectionMiddleware = (options) => (next) => async (args) => { + const { request: request2 } = args; + if (!protocol_http_1.HttpRequest.isInstance(request2) || options.runtime !== "node" || request2.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { + return next(args); + } + const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; + const traceId = process.env[ENV_TRACE_ID]; + const nonEmptyString = (str) => typeof str === "string" && str.length > 0; + if (nonEmptyString(functionName) && nonEmptyString(traceId)) { + request2.headers[TRACE_ID_HEADER_NAME] = traceId; + } + return next({ + ...args, + request: request2 + }); + }; + exports.recursionDetectionMiddleware = recursionDetectionMiddleware; + exports.addRecursionDetectionMiddlewareOptions = { + step: "build", + tags: ["RECURSION_DETECTION"], + name: "recursionDetectionMiddleware", + override: true, + priority: "low" + }; + var getRecursionDetectionPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.recursionDetectionMiddleware)(options), exports.addRecursionDetectionMiddlewareOptions); + } + }); + exports.getRecursionDetectionPlugin = getRecursionDetectionPlugin; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js +var require_ProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ProviderError = void 0; + var ProviderError = class _ProviderError extends Error { + constructor(message, tryNextLink = true) { + super(message); + this.tryNextLink = tryNextLink; + this.name = "ProviderError"; + Object.setPrototypeOf(this, _ProviderError.prototype); + } + static from(error, tryNextLink = true) { + return Object.assign(new this(error.message, tryNextLink), error); + } + }; + exports.ProviderError = ProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js +var require_CredentialsProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CredentialsProviderError = void 0; + var ProviderError_1 = require_ProviderError(); + var CredentialsProviderError = class _CredentialsProviderError extends ProviderError_1.ProviderError { + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + this.name = "CredentialsProviderError"; + Object.setPrototypeOf(this, _CredentialsProviderError.prototype); + } + }; + exports.CredentialsProviderError = CredentialsProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js +var require_TokenProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TokenProviderError = void 0; + var ProviderError_1 = require_ProviderError(); + var TokenProviderError = class _TokenProviderError extends ProviderError_1.ProviderError { + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + this.name = "TokenProviderError"; + Object.setPrototypeOf(this, _TokenProviderError.prototype); + } + }; + exports.TokenProviderError = TokenProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/chain.js +var require_chain = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/chain.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.chain = void 0; + var ProviderError_1 = require_ProviderError(); + function chain(...providers) { + return () => { + let promise = Promise.reject(new ProviderError_1.ProviderError("No providers in chain")); + for (const provider of providers) { + promise = promise.catch((err) => { + if (err === null || err === void 0 ? void 0 : err.tryNextLink) { + return provider(); + } + throw err; + }); + } + return promise; + }; + } + exports.chain = chain; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js +var require_fromStatic = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var fromStatic = (staticValue) => () => Promise.resolve(staticValue); + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js +var require_memoize = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.memoize = void 0; + var memoize = (provider, isExpired, requiresRefresh) => { + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = async () => { + if (!pending) { + pending = provider(); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; + } + return resolved; + }; + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); + } + return resolved; + }; + } + return async (options) => { + if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); + } + if (isConstant) { + return resolved; + } + if (requiresRefresh && !requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(); + return resolved; + } + return resolved; + }; + }; + exports.memoize = memoize; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/index.js +var require_dist_cjs6 = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_CredentialsProviderError(), exports); + tslib_1.__exportStar(require_ProviderError(), exports); + tslib_1.__exportStar(require_TokenProviderError(), exports); + tslib_1.__exportStar(require_chain(), exports); + tslib_1.__exportStar(require_fromStatic(), exports); + tslib_1.__exportStar(require_memoize(), exports); + } +}); + +// ../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js +var tslib_es6_exports2 = {}; +__export(tslib_es6_exports2, { + __assign: () => __assign2, + __asyncDelegator: () => __asyncDelegator2, + __asyncGenerator: () => __asyncGenerator2, + __asyncValues: () => __asyncValues2, + __await: () => __await2, + __awaiter: () => __awaiter2, + __classPrivateFieldGet: () => __classPrivateFieldGet2, + __classPrivateFieldSet: () => __classPrivateFieldSet2, + __createBinding: () => __createBinding2, + __decorate: () => __decorate2, + __exportStar: () => __exportStar2, + __extends: () => __extends2, + __generator: () => __generator2, + __importDefault: () => __importDefault2, + __importStar: () => __importStar2, + __makeTemplateObject: () => __makeTemplateObject2, + __metadata: () => __metadata2, + __param: () => __param2, + __read: () => __read2, + __rest: () => __rest2, + __spread: () => __spread2, + __spreadArrays: () => __spreadArrays2, + __values: () => __values2 +}); +function __extends2(d, b) { + extendStatics2(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest2(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate2(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param2(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __metadata2(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter2(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator2(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __createBinding2(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; +} +function __exportStar2(m, exports) { + for (var p in m) + if (p !== "default" && !exports.hasOwnProperty(p)) + exports[p] = m[p]; +} +function __values2(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read2(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread2() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read2(arguments[i])); + return ar; +} +function __spreadArrays2() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __await2(v) { + return this instanceof __await2 ? (this.v = v, this) : new __await2(v); +} +function __asyncGenerator2(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator2(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await2(o[n](v)), done: n === "return" } : f ? f(v) : v; + } : f; + } +} +function __asyncValues2(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } +} +function __makeTemplateObject2(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar2(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (Object.hasOwnProperty.call(mod, k)) + result[k] = mod[k]; + } + result.default = mod; + return result; +} +function __importDefault2(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet2(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); +} +function __classPrivateFieldSet2(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; +} +var extendStatics2, __assign2; +var init_tslib_es62 = __esm({ + "../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js"() { + extendStatics2 = function(d, b) { + extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (b2.hasOwnProperty(p)) + d2[p] = b2[p]; + }; + return extendStatics2(d, b); + }; + __assign2 = function() { + __assign2 = Object.assign || function __assign3(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js +var require_pureJs = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + var fromUtf8 = (input) => { + const bytes = []; + for (let i = 0, len = input.length; i < len; i++) { + const value = input.charCodeAt(i); + if (value < 128) { + bytes.push(value); + } else if (value < 2048) { + bytes.push(value >> 6 | 192, value & 63 | 128); + } else if (i + 1 < input.length && (value & 64512) === 55296 && (input.charCodeAt(i + 1) & 64512) === 56320) { + const surrogatePair = 65536 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023); + bytes.push(surrogatePair >> 18 | 240, surrogatePair >> 12 & 63 | 128, surrogatePair >> 6 & 63 | 128, surrogatePair & 63 | 128); + } else { + bytes.push(value >> 12 | 224, value >> 6 & 63 | 128, value & 63 | 128); + } + } + return Uint8Array.from(bytes); + }; + exports.fromUtf8 = fromUtf8; + var toUtf8 = (input) => { + let decoded = ""; + for (let i = 0, len = input.length; i < len; i++) { + const byte = input[i]; + if (byte < 128) { + decoded += String.fromCharCode(byte); + } else if (192 <= byte && byte < 224) { + const nextByte = input[++i]; + decoded += String.fromCharCode((byte & 31) << 6 | nextByte & 63); + } else if (240 <= byte && byte < 365) { + const surrogatePair = [byte, input[++i], input[++i], input[++i]]; + const encoded = "%" + surrogatePair.map((byteValue) => byteValue.toString(16)).join("%"); + decoded += decodeURIComponent(encoded); + } else { + decoded += String.fromCharCode((byte & 15) << 12 | (input[++i] & 63) << 6 | input[++i] & 63); + } + } + return decoded; + }; + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js +var require_whatwgEncodingApi = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + function fromUtf8(input) { + return new TextEncoder().encode(input); + } + exports.fromUtf8 = fromUtf8; + function toUtf8(input) { + return new TextDecoder("utf-8").decode(input); + } + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js +var require_dist_cjs7 = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + var pureJs_1 = require_pureJs(); + var whatwgEncodingApi_1 = require_whatwgEncodingApi(); + var fromUtf8 = (input) => typeof TextEncoder === "function" ? (0, whatwgEncodingApi_1.fromUtf8)(input) : (0, pureJs_1.fromUtf8)(input); + exports.fromUtf8 = fromUtf8; + var toUtf8 = (input) => typeof TextDecoder === "function" ? (0, whatwgEncodingApi_1.toUtf8)(input) : (0, pureJs_1.toUtf8)(input); + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/convertToBuffer.js +var require_convertToBuffer = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/convertToBuffer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.convertToBuffer = void 0; + var util_utf8_browser_1 = require_dist_cjs7(); + var fromUtf8 = typeof Buffer !== "undefined" && Buffer.from ? function(input) { + return Buffer.from(input, "utf8"); + } : util_utf8_browser_1.fromUtf8; + function convertToBuffer(data) { + if (data instanceof Uint8Array) + return data; + if (typeof data === "string") { + return fromUtf8(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + } + exports.convertToBuffer = convertToBuffer; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/isEmptyData.js +var require_isEmptyData = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/isEmptyData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isEmptyData = void 0; + function isEmptyData(data) { + if (typeof data === "string") { + return data.length === 0; + } + return data.byteLength === 0; + } + exports.isEmptyData = isEmptyData; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/numToUint8.js +var require_numToUint8 = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/numToUint8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.numToUint8 = void 0; + function numToUint8(num) { + return new Uint8Array([ + (num & 4278190080) >> 24, + (num & 16711680) >> 16, + (num & 65280) >> 8, + num & 255 + ]); + } + exports.numToUint8 = numToUint8; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js +var require_uint32ArrayFrom = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uint32ArrayFrom = void 0; + function uint32ArrayFrom(a_lookUpTable) { + if (!Uint32Array.from) { + var return_array = new Uint32Array(a_lookUpTable.length); + var a_index = 0; + while (a_index < a_lookUpTable.length) { + return_array[a_index] = a_lookUpTable[a_index]; + a_index += 1; + } + return return_array; + } + return Uint32Array.from(a_lookUpTable); + } + exports.uint32ArrayFrom = uint32ArrayFrom; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/index.js +var require_build = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0; + var convertToBuffer_1 = require_convertToBuffer(); + Object.defineProperty(exports, "convertToBuffer", { enumerable: true, get: function() { + return convertToBuffer_1.convertToBuffer; + } }); + var isEmptyData_1 = require_isEmptyData(); + Object.defineProperty(exports, "isEmptyData", { enumerable: true, get: function() { + return isEmptyData_1.isEmptyData; + } }); + var numToUint8_1 = require_numToUint8(); + Object.defineProperty(exports, "numToUint8", { enumerable: true, get: function() { + return numToUint8_1.numToUint8; + } }); + var uint32ArrayFrom_1 = require_uint32ArrayFrom(); + Object.defineProperty(exports, "uint32ArrayFrom", { enumerable: true, get: function() { + return uint32ArrayFrom_1.uint32ArrayFrom; + } }); + } +}); + +// ../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js +var require_aws_crc32 = __commonJS({ + "../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AwsCrc32 = void 0; + var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); + var util_1 = require_build(); + var index_1 = require_build2(); + var AwsCrc32 = ( + /** @class */ + function() { + function AwsCrc322() { + this.crc32 = new index_1.Crc32(); + } + AwsCrc322.prototype.update = function(toHash) { + if ((0, util_1.isEmptyData)(toHash)) + return; + this.crc32.update((0, util_1.convertToBuffer)(toHash)); + }; + AwsCrc322.prototype.digest = function() { + return tslib_1.__awaiter(this, void 0, void 0, function() { + return tslib_1.__generator(this, function(_a) { + return [2, (0, util_1.numToUint8)(this.crc32.digest())]; + }); + }); + }; + AwsCrc322.prototype.reset = function() { + this.crc32 = new index_1.Crc32(); + }; + return AwsCrc322; + }() + ); + exports.AwsCrc32 = AwsCrc32; + } +}); + +// ../../../node_modules/@aws-crypto/crc32/build/index.js +var require_build2 = __commonJS({ + "../../../node_modules/@aws-crypto/crc32/build/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0; + var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); + var util_1 = require_build(); + function crc32(data) { + return new Crc32().update(data).digest(); + } + exports.crc32 = crc32; + var Crc32 = ( + /** @class */ + function() { + function Crc322() { + this.checksum = 4294967295; + } + Crc322.prototype.update = function(data) { + var e_1, _a; + try { + for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) { + var byte = data_1_1.value; + this.checksum = this.checksum >>> 8 ^ lookupTable[(this.checksum ^ byte) & 255]; + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (data_1_1 && !data_1_1.done && (_a = data_1.return)) + _a.call(data_1); + } finally { + if (e_1) + throw e_1.error; + } + } + return this; + }; + Crc322.prototype.digest = function() { + return (this.checksum ^ 4294967295) >>> 0; + }; + return Crc322; + }() + ); + exports.Crc32 = Crc32; + var a_lookUpTable = [ + 0, + 1996959894, + 3993919788, + 2567524794, + 124634137, + 1886057615, + 3915621685, + 2657392035, + 249268274, + 2044508324, + 3772115230, + 2547177864, + 162941995, + 2125561021, + 3887607047, + 2428444049, + 498536548, + 1789927666, + 4089016648, + 2227061214, + 450548861, + 1843258603, + 4107580753, + 2211677639, + 325883990, + 1684777152, + 4251122042, + 2321926636, + 335633487, + 1661365465, + 4195302755, + 2366115317, + 997073096, + 1281953886, + 3579855332, + 2724688242, + 1006888145, + 1258607687, + 3524101629, + 2768942443, + 901097722, + 1119000684, + 3686517206, + 2898065728, + 853044451, + 1172266101, + 3705015759, + 2882616665, + 651767980, + 1373503546, + 3369554304, + 3218104598, + 565507253, + 1454621731, + 3485111705, + 3099436303, + 671266974, + 1594198024, + 3322730930, + 2970347812, + 795835527, + 1483230225, + 3244367275, + 3060149565, + 1994146192, + 31158534, + 2563907772, + 4023717930, + 1907459465, + 112637215, + 2680153253, + 3904427059, + 2013776290, + 251722036, + 2517215374, + 3775830040, + 2137656763, + 141376813, + 2439277719, + 3865271297, + 1802195444, + 476864866, + 2238001368, + 4066508878, + 1812370925, + 453092731, + 2181625025, + 4111451223, + 1706088902, + 314042704, + 2344532202, + 4240017532, + 1658658271, + 366619977, + 2362670323, + 4224994405, + 1303535960, + 984961486, + 2747007092, + 3569037538, + 1256170817, + 1037604311, + 2765210733, + 3554079995, + 1131014506, + 879679996, + 2909243462, + 3663771856, + 1141124467, + 855842277, + 2852801631, + 3708648649, + 1342533948, + 654459306, + 3188396048, + 3373015174, + 1466479909, + 544179635, + 3110523913, + 3462522015, + 1591671054, + 702138776, + 2966460450, + 3352799412, + 1504918807, + 783551873, + 3082640443, + 3233442989, + 3988292384, + 2596254646, + 62317068, + 1957810842, + 3939845945, + 2647816111, + 81470997, + 1943803523, + 3814918930, + 2489596804, + 225274430, + 2053790376, + 3826175755, + 2466906013, + 167816743, + 2097651377, + 4027552580, + 2265490386, + 503444072, + 1762050814, + 4150417245, + 2154129355, + 426522225, + 1852507879, + 4275313526, + 2312317920, + 282753626, + 1742555852, + 4189708143, + 2394877945, + 397917763, + 1622183637, + 3604390888, + 2714866558, + 953729732, + 1340076626, + 3518719985, + 2797360999, + 1068828381, + 1219638859, + 3624741850, + 2936675148, + 906185462, + 1090812512, + 3747672003, + 2825379669, + 829329135, + 1181335161, + 3412177804, + 3160834842, + 628085408, + 1382605366, + 3423369109, + 3138078467, + 570562233, + 1426400815, + 3317316542, + 2998733608, + 733239954, + 1555261956, + 3268935591, + 3050360625, + 752459403, + 1541320221, + 2607071920, + 3965973030, + 1969922972, + 40735498, + 2617837225, + 3943577151, + 1913087877, + 83908371, + 2512341634, + 3803740692, + 2075208622, + 213261112, + 2463272603, + 3855990285, + 2094854071, + 198958881, + 2262029012, + 4057260610, + 1759359992, + 534414190, + 2176718541, + 4139329115, + 1873836001, + 414664567, + 2282248934, + 4279200368, + 1711684554, + 285281116, + 2405801727, + 4167216745, + 1634467795, + 376229701, + 2685067896, + 3608007406, + 1308918612, + 956543938, + 2808555105, + 3495958263, + 1231636301, + 1047427035, + 2932959818, + 3654703836, + 1088359270, + 936918e3, + 2847714899, + 3736837829, + 1202900863, + 817233897, + 3183342108, + 3401237130, + 1404277552, + 615818150, + 3134207493, + 3453421203, + 1423857449, + 601450431, + 3009837614, + 3294710456, + 1567103746, + 711928724, + 3020668471, + 3272380065, + 1510334235, + 755167117 + ]; + var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable); + var aws_crc32_1 = require_aws_crc32(); + Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function() { + return aws_crc32_1.AwsCrc32; + } }); + } +}); + +// ../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js +var require_dist_cjs8 = __commonJS({ + "../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toHex = exports.fromHex = void 0; + var SHORT_TO_HEX = {}; + var HEX_TO_SHORT = {}; + for (let i = 0; i < 256; i++) { + let encodedByte = i.toString(16).toLowerCase(); + if (encodedByte.length === 1) { + encodedByte = `0${encodedByte}`; + } + SHORT_TO_HEX[i] = encodedByte; + HEX_TO_SHORT[encodedByte] = i; + } + function fromHex(encoded) { + if (encoded.length % 2 !== 0) { + throw new Error("Hex encoded strings must have an even number length"); + } + const out = new Uint8Array(encoded.length / 2); + for (let i = 0; i < encoded.length; i += 2) { + const encodedByte = encoded.slice(i, i + 2).toLowerCase(); + if (encodedByte in HEX_TO_SHORT) { + out[i / 2] = HEX_TO_SHORT[encodedByte]; + } else { + throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); + } + } + return out; + } + exports.fromHex = fromHex; + function toHex(bytes) { + let out = ""; + for (let i = 0; i < bytes.byteLength; i++) { + out += SHORT_TO_HEX[bytes[i]]; + } + return out; + } + exports.toHex = toHex; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js +var require_Int64 = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Int64 = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var Int64 = class _Int64 { + constructor(bytes) { + this.bytes = bytes; + if (bytes.byteLength !== 8) { + throw new Error("Int64 buffers must be exactly 8 bytes"); + } + } + static fromNumber(number) { + if (number > 9223372036854776e3 || number < -9223372036854776e3) { + throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); + } + const bytes = new Uint8Array(8); + for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { + bytes[i] = remaining; + } + if (number < 0) { + negate(bytes); + } + return new _Int64(bytes); + } + valueOf() { + const bytes = this.bytes.slice(0); + const negative = bytes[0] & 128; + if (negative) { + negate(bytes); + } + return parseInt((0, util_hex_encoding_1.toHex)(bytes), 16) * (negative ? -1 : 1); + } + toString() { + return String(this.valueOf()); + } + }; + exports.Int64 = Int64; + function negate(bytes) { + for (let i = 0; i < 8; i++) { + bytes[i] ^= 255; + } + for (let i = 7; i > -1; i--) { + bytes[i]++; + if (bytes[i] !== 0) + break; + } + } + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js +var require_HeaderMarshaller = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HeaderMarshaller = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var Int64_1 = require_Int64(); + var HeaderMarshaller = class { + constructor(toUtf8, fromUtf8) { + this.toUtf8 = toUtf8; + this.fromUtf8 = fromUtf8; + } + format(headers) { + const chunks = []; + for (const headerName of Object.keys(headers)) { + const bytes = this.fromUtf8(headerName); + chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + } + const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); + let position = 0; + for (const chunk of chunks) { + out.set(chunk, position); + position += chunk.byteLength; + } + return out; + } + formatHeaderValue(header) { + switch (header.type) { + case "boolean": + return Uint8Array.from([header.value ? 0 : 1]); + case "byte": + return Uint8Array.from([2, header.value]); + case "short": + const shortView = new DataView(new ArrayBuffer(3)); + shortView.setUint8(0, 3); + shortView.setInt16(1, header.value, false); + return new Uint8Array(shortView.buffer); + case "integer": + const intView = new DataView(new ArrayBuffer(5)); + intView.setUint8(0, 4); + intView.setInt32(1, header.value, false); + return new Uint8Array(intView.buffer); + case "long": + const longBytes = new Uint8Array(9); + longBytes[0] = 5; + longBytes.set(header.value.bytes, 1); + return longBytes; + case "binary": + const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); + binView.setUint8(0, 6); + binView.setUint16(1, header.value.byteLength, false); + const binBytes = new Uint8Array(binView.buffer); + binBytes.set(header.value, 3); + return binBytes; + case "string": + const utf8Bytes = this.fromUtf8(header.value); + const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); + strView.setUint8(0, 7); + strView.setUint16(1, utf8Bytes.byteLength, false); + const strBytes = new Uint8Array(strView.buffer); + strBytes.set(utf8Bytes, 3); + return strBytes; + case "timestamp": + const tsBytes = new Uint8Array(9); + tsBytes[0] = 8; + tsBytes.set(Int64_1.Int64.fromNumber(header.value.valueOf()).bytes, 1); + return tsBytes; + case "uuid": + if (!UUID_PATTERN.test(header.value)) { + throw new Error(`Invalid UUID received: ${header.value}`); + } + const uuidBytes = new Uint8Array(17); + uuidBytes[0] = 9; + uuidBytes.set((0, util_hex_encoding_1.fromHex)(header.value.replace(/\-/g, "")), 1); + return uuidBytes; + } + } + parse(headers) { + const out = {}; + let position = 0; + while (position < headers.byteLength) { + const nameLength = headers.getUint8(position++); + const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength)); + position += nameLength; + switch (headers.getUint8(position++)) { + case 0: + out[name] = { + type: BOOLEAN_TAG, + value: true + }; + break; + case 1: + out[name] = { + type: BOOLEAN_TAG, + value: false + }; + break; + case 2: + out[name] = { + type: BYTE_TAG, + value: headers.getInt8(position++) + }; + break; + case 3: + out[name] = { + type: SHORT_TAG, + value: headers.getInt16(position, false) + }; + position += 2; + break; + case 4: + out[name] = { + type: INT_TAG, + value: headers.getInt32(position, false) + }; + position += 4; + break; + case 5: + out[name] = { + type: LONG_TAG, + value: new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)) + }; + position += 8; + break; + case 6: + const binaryLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: BINARY_TAG, + value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength) + }; + position += binaryLength; + break; + case 7: + const stringLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: STRING_TAG, + value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)) + }; + position += stringLength; + break; + case 8: + out[name] = { + type: TIMESTAMP_TAG, + value: new Date(new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()) + }; + position += 8; + break; + case 9: + const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16); + position += 16; + out[name] = { + type: UUID_TAG, + value: `${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(0, 4))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(4, 6))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(6, 8))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(8, 10))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(10))}` + }; + break; + default: + throw new Error(`Unrecognized header type tag`); + } + } + return out; + } + }; + exports.HeaderMarshaller = HeaderMarshaller; + var HEADER_VALUE_TYPE; + (function(HEADER_VALUE_TYPE2) { + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid"; + })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {})); + var BOOLEAN_TAG = "boolean"; + var BYTE_TAG = "byte"; + var SHORT_TAG = "short"; + var INT_TAG = "integer"; + var LONG_TAG = "long"; + var BINARY_TAG = "binary"; + var STRING_TAG = "string"; + var TIMESTAMP_TAG = "timestamp"; + var UUID_TAG = "uuid"; + var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js +var require_splitMessage = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.splitMessage = void 0; + var crc32_1 = require_build2(); + var PRELUDE_MEMBER_LENGTH = 4; + var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2; + var CHECKSUM_LENGTH = 4; + var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2; + function splitMessage({ byteLength, byteOffset, buffer }) { + if (byteLength < MINIMUM_MESSAGE_LENGTH) { + throw new Error("Provided message too short to accommodate event stream message overhead"); + } + const view = new DataView(buffer, byteOffset, byteLength); + const messageLength = view.getUint32(0, false); + if (byteLength !== messageLength) { + throw new Error("Reported message length does not match received message length"); + } + const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false); + const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false); + const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false); + const checksummer = new crc32_1.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH)); + if (expectedPreludeChecksum !== checksummer.digest()) { + throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`); + } + checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH))); + if (expectedMessageChecksum !== checksummer.digest()) { + throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`); + } + return { + headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength), + body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)) + }; + } + exports.splitMessage = splitMessage; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js +var require_EventStreamCodec = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EventStreamCodec = void 0; + var crc32_1 = require_build2(); + var HeaderMarshaller_1 = require_HeaderMarshaller(); + var splitMessage_1 = require_splitMessage(); + var EventStreamCodec = class { + constructor(toUtf8, fromUtf8) { + this.headerMarshaller = new HeaderMarshaller_1.HeaderMarshaller(toUtf8, fromUtf8); + this.messageBuffer = []; + this.isEndOfStream = false; + } + feed(message) { + this.messageBuffer.push(this.decode(message)); + } + endOfStream() { + this.isEndOfStream = true; + } + getMessage() { + const message = this.messageBuffer.pop(); + const isEndOfStream = this.isEndOfStream; + return { + getMessage() { + return message; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + getAvailableMessages() { + const messages = this.messageBuffer; + this.messageBuffer = []; + const isEndOfStream = this.isEndOfStream; + return { + getMessages() { + return messages; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + encode({ headers: rawHeaders, body }) { + const headers = this.headerMarshaller.format(rawHeaders); + const length = headers.byteLength + body.byteLength + 16; + const out = new Uint8Array(length); + const view = new DataView(out.buffer, out.byteOffset, out.byteLength); + const checksum = new crc32_1.Crc32(); + view.setUint32(0, length, false); + view.setUint32(4, headers.byteLength, false); + view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false); + out.set(headers, 12); + out.set(body, headers.byteLength + 12); + view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false); + return out; + } + decode(message) { + const { headers, body } = (0, splitMessage_1.splitMessage)(message); + return { headers: this.headerMarshaller.parse(headers), body }; + } + formatHeaders(rawHeaders) { + return this.headerMarshaller.format(rawHeaders); + } + }; + exports.EventStreamCodec = EventStreamCodec; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js +var require_Message = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js +var require_MessageDecoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MessageDecoderStream = void 0; + var MessageDecoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const bytes of this.options.inputStream) { + const decoded = this.options.decoder.decode(bytes); + yield decoded; + } + } + }; + exports.MessageDecoderStream = MessageDecoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js +var require_MessageEncoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MessageEncoderStream = void 0; + var MessageEncoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const msg of this.options.messageStream) { + const encoded = this.options.encoder.encode(msg); + yield encoded; + } + if (this.options.includeEndFrame) { + yield new Uint8Array(0); + } + } + }; + exports.MessageEncoderStream = MessageEncoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js +var require_SmithyMessageDecoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SmithyMessageDecoderStream = void 0; + var SmithyMessageDecoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const message of this.options.messageStream) { + const deserialized = await this.options.deserializer(message); + if (deserialized === void 0) + continue; + yield deserialized; + } + } + }; + exports.SmithyMessageDecoderStream = SmithyMessageDecoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js +var require_SmithyMessageEncoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SmithyMessageEncoderStream = void 0; + var SmithyMessageEncoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const chunk of this.options.inputStream) { + const payloadBuf = this.options.serializer(chunk); + yield payloadBuf; + } + } + }; + exports.SmithyMessageEncoderStream = SmithyMessageEncoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js +var require_dist_cjs9 = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EventStreamCodec(), exports); + tslib_1.__exportStar(require_HeaderMarshaller(), exports); + tslib_1.__exportStar(require_Int64(), exports); + tslib_1.__exportStar(require_Message(), exports); + tslib_1.__exportStar(require_MessageDecoderStream(), exports); + tslib_1.__exportStar(require_MessageEncoderStream(), exports); + tslib_1.__exportStar(require_SmithyMessageDecoderStream(), exports); + tslib_1.__exportStar(require_SmithyMessageEncoderStream(), exports); + } +}); + +// ../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js +var require_normalizeProvider = __commonJS({ + "../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.normalizeProvider = void 0; + var normalizeProvider = (input) => { + if (typeof input === "function") + return input; + const promisified = Promise.resolve(input); + return () => promisified; + }; + exports.normalizeProvider = normalizeProvider; + } +}); + +// ../../../node_modules/@smithy/util-middleware/dist-cjs/index.js +var require_dist_cjs10 = __commonJS({ + "../../../node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_normalizeProvider(), exports); + } +}); + +// ../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js +var require_dist_cjs11 = __commonJS({ + "../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isArrayBuffer = void 0; + var isArrayBuffer = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]"; + exports.isArrayBuffer = isArrayBuffer; + } +}); + +// ../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js +var require_dist_cjs12 = __commonJS({ + "../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromString = exports.fromArrayBuffer = void 0; + var is_array_buffer_1 = require_dist_cjs11(); + var buffer_1 = require("buffer"); + var fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => { + if (!(0, is_array_buffer_1.isArrayBuffer)(input)) { + throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); + } + return buffer_1.Buffer.from(input, offset, length); + }; + exports.fromArrayBuffer = fromArrayBuffer; + var fromString = (input, encoding) => { + if (typeof input !== "string") { + throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); + } + return encoding ? buffer_1.Buffer.from(input, encoding) : buffer_1.Buffer.from(input); + }; + exports.fromString = fromString; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js +var require_fromUtf8 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromUtf8 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var fromUtf8 = (input) => { + const buf = (0, util_buffer_from_1.fromString)(input, "utf8"); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); + }; + exports.fromUtf8 = fromUtf8; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js +var require_toUint8Array = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUint8Array = void 0; + var fromUtf8_1 = require_fromUtf8(); + var toUint8Array = (data) => { + if (typeof data === "string") { + return (0, fromUtf8_1.fromUtf8)(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + }; + exports.toUint8Array = toUint8Array; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js +var require_toUtf8 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var toUtf8 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/index.js +var require_dist_cjs13 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromUtf8(), exports); + tslib_1.__exportStar(require_toUint8Array(), exports); + tslib_1.__exportStar(require_toUtf8(), exports); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js +var require_constants = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MAX_PRESIGNED_TTL = exports.KEY_TYPE_IDENTIFIER = exports.MAX_CACHE_SIZE = exports.UNSIGNED_PAYLOAD = exports.EVENT_ALGORITHM_IDENTIFIER = exports.ALGORITHM_IDENTIFIER_V4A = exports.ALGORITHM_IDENTIFIER = exports.UNSIGNABLE_PATTERNS = exports.SEC_HEADER_PATTERN = exports.PROXY_HEADER_PATTERN = exports.ALWAYS_UNSIGNABLE_HEADERS = exports.HOST_HEADER = exports.TOKEN_HEADER = exports.SHA256_HEADER = exports.SIGNATURE_HEADER = exports.GENERATED_HEADERS = exports.DATE_HEADER = exports.AMZ_DATE_HEADER = exports.AUTH_HEADER = exports.REGION_SET_PARAM = exports.TOKEN_QUERY_PARAM = exports.SIGNATURE_QUERY_PARAM = exports.EXPIRES_QUERY_PARAM = exports.SIGNED_HEADERS_QUERY_PARAM = exports.AMZ_DATE_QUERY_PARAM = exports.CREDENTIAL_QUERY_PARAM = exports.ALGORITHM_QUERY_PARAM = void 0; + exports.ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; + exports.CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; + exports.AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; + exports.SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; + exports.EXPIRES_QUERY_PARAM = "X-Amz-Expires"; + exports.SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; + exports.TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; + exports.REGION_SET_PARAM = "X-Amz-Region-Set"; + exports.AUTH_HEADER = "authorization"; + exports.AMZ_DATE_HEADER = exports.AMZ_DATE_QUERY_PARAM.toLowerCase(); + exports.DATE_HEADER = "date"; + exports.GENERATED_HEADERS = [exports.AUTH_HEADER, exports.AMZ_DATE_HEADER, exports.DATE_HEADER]; + exports.SIGNATURE_HEADER = exports.SIGNATURE_QUERY_PARAM.toLowerCase(); + exports.SHA256_HEADER = "x-amz-content-sha256"; + exports.TOKEN_HEADER = exports.TOKEN_QUERY_PARAM.toLowerCase(); + exports.HOST_HEADER = "host"; + exports.ALWAYS_UNSIGNABLE_HEADERS = { + authorization: true, + "cache-control": true, + connection: true, + expect: true, + from: true, + "keep-alive": true, + "max-forwards": true, + pragma: true, + referer: true, + te: true, + trailer: true, + "transfer-encoding": true, + upgrade: true, + "user-agent": true, + "x-amzn-trace-id": true + }; + exports.PROXY_HEADER_PATTERN = /^proxy-/; + exports.SEC_HEADER_PATTERN = /^sec-/; + exports.UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i]; + exports.ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; + exports.ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256"; + exports.EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; + exports.UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; + exports.MAX_CACHE_SIZE = 50; + exports.KEY_TYPE_IDENTIFIER = "aws4_request"; + exports.MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js +var require_credentialDerivation = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.clearCredentialCache = exports.getSigningKey = exports.createScope = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var signingKeyCache = {}; + var cacheQueue = []; + var createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`; + exports.createScope = createScope; + var getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => { + const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); + const cacheKey = `${shortDate}:${region}:${service}:${(0, util_hex_encoding_1.toHex)(credsHash)}:${credentials.sessionToken}`; + if (cacheKey in signingKeyCache) { + return signingKeyCache[cacheKey]; + } + cacheQueue.push(cacheKey); + while (cacheQueue.length > constants_1.MAX_CACHE_SIZE) { + delete signingKeyCache[cacheQueue.shift()]; + } + let key = `AWS4${credentials.secretAccessKey}`; + for (const signable of [shortDate, region, service, constants_1.KEY_TYPE_IDENTIFIER]) { + key = await hmac(sha256Constructor, key, signable); + } + return signingKeyCache[cacheKey] = key; + }; + exports.getSigningKey = getSigningKey; + var clearCredentialCache = () => { + cacheQueue.length = 0; + Object.keys(signingKeyCache).forEach((cacheKey) => { + delete signingKeyCache[cacheKey]; + }); + }; + exports.clearCredentialCache = clearCredentialCache; + var hmac = (ctor, secret, data) => { + const hash = new ctor(secret); + hash.update((0, util_utf8_1.toUint8Array)(data)); + return hash.digest(); + }; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js +var require_getCanonicalHeaders = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCanonicalHeaders = void 0; + var constants_1 = require_constants(); + var getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => { + const canonical = {}; + for (const headerName of Object.keys(headers).sort()) { + if (headers[headerName] == void 0) { + continue; + } + const canonicalHeaderName = headerName.toLowerCase(); + if (canonicalHeaderName in constants_1.ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) || constants_1.PROXY_HEADER_PATTERN.test(canonicalHeaderName) || constants_1.SEC_HEADER_PATTERN.test(canonicalHeaderName)) { + if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { + continue; + } + } + canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " "); + } + return canonical; + }; + exports.getCanonicalHeaders = getCanonicalHeaders; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js +var require_escape_uri = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.escapeUri = void 0; + var escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode); + exports.escapeUri = escapeUri; + var hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js +var require_escape_uri_path = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.escapeUriPath = void 0; + var escape_uri_1 = require_escape_uri(); + var escapeUriPath = (uri) => uri.split("/").map(escape_uri_1.escapeUri).join("/"); + exports.escapeUriPath = escapeUriPath; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js +var require_dist_cjs14 = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_escape_uri(), exports); + tslib_1.__exportStar(require_escape_uri_path(), exports); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js +var require_getCanonicalQuery = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCanonicalQuery = void 0; + var util_uri_escape_1 = require_dist_cjs14(); + var constants_1 = require_constants(); + var getCanonicalQuery = ({ query = {} }) => { + const keys = []; + const serialized = {}; + for (const key of Object.keys(query).sort()) { + if (key.toLowerCase() === constants_1.SIGNATURE_HEADER) { + continue; + } + keys.push(key); + const value = query[key]; + if (typeof value === "string") { + serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; + } else if (Array.isArray(value)) { + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); + } + } + return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); + }; + exports.getCanonicalQuery = getCanonicalQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js +var require_getPayloadHash = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getPayloadHash = void 0; + var is_array_buffer_1 = require_dist_cjs11(); + var util_hex_encoding_1 = require_dist_cjs8(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var getPayloadHash = async ({ headers, body }, hashConstructor) => { + for (const headerName of Object.keys(headers)) { + if (headerName.toLowerCase() === constants_1.SHA256_HEADER) { + return headers[headerName]; + } + } + if (body == void 0) { + return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + } else if (typeof body === "string" || ArrayBuffer.isView(body) || (0, is_array_buffer_1.isArrayBuffer)(body)) { + const hashCtor = new hashConstructor(); + hashCtor.update((0, util_utf8_1.toUint8Array)(body)); + return (0, util_hex_encoding_1.toHex)(await hashCtor.digest()); + } + return constants_1.UNSIGNED_PAYLOAD; + }; + exports.getPayloadHash = getPayloadHash; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js +var require_headerUtil = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.deleteHeader = exports.getHeaderValue = exports.hasHeader = void 0; + var hasHeader = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return true; + } + } + return false; + }; + exports.hasHeader = hasHeader; + var getHeaderValue = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return headers[headerName]; + } + } + return void 0; + }; + exports.getHeaderValue = getHeaderValue; + var deleteHeader = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + delete headers[headerName]; + } + } + }; + exports.deleteHeader = deleteHeader; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js +var require_cloneRequest = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.cloneQuery = exports.cloneRequest = void 0; + var cloneRequest = ({ headers, query, ...rest }) => ({ + ...rest, + headers: { ...headers }, + query: query ? (0, exports.cloneQuery)(query) : void 0 + }); + exports.cloneRequest = cloneRequest; + var cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => { + const param = query[paramName]; + return { + ...carry, + [paramName]: Array.isArray(param) ? [...param] : param + }; + }, {}); + exports.cloneQuery = cloneQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js +var require_moveHeadersToQuery = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.moveHeadersToQuery = void 0; + var cloneRequest_1 = require_cloneRequest(); + var moveHeadersToQuery = (request2, options = {}) => { + var _a; + const { headers, query = {} } = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); + for (const name of Object.keys(headers)) { + const lname = name.toLowerCase(); + if (lname.slice(0, 6) === "x-amz-" && !((_a = options.unhoistableHeaders) === null || _a === void 0 ? void 0 : _a.has(lname))) { + query[name] = headers[name]; + delete headers[name]; + } + } + return { + ...request2, + headers, + query + }; + }; + exports.moveHeadersToQuery = moveHeadersToQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js +var require_prepareRequest = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.prepareRequest = void 0; + var cloneRequest_1 = require_cloneRequest(); + var constants_1 = require_constants(); + var prepareRequest = (request2) => { + request2 = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); + for (const headerName of Object.keys(request2.headers)) { + if (constants_1.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { + delete request2.headers[headerName]; + } + } + return request2; + }; + exports.prepareRequest = prepareRequest; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js +var require_utilDate = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toDate = exports.iso8601 = void 0; + var iso8601 = (time) => (0, exports.toDate)(time).toISOString().replace(/\.\d{3}Z$/, "Z"); + exports.iso8601 = iso8601; + var toDate = (time) => { + if (typeof time === "number") { + return new Date(time * 1e3); + } + if (typeof time === "string") { + if (Number(time)) { + return new Date(Number(time) * 1e3); + } + return new Date(time); + } + return time; + }; + exports.toDate = toDate; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js +var require_SignatureV4 = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SignatureV4 = void 0; + var eventstream_codec_1 = require_dist_cjs9(); + var util_hex_encoding_1 = require_dist_cjs8(); + var util_middleware_1 = require_dist_cjs10(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var credentialDerivation_1 = require_credentialDerivation(); + var getCanonicalHeaders_1 = require_getCanonicalHeaders(); + var getCanonicalQuery_1 = require_getCanonicalQuery(); + var getPayloadHash_1 = require_getPayloadHash(); + var headerUtil_1 = require_headerUtil(); + var moveHeadersToQuery_1 = require_moveHeadersToQuery(); + var prepareRequest_1 = require_prepareRequest(); + var utilDate_1 = require_utilDate(); + var SignatureV4 = class { + constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) { + this.headerMarshaller = new eventstream_codec_1.HeaderMarshaller(util_utf8_1.toUtf8, util_utf8_1.fromUtf8); + this.service = service; + this.sha256 = sha256; + this.uriEscapePath = uriEscapePath; + this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; + this.regionProvider = (0, util_middleware_1.normalizeProvider)(region); + this.credentialProvider = (0, util_middleware_1.normalizeProvider)(credentials); + } + async presign(originalRequest, options = {}) { + const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService } = options; + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { longDate, shortDate } = formatDate(signingDate); + if (expiresIn > constants_1.MAX_PRESIGNED_TTL) { + return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future"); + } + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + const request2 = (0, moveHeadersToQuery_1.moveHeadersToQuery)((0, prepareRequest_1.prepareRequest)(originalRequest), { unhoistableHeaders }); + if (credentials.sessionToken) { + request2.query[constants_1.TOKEN_QUERY_PARAM] = credentials.sessionToken; + } + request2.query[constants_1.ALGORITHM_QUERY_PARAM] = constants_1.ALGORITHM_IDENTIFIER; + request2.query[constants_1.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; + request2.query[constants_1.AMZ_DATE_QUERY_PARAM] = longDate; + request2.query[constants_1.EXPIRES_QUERY_PARAM] = expiresIn.toString(10); + const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); + request2.query[constants_1.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders); + request2.query[constants_1.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, await (0, getPayloadHash_1.getPayloadHash)(originalRequest, this.sha256))); + return request2; + } + async sign(toSign, options) { + if (typeof toSign === "string") { + return this.signString(toSign, options); + } else if (toSign.headers && toSign.payload) { + return this.signEvent(toSign, options); + } else if (toSign.message) { + return this.signMessage(toSign, options); + } else { + return this.signRequest(toSign, options); + } + } + async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) { + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { shortDate, longDate } = formatDate(signingDate); + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + const hashedPayload = await (0, getPayloadHash_1.getPayloadHash)({ headers: {}, body: payload }, this.sha256); + const hash = new this.sha256(); + hash.update(headers); + const hashedHeaders = (0, util_hex_encoding_1.toHex)(await hash.digest()); + const stringToSign = [ + constants_1.EVENT_ALGORITHM_IDENTIFIER, + longDate, + scope, + priorSignature, + hashedHeaders, + hashedPayload + ].join("\n"); + return this.signString(stringToSign, { signingDate, signingRegion: region, signingService }); + } + async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) { + const promise = this.signEvent({ + headers: this.headerMarshaller.format(signableMessage.message.headers), + payload: signableMessage.message.body + }, { + signingDate, + signingRegion, + signingService, + priorSignature: signableMessage.priorSignature + }); + return promise.then((signature) => { + return { message: signableMessage.message, signature }; + }); + } + async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { shortDate } = formatDate(signingDate); + const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); + hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); + return (0, util_hex_encoding_1.toHex)(await hash.digest()); + } + async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const request2 = (0, prepareRequest_1.prepareRequest)(requestToSign); + const { longDate, shortDate } = formatDate(signingDate); + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + request2.headers[constants_1.AMZ_DATE_HEADER] = longDate; + if (credentials.sessionToken) { + request2.headers[constants_1.TOKEN_HEADER] = credentials.sessionToken; + } + const payloadHash = await (0, getPayloadHash_1.getPayloadHash)(request2, this.sha256); + if (!(0, headerUtil_1.hasHeader)(constants_1.SHA256_HEADER, request2.headers) && this.applyChecksum) { + request2.headers[constants_1.SHA256_HEADER] = payloadHash; + } + const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); + const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, payloadHash)); + request2.headers[constants_1.AUTH_HEADER] = `${constants_1.ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; + return request2; + } + createCanonicalRequest(request2, canonicalHeaders, payloadHash) { + const sortedHeaders = Object.keys(canonicalHeaders).sort(); + return `${request2.method} +${this.getCanonicalPath(request2)} +${(0, getCanonicalQuery_1.getCanonicalQuery)(request2)} +${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")} + +${sortedHeaders.join(";")} +${payloadHash}`; + } + async createStringToSign(longDate, credentialScope, canonicalRequest) { + const hash = new this.sha256(); + hash.update((0, util_utf8_1.toUint8Array)(canonicalRequest)); + const hashedRequest = await hash.digest(); + return `${constants_1.ALGORITHM_IDENTIFIER} +${longDate} +${credentialScope} +${(0, util_hex_encoding_1.toHex)(hashedRequest)}`; + } + getCanonicalPath({ path }) { + if (this.uriEscapePath) { + const normalizedPathSegments = []; + for (const pathSegment of path.split("/")) { + if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0) + continue; + if (pathSegment === ".") + continue; + if (pathSegment === "..") { + normalizedPathSegments.pop(); + } else { + normalizedPathSegments.push(pathSegment); + } + } + const normalizedPath = `${(path === null || path === void 0 ? void 0 : path.startsWith("/")) ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith("/")) ? "/" : ""}`; + const doubleEncoded = encodeURIComponent(normalizedPath); + return doubleEncoded.replace(/%2F/g, "/"); + } + return path; + } + async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { + const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest); + const hash = new this.sha256(await keyPromise); + hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); + return (0, util_hex_encoding_1.toHex)(await hash.digest()); + } + getSigningKey(credentials, region, shortDate, service) { + return (0, credentialDerivation_1.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service); + } + validateResolvedCredentials(credentials) { + if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") { + throw new Error("Resolved credential object is not valid"); + } + } + }; + exports.SignatureV4 = SignatureV4; + var formatDate = (now) => { + const longDate = (0, utilDate_1.iso8601)(now).replace(/[\-:]/g, ""); + return { + longDate, + shortDate: longDate.slice(0, 8) + }; + }; + var getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(";"); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/index.js +var require_dist_cjs15 = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.prepareRequest = exports.moveHeadersToQuery = exports.getPayloadHash = exports.getCanonicalQuery = exports.getCanonicalHeaders = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SignatureV4(), exports); + var getCanonicalHeaders_1 = require_getCanonicalHeaders(); + Object.defineProperty(exports, "getCanonicalHeaders", { enumerable: true, get: function() { + return getCanonicalHeaders_1.getCanonicalHeaders; + } }); + var getCanonicalQuery_1 = require_getCanonicalQuery(); + Object.defineProperty(exports, "getCanonicalQuery", { enumerable: true, get: function() { + return getCanonicalQuery_1.getCanonicalQuery; + } }); + var getPayloadHash_1 = require_getPayloadHash(); + Object.defineProperty(exports, "getPayloadHash", { enumerable: true, get: function() { + return getPayloadHash_1.getPayloadHash; + } }); + var moveHeadersToQuery_1 = require_moveHeadersToQuery(); + Object.defineProperty(exports, "moveHeadersToQuery", { enumerable: true, get: function() { + return moveHeadersToQuery_1.moveHeadersToQuery; + } }); + var prepareRequest_1 = require_prepareRequest(); + Object.defineProperty(exports, "prepareRequest", { enumerable: true, get: function() { + return prepareRequest_1.prepareRequest; + } }); + tslib_1.__exportStar(require_credentialDerivation(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js +var require_awsAuthConfiguration = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0; + var property_provider_1 = require_dist_cjs6(); + var signature_v4_1 = require_dist_cjs15(); + var util_middleware_1 = require_dist_cjs10(); + var CREDENTIAL_EXPIRE_WINDOW = 3e5; + var resolveAwsAuthConfig = (input) => { + const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); + const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; + let signer; + if (input.signer) { + signer = (0, util_middleware_1.normalizeProvider)(input.signer); + } else if (input.regionInfoProvider) { + signer = () => (0, util_middleware_1.normalizeProvider)(input.region)().then(async (region) => [ + await input.regionInfoProvider(region, { + useFipsEndpoint: await input.useFipsEndpoint(), + useDualstackEndpoint: await input.useDualstackEndpoint() + }) || {}, + region + ]).then(([regionInfo, region]) => { + const { signingRegion, signingService } = regionInfo; + input.signingRegion = input.signingRegion || signingRegion || region; + input.signingName = input.signingName || signingService || input.serviceId; + const params = { + ...input, + credentials: normalizedCreds, + region: input.signingRegion, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; + return new SignerCtor(params); + }); + } else { + signer = async (authScheme) => { + authScheme = Object.assign({}, { + name: "sigv4", + signingName: input.signingName || input.defaultSigningName, + signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(), + properties: {} + }, authScheme); + const signingRegion = authScheme.signingRegion; + const signingService = authScheme.signingName; + input.signingRegion = input.signingRegion || signingRegion; + input.signingName = input.signingName || signingService || input.serviceId; + const params = { + ...input, + credentials: normalizedCreds, + region: input.signingRegion, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; + return new SignerCtor(params); + }; + } + return { + ...input, + systemClockOffset, + signingEscapePath, + credentials: normalizedCreds, + signer + }; + }; + exports.resolveAwsAuthConfig = resolveAwsAuthConfig; + var resolveSigV4AuthConfig = (input) => { + const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); + const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; + let signer; + if (input.signer) { + signer = (0, util_middleware_1.normalizeProvider)(input.signer); + } else { + signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({ + credentials: normalizedCreds, + region: input.region, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + })); + } + return { + ...input, + systemClockOffset, + signingEscapePath, + credentials: normalizedCreds, + signer + }; + }; + exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig; + var normalizeCredentialProvider = (credentials) => { + if (typeof credentials === "function") { + return (0, property_provider_1.memoize)(credentials, (credentials2) => credentials2.expiration !== void 0 && credentials2.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials2) => credentials2.expiration !== void 0); + } + return (0, util_middleware_1.normalizeProvider)(credentials); + }; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js +var require_getSkewCorrectedDate = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSkewCorrectedDate = void 0; + var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset); + exports.getSkewCorrectedDate = getSkewCorrectedDate; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js +var require_isClockSkewed = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isClockSkewed = void 0; + var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); + var isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 3e5; + exports.isClockSkewed = isClockSkewed; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js +var require_getUpdatedSystemClockOffset = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUpdatedSystemClockOffset = void 0; + var isClockSkewed_1 = require_isClockSkewed(); + var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => { + const clockTimeInMs = Date.parse(clockTime); + if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) { + return clockTimeInMs - Date.now(); + } + return currentSystemClockOffset; + }; + exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js +var require_awsAuthMiddleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); + var getUpdatedSystemClockOffset_1 = require_getUpdatedSystemClockOffset(); + var awsAuthMiddleware = (options) => (next, context) => async function(args) { + var _a, _b, _c, _d; + if (!protocol_http_1.HttpRequest.isInstance(args.request)) + return next(args); + const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0]; + const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(",") : void 0; + const signer = await options.signer(authScheme); + const output = await next({ + ...args, + request: await signer.sign(args.request, { + signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset), + signingRegion: multiRegionOverride || context["signing_region"], + signingService: context["signing_service"] + }) + }).catch((error) => { + var _a2; + const serverTime = (_a2 = error.ServerTime) !== null && _a2 !== void 0 ? _a2 : getDateHeader(error.$response); + if (serverTime) { + options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset); + } + throw error; + }); + const dateHeader = getDateHeader(output.response); + if (dateHeader) { + options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset); + } + return output; + }; + exports.awsAuthMiddleware = awsAuthMiddleware; + var getDateHeader = (response) => { + var _a, _b, _c; + return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : void 0; + }; + exports.awsAuthMiddlewareOptions = { + name: "awsAuthMiddleware", + tags: ["SIGNATURE", "AWSAUTH"], + relation: "after", + toMiddleware: "retryMiddleware", + override: true + }; + var getAwsAuthPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions); + } + }); + exports.getAwsAuthPlugin = getAwsAuthPlugin; + exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js +var require_dist_cjs16 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_awsAuthConfiguration(), exports); + tslib_1.__exportStar(require_awsAuthMiddleware(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js +var require_configurations = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveUserAgentConfig = void 0; + function resolveUserAgentConfig(input) { + return { + ...input, + customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent + }; + } + exports.resolveUserAgentConfig = resolveUserAgentConfig; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +var require_partitions = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json"(exports, module2) { + module2.exports = { + partitions: [{ + id: "aws", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + name: "aws", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$", + regions: { + "af-south-1": { + description: "Africa (Cape Town)" + }, + "ap-east-1": { + description: "Asia Pacific (Hong Kong)" + }, + "ap-northeast-1": { + description: "Asia Pacific (Tokyo)" + }, + "ap-northeast-2": { + description: "Asia Pacific (Seoul)" + }, + "ap-northeast-3": { + description: "Asia Pacific (Osaka)" + }, + "ap-south-1": { + description: "Asia Pacific (Mumbai)" + }, + "ap-south-2": { + description: "Asia Pacific (Hyderabad)" + }, + "ap-southeast-1": { + description: "Asia Pacific (Singapore)" + }, + "ap-southeast-2": { + description: "Asia Pacific (Sydney)" + }, + "ap-southeast-3": { + description: "Asia Pacific (Jakarta)" + }, + "ap-southeast-4": { + description: "Asia Pacific (Melbourne)" + }, + "aws-global": { + description: "AWS Standard global region" + }, + "ca-central-1": { + description: "Canada (Central)" + }, + "eu-central-1": { + description: "Europe (Frankfurt)" + }, + "eu-central-2": { + description: "Europe (Zurich)" + }, + "eu-north-1": { + description: "Europe (Stockholm)" + }, + "eu-south-1": { + description: "Europe (Milan)" + }, + "eu-south-2": { + description: "Europe (Spain)" + }, + "eu-west-1": { + description: "Europe (Ireland)" + }, + "eu-west-2": { + description: "Europe (London)" + }, + "eu-west-3": { + description: "Europe (Paris)" + }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, + "me-central-1": { + description: "Middle East (UAE)" + }, + "me-south-1": { + description: "Middle East (Bahrain)" + }, + "sa-east-1": { + description: "South America (Sao Paulo)" + }, + "us-east-1": { + description: "US East (N. Virginia)" + }, + "us-east-2": { + description: "US East (Ohio)" + }, + "us-west-1": { + description: "US West (N. California)" + }, + "us-west-2": { + description: "US West (Oregon)" + } + } + }, { + id: "aws-cn", + outputs: { + dnsSuffix: "amazonaws.com.cn", + dualStackDnsSuffix: "api.amazonwebservices.com.cn", + name: "aws-cn", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^cn\\-\\w+\\-\\d+$", + regions: { + "aws-cn-global": { + description: "AWS China global region" + }, + "cn-north-1": { + description: "China (Beijing)" + }, + "cn-northwest-1": { + description: "China (Ningxia)" + } + } + }, { + id: "aws-us-gov", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + name: "aws-us-gov", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", + regions: { + "aws-us-gov-global": { + description: "AWS GovCloud (US) global region" + }, + "us-gov-east-1": { + description: "AWS GovCloud (US-East)" + }, + "us-gov-west-1": { + description: "AWS GovCloud (US-West)" + } + } + }, { + id: "aws-iso", + outputs: { + dnsSuffix: "c2s.ic.gov", + dualStackDnsSuffix: "c2s.ic.gov", + name: "aws-iso", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", + regions: { + "aws-iso-global": { + description: "AWS ISO (US) global region" + }, + "us-iso-east-1": { + description: "US ISO East" + }, + "us-iso-west-1": { + description: "US ISO WEST" + } + } + }, { + id: "aws-iso-b", + outputs: { + dnsSuffix: "sc2s.sgov.gov", + dualStackDnsSuffix: "sc2s.sgov.gov", + name: "aws-iso-b", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isob\\-\\w+\\-\\d+$", + regions: { + "aws-iso-b-global": { + description: "AWS ISOB (US) global region" + }, + "us-isob-east-1": { + description: "US ISOB East (Ohio)" + } + } + }, { + id: "aws-iso-e", + outputs: { + dnsSuffix: "cloud.adc-e.uk", + dualStackDnsSuffix: "cloud.adc-e.uk", + name: "aws-iso-e", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$", + regions: {} + }, { + id: "aws-iso-f", + outputs: { + dnsSuffix: "csp.hci.ic.gov", + dualStackDnsSuffix: "csp.hci.ic.gov", + name: "aws-iso-f", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isof\\-\\w+\\-\\d+$", + regions: {} + }], + version: "1.1" + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js +var require_partition = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUserAgentPrefix = exports.useDefaultPartitionInfo = exports.setPartitionInfo = exports.partition = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var partitions_json_1 = tslib_1.__importDefault(require_partitions()); + var selectedPartitionsInfo = partitions_json_1.default; + var selectedUserAgentPrefix = ""; + var partition = (value) => { + const { partitions } = selectedPartitionsInfo; + for (const partition2 of partitions) { + const { regions, outputs } = partition2; + for (const [region, regionData] of Object.entries(regions)) { + if (region === value) { + return { + ...outputs, + ...regionData + }; + } + } + } + for (const partition2 of partitions) { + const { regionRegex, outputs } = partition2; + if (new RegExp(regionRegex).test(value)) { + return { + ...outputs + }; + } + } + const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); + if (!DEFAULT_PARTITION) { + throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist."); + } + return { + ...DEFAULT_PARTITION.outputs + }; + }; + exports.partition = partition; + var setPartitionInfo = (partitionsInfo, userAgentPrefix = "") => { + selectedPartitionsInfo = partitionsInfo; + selectedUserAgentPrefix = userAgentPrefix; + }; + exports.setPartitionInfo = setPartitionInfo; + var useDefaultPartitionInfo = () => { + (0, exports.setPartitionInfo)(partitions_json_1.default, ""); + }; + exports.useDefaultPartitionInfo = useDefaultPartitionInfo; + var getUserAgentPrefix = () => selectedUserAgentPrefix; + exports.getUserAgentPrefix = getUserAgentPrefix; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js +var require_isIpAddress = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isIpAddress = void 0; + var IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`); + var isIpAddress = (value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"); + exports.isIpAddress = isIpAddress; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js +var require_debugId = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.debugId = void 0; + exports.debugId = "endpoints"; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js +var require_toDebugString = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toDebugString = void 0; + function toDebugString(input) { + if (typeof input !== "object" || input == null) { + return input; + } + if ("ref" in input) { + return `$${toDebugString(input.ref)}`; + } + if ("fn" in input) { + return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; + } + return JSON.stringify(input, null, 2); + } + exports.toDebugString = toDebugString; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js +var require_debug = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_debugId(), exports); + tslib_1.__exportStar(require_toDebugString(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js +var require_EndpointError = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointError = void 0; + var EndpointError = class extends Error { + constructor(message) { + super(message); + this.name = "EndpointError"; + } + }; + exports.EndpointError = EndpointError; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js +var require_EndpointRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js +var require_ErrorRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js +var require_RuleSetObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js +var require_TreeRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js +var require_shared2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js +var require_types2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EndpointError(), exports); + tslib_1.__exportStar(require_EndpointRuleObject2(), exports); + tslib_1.__exportStar(require_ErrorRuleObject2(), exports); + tslib_1.__exportStar(require_RuleSetObject2(), exports); + tslib_1.__exportStar(require_TreeRuleObject2(), exports); + tslib_1.__exportStar(require_shared2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js +var require_isValidHostLabel = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isValidHostLabel = void 0; + var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); + var isValidHostLabel = (value, allowSubDomains = false) => { + if (!allowSubDomains) { + return VALID_HOST_LABEL_REGEX.test(value); + } + const labels = value.split("."); + for (const label of labels) { + if (!(0, exports.isValidHostLabel)(label)) { + return false; + } + } + return true; + }; + exports.isValidHostLabel = isValidHostLabel; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js +var require_isVirtualHostableS3Bucket = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isVirtualHostableS3Bucket = void 0; + var isIpAddress_1 = require_isIpAddress(); + var isValidHostLabel_1 = require_isValidHostLabel(); + var isVirtualHostableS3Bucket = (value, allowSubDomains = false) => { + if (allowSubDomains) { + for (const label of value.split(".")) { + if (!(0, exports.isVirtualHostableS3Bucket)(label)) { + return false; + } + } + return true; + } + if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) { + return false; + } + if (value.length < 3 || value.length > 63) { + return false; + } + if (value !== value.toLowerCase()) { + return false; + } + if ((0, isIpAddress_1.isIpAddress)(value)) { + return false; + } + return true; + }; + exports.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js +var require_parseArn = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseArn = void 0; + var parseArn = (value) => { + const segments = value.split(":"); + if (segments.length < 6) + return null; + const [arn, partition, service, region, accountId, ...resourceId] = segments; + if (arn !== "arn" || partition === "" || service === "" || resourceId[0] === "") + return null; + return { + partition, + service, + region, + accountId, + resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId + }; + }; + exports.parseArn = parseArn; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js +var require_aws = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_isVirtualHostableS3Bucket(), exports); + tslib_1.__exportStar(require_parseArn(), exports); + tslib_1.__exportStar(require_partition(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js +var require_booleanEquals = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.booleanEquals = void 0; + var booleanEquals = (value1, value2) => value1 === value2; + exports.booleanEquals = booleanEquals; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js +var require_getAttrPathList = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAttrPathList = void 0; + var types_1 = require_types2(); + var getAttrPathList = (path) => { + const parts = path.split("."); + const pathList = []; + for (const part of parts) { + const squareBracketIndex = part.indexOf("["); + if (squareBracketIndex !== -1) { + if (part.indexOf("]") !== part.length - 1) { + throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`); + } + const arrayIndex = part.slice(squareBracketIndex + 1, -1); + if (Number.isNaN(parseInt(arrayIndex))) { + throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`); + } + if (squareBracketIndex !== 0) { + pathList.push(part.slice(0, squareBracketIndex)); + } + pathList.push(arrayIndex); + } else { + pathList.push(part); + } + } + return pathList; + }; + exports.getAttrPathList = getAttrPathList; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js +var require_getAttr = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAttr = void 0; + var types_1 = require_types2(); + var getAttrPathList_1 = require_getAttrPathList(); + var getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => { + if (typeof acc !== "object") { + throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); + } else if (Array.isArray(acc)) { + return acc[parseInt(index)]; + } + return acc[index]; + }, value); + exports.getAttr = getAttr; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js +var require_isSet = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isSet = void 0; + var isSet = (value) => value != null; + exports.isSet = isSet; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js +var require_not = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.not = void 0; + var not = (value) => !value; + exports.not = not; + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/abort.js +var require_abort2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/abort.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/auth.js +var require_auth2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/auth.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpAuthLocation = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "HttpAuthLocation", { enumerable: true, get: function() { + return types_1.HttpAuthLocation; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js +var require_blob_types = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js +var require_checksum2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/client.js +var require_client2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/command.js +var require_command2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/connection.js +var require_connection2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/connection.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js +var require_credentials = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js +var require_crypto2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/dns.js +var require_dns = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/dns.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HostAddressType = void 0; + var HostAddressType; + (function(HostAddressType2) { + HostAddressType2["AAAA"] = "AAAA"; + HostAddressType2["A"] = "A"; + })(HostAddressType = exports.HostAddressType || (exports.HostAddressType = {})); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/encode.js +var require_encode2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/encode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js +var require_endpoint2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointURLScheme = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "EndpointURLScheme", { enumerable: true, get: function() { + return types_1.EndpointURLScheme; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js +var require_eventStream2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/http.js +var require_http2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/http.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js +var require_AnonymousIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js +var require_AwsCredentialIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js +var require_Identity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js +var require_LoginIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js +var require_TokenIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js +var require_identity3 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AnonymousIdentity(), exports); + tslib_1.__exportStar(require_AwsCredentialIdentity(), exports); + tslib_1.__exportStar(require_Identity(), exports); + tslib_1.__exportStar(require_LoginIdentity(), exports); + tslib_1.__exportStar(require_TokenIdentity(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/logger.js +var require_logger2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/logger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js +var require_middleware2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js +var require_pagination2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/profile.js +var require_profile2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/profile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/request.js +var require_request = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/request.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/response.js +var require_response2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/response.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/retry.js +var require_retry2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/serde.js +var require_serde2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/serde.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js +var require_shapes2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/signature.js +var require_signature2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/signature.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/stream.js +var require_stream2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/stream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/token.js +var require_token = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/token.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js +var require_transfer2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.RequestHandlerProtocol = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "RequestHandlerProtocol", { enumerable: true, get: function() { + return types_1.RequestHandlerProtocol; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/uri.js +var require_uri2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/util.js +var require_util2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js +var require_waiter2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/index.js +var require_dist_cjs17 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_abort2(), exports); + tslib_1.__exportStar(require_auth2(), exports); + tslib_1.__exportStar(require_blob_types(), exports); + tslib_1.__exportStar(require_checksum2(), exports); + tslib_1.__exportStar(require_client2(), exports); + tslib_1.__exportStar(require_command2(), exports); + tslib_1.__exportStar(require_connection2(), exports); + tslib_1.__exportStar(require_credentials(), exports); + tslib_1.__exportStar(require_crypto2(), exports); + tslib_1.__exportStar(require_dns(), exports); + tslib_1.__exportStar(require_encode2(), exports); + tslib_1.__exportStar(require_endpoint2(), exports); + tslib_1.__exportStar(require_eventStream2(), exports); + tslib_1.__exportStar(require_http2(), exports); + tslib_1.__exportStar(require_identity3(), exports); + tslib_1.__exportStar(require_logger2(), exports); + tslib_1.__exportStar(require_middleware2(), exports); + tslib_1.__exportStar(require_pagination2(), exports); + tslib_1.__exportStar(require_profile2(), exports); + tslib_1.__exportStar(require_request(), exports); + tslib_1.__exportStar(require_response2(), exports); + tslib_1.__exportStar(require_retry2(), exports); + tslib_1.__exportStar(require_serde2(), exports); + tslib_1.__exportStar(require_shapes2(), exports); + tslib_1.__exportStar(require_signature2(), exports); + tslib_1.__exportStar(require_stream2(), exports); + tslib_1.__exportStar(require_token(), exports); + tslib_1.__exportStar(require_transfer2(), exports); + tslib_1.__exportStar(require_uri2(), exports); + tslib_1.__exportStar(require_util2(), exports); + tslib_1.__exportStar(require_waiter2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js +var require_parseURL = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseURL = void 0; + var types_1 = require_dist_cjs17(); + var isIpAddress_1 = require_isIpAddress(); + var DEFAULT_PORTS = { + [types_1.EndpointURLScheme.HTTP]: 80, + [types_1.EndpointURLScheme.HTTPS]: 443 + }; + var parseURL = (value) => { + const whatwgURL = (() => { + try { + if (value instanceof URL) { + return value; + } + if (typeof value === "object" && "hostname" in value) { + const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; + const url2 = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); + url2.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); + return url2; + } + return new URL(value); + } catch (error) { + return null; + } + })(); + if (!whatwgURL) { + console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); + return null; + } + const urlString = whatwgURL.href; + const { host, hostname, pathname, protocol, search } = whatwgURL; + if (search) { + return null; + } + const scheme = protocol.slice(0, -1); + if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) { + return null; + } + const isIp = (0, isIpAddress_1.isIpAddress)(hostname); + const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); + const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; + return { + scheme, + authority, + path: pathname, + normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, + isIp + }; + }; + exports.parseURL = parseURL; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js +var require_stringEquals = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.stringEquals = void 0; + var stringEquals = (value1, value2) => value1 === value2; + exports.stringEquals = stringEquals; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js +var require_substring = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.substring = void 0; + var substring = (input, start, stop, reverse) => { + if (start >= stop || input.length < stop) { + return null; + } + if (!reverse) { + return input.substring(start, stop); + } + return input.substring(input.length - stop, input.length - start); + }; + exports.substring = substring; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js +var require_uriEncode = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uriEncode = void 0; + var uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`); + exports.uriEncode = uriEncode; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js +var require_lib = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.aws = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + exports.aws = tslib_1.__importStar(require_aws()); + tslib_1.__exportStar(require_booleanEquals(), exports); + tslib_1.__exportStar(require_getAttr(), exports); + tslib_1.__exportStar(require_isSet(), exports); + tslib_1.__exportStar(require_isValidHostLabel(), exports); + tslib_1.__exportStar(require_not(), exports); + tslib_1.__exportStar(require_parseURL(), exports); + tslib_1.__exportStar(require_stringEquals(), exports); + tslib_1.__exportStar(require_substring(), exports); + tslib_1.__exportStar(require_uriEncode(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js +var require_evaluateTemplate = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateTemplate = void 0; + var lib_1 = require_lib(); + var evaluateTemplate = (template, options) => { + const evaluatedTemplateArr = []; + const templateContext = { + ...options.endpointParams, + ...options.referenceRecord + }; + let currentIndex = 0; + while (currentIndex < template.length) { + const openingBraceIndex = template.indexOf("{", currentIndex); + if (openingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(currentIndex)); + break; + } + evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); + const closingBraceIndex = template.indexOf("}", openingBraceIndex); + if (closingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(openingBraceIndex)); + break; + } + if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { + evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); + currentIndex = closingBraceIndex + 2; + } + const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); + if (parameterName.includes("#")) { + const [refName, attrName] = parameterName.split("#"); + evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName)); + } else { + evaluatedTemplateArr.push(templateContext[parameterName]); + } + currentIndex = closingBraceIndex + 1; + } + return evaluatedTemplateArr.join(""); + }; + exports.evaluateTemplate = evaluateTemplate; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js +var require_getReferenceValue = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getReferenceValue = void 0; + var getReferenceValue = ({ ref }, options) => { + const referenceRecord = { + ...options.endpointParams, + ...options.referenceRecord + }; + return referenceRecord[ref]; + }; + exports.getReferenceValue = getReferenceValue; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js +var require_evaluateExpression = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateExpression = void 0; + var types_1 = require_types2(); + var callFunction_1 = require_callFunction(); + var evaluateTemplate_1 = require_evaluateTemplate(); + var getReferenceValue_1 = require_getReferenceValue(); + var evaluateExpression = (obj, keyName, options) => { + if (typeof obj === "string") { + return (0, evaluateTemplate_1.evaluateTemplate)(obj, options); + } else if (obj["fn"]) { + return (0, callFunction_1.callFunction)(obj, options); + } else if (obj["ref"]) { + return (0, getReferenceValue_1.getReferenceValue)(obj, options); + } + throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`); + }; + exports.evaluateExpression = evaluateExpression; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js +var require_callFunction = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.callFunction = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var lib = tslib_1.__importStar(require_lib()); + var evaluateExpression_1 = require_evaluateExpression(); + var callFunction = ({ fn, argv }, options) => { + const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, "arg", options)); + return fn.split(".").reduce((acc, key) => acc[key], lib)(...evaluatedArgs); + }; + exports.callFunction = callFunction; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js +var require_evaluateCondition = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateCondition = void 0; + var debug_1 = require_debug(); + var types_1 = require_types2(); + var callFunction_1 = require_callFunction(); + var evaluateCondition = ({ assign, ...fnArgs }, options) => { + var _a, _b; + if (assign && assign in options.referenceRecord) { + throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`); + } + const value = (0, callFunction_1.callFunction)(fnArgs, options); + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`); + return { + result: value === "" ? true : !!value, + ...assign != null && { toAssign: { name: assign, value } } + }; + }; + exports.evaluateCondition = evaluateCondition; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js +var require_evaluateConditions = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateConditions = void 0; + var debug_1 = require_debug(); + var evaluateCondition_1 = require_evaluateCondition(); + var evaluateConditions = (conditions = [], options) => { + var _a, _b; + const conditionsReferenceRecord = {}; + for (const condition of conditions) { + const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, { + ...options, + referenceRecord: { + ...options.referenceRecord, + ...conditionsReferenceRecord + } + }); + if (!result) { + return { result }; + } + if (toAssign) { + conditionsReferenceRecord[toAssign.name] = toAssign.value; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`); + } + } + return { result: true, referenceRecord: conditionsReferenceRecord }; + }; + exports.evaluateConditions = evaluateConditions; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js +var require_getEndpointHeaders = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointHeaders = void 0; + var types_1 = require_types2(); + var evaluateExpression_1 = require_evaluateExpression(); + var getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({ + ...acc, + [headerKey]: headerVal.map((headerValEntry) => { + const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, "Header value entry", options); + if (typeof processedExpr !== "string") { + throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`); + } + return processedExpr; + }) + }), {}); + exports.getEndpointHeaders = getEndpointHeaders; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js +var require_getEndpointProperty = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointProperty = void 0; + var types_1 = require_types2(); + var evaluateTemplate_1 = require_evaluateTemplate(); + var getEndpointProperties_1 = require_getEndpointProperties(); + var getEndpointProperty = (property, options) => { + if (Array.isArray(property)) { + return property.map((propertyEntry) => (0, exports.getEndpointProperty)(propertyEntry, options)); + } + switch (typeof property) { + case "string": + return (0, evaluateTemplate_1.evaluateTemplate)(property, options); + case "object": + if (property === null) { + throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`); + } + return (0, getEndpointProperties_1.getEndpointProperties)(property, options); + case "boolean": + return property; + default: + throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`); + } + }; + exports.getEndpointProperty = getEndpointProperty; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js +var require_getEndpointProperties = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointProperties = void 0; + var getEndpointProperty_1 = require_getEndpointProperty(); + var getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({ + ...acc, + [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options) + }), {}); + exports.getEndpointProperties = getEndpointProperties; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js +var require_getEndpointUrl = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointUrl = void 0; + var types_1 = require_types2(); + var evaluateExpression_1 = require_evaluateExpression(); + var getEndpointUrl = (endpointUrl, options) => { + const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, "Endpoint URL", options); + if (typeof expression === "string") { + try { + return new URL(expression); + } catch (error) { + console.error(`Failed to construct URL with ${expression}`, error); + throw error; + } + } + throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`); + }; + exports.getEndpointUrl = getEndpointUrl; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js +var require_evaluateEndpointRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateEndpointRule = void 0; + var debug_1 = require_debug(); + var evaluateConditions_1 = require_evaluateConditions(); + var getEndpointHeaders_1 = require_getEndpointHeaders(); + var getEndpointProperties_1 = require_getEndpointProperties(); + var getEndpointUrl_1 = require_getEndpointUrl(); + var evaluateEndpointRule = (endpointRule, options) => { + var _a, _b; + const { conditions, endpoint } = endpointRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + const endpointRuleOptions = { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }; + const { url: url2, properties, headers } = endpoint; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`); + return { + ...headers != void 0 && { + headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions) + }, + ...properties != void 0 && { + properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions) + }, + url: (0, getEndpointUrl_1.getEndpointUrl)(url2, endpointRuleOptions) + }; + }; + exports.evaluateEndpointRule = evaluateEndpointRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js +var require_evaluateErrorRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateErrorRule = void 0; + var types_1 = require_types2(); + var evaluateConditions_1 = require_evaluateConditions(); + var evaluateExpression_1 = require_evaluateExpression(); + var evaluateErrorRule = (errorRule, options) => { + const { conditions, error } = errorRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, "Error", { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + })); + }; + exports.evaluateErrorRule = evaluateErrorRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js +var require_evaluateTreeRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateTreeRule = void 0; + var evaluateConditions_1 = require_evaluateConditions(); + var evaluateRules_1 = require_evaluateRules(); + var evaluateTreeRule = (treeRule, options) => { + const { conditions, rules } = treeRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + return (0, evaluateRules_1.evaluateRules)(rules, { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }); + }; + exports.evaluateTreeRule = evaluateTreeRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js +var require_evaluateRules = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateRules = void 0; + var types_1 = require_types2(); + var evaluateEndpointRule_1 = require_evaluateEndpointRule(); + var evaluateErrorRule_1 = require_evaluateErrorRule(); + var evaluateTreeRule_1 = require_evaluateTreeRule(); + var evaluateRules = (rules, options) => { + for (const rule of rules) { + if (rule.type === "endpoint") { + const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else if (rule.type === "error") { + (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options); + } else if (rule.type === "tree") { + const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else { + throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`); + } + } + throw new types_1.EndpointError(`Rules evaluation failed`); + }; + exports.evaluateRules = evaluateRules; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js +var require_utils = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_evaluateRules(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js +var require_resolveEndpoint = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpoint = void 0; + var debug_1 = require_debug(); + var types_1 = require_types2(); + var utils_1 = require_utils(); + var resolveEndpoint = (ruleSetObject, options) => { + var _a, _b, _c, _d, _e, _f; + const { endpointParams, logger } = options; + const { parameters, rules } = ruleSetObject; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, `${debug_1.debugId} Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`); + const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]); + if (paramsWithDefault.length > 0) { + for (const [paramKey, paramDefaultValue] of paramsWithDefault) { + endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue; + } + } + const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k); + for (const requiredParam of requiredParams) { + if (endpointParams[requiredParam] == null) { + throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`); + } + } + const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} }); + if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) { + try { + const givenEndpoint = new URL(options.endpointParams.Endpoint); + const { protocol, port } = givenEndpoint; + endpoint.url.protocol = protocol; + endpoint.url.port = port; + } catch (e) { + } + } + (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${debug_1.debugId} Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`); + return endpoint; + }; + exports.resolveEndpoint = resolveEndpoint; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +var require_dist_cjs18 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_partition(), exports); + tslib_1.__exportStar(require_isIpAddress(), exports); + tslib_1.__exportStar(require_resolveEndpoint(), exports); + tslib_1.__exportStar(require_types2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js +var require_constants2 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UA_ESCAPE_CHAR = exports.UA_VALUE_ESCAPE_REGEX = exports.UA_NAME_ESCAPE_REGEX = exports.UA_NAME_SEPARATOR = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0; + exports.USER_AGENT = "user-agent"; + exports.X_AMZ_USER_AGENT = "x-amz-user-agent"; + exports.SPACE = " "; + exports.UA_NAME_SEPARATOR = "/"; + exports.UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; + exports.UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; + exports.UA_ESCAPE_CHAR = "-"; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js +var require_user_agent_middleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var protocol_http_1 = require_dist_cjs2(); + var constants_1 = require_constants2(); + var userAgentMiddleware = (options) => (next, context) => async (args) => { + var _a, _b; + const { request: request2 } = args; + if (!protocol_http_1.HttpRequest.isInstance(request2)) + return next(args); + const { headers } = request2; + const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || []; + const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent); + const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || []; + const prefix = (0, util_endpoints_1.getUserAgentPrefix)(); + const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(constants_1.SPACE); + const normalUAValue = [ + ...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")), + ...customUserAgent + ].join(constants_1.SPACE); + if (options.runtime !== "browser") { + if (normalUAValue) { + headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT] ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}` : normalUAValue; + } + headers[constants_1.USER_AGENT] = sdkUserAgentValue; + } else { + headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue; + } + return next({ + ...args, + request: request2 + }); + }; + exports.userAgentMiddleware = userAgentMiddleware; + var escapeUserAgent = (userAgentPair) => { + var _a; + const name = userAgentPair[0].split(constants_1.UA_NAME_SEPARATOR).map((part) => part.replace(constants_1.UA_NAME_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR)).join(constants_1.UA_NAME_SEPARATOR); + const version2 = (_a = userAgentPair[1]) === null || _a === void 0 ? void 0 : _a.replace(constants_1.UA_VALUE_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR); + const prefixSeparatorIndex = name.indexOf(constants_1.UA_NAME_SEPARATOR); + const prefix = name.substring(0, prefixSeparatorIndex); + let uaName = name.substring(prefixSeparatorIndex + 1); + if (prefix === "api") { + uaName = uaName.toLowerCase(); + } + return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { + switch (index) { + case 0: + return item; + case 1: + return `${acc}/${item}`; + default: + return `${acc}#${item}`; + } + }, ""); + }; + exports.getUserAgentMiddlewareOptions = { + name: "getUserAgentMiddleware", + step: "build", + priority: "low", + tags: ["SET_USER_AGENT", "USER_AGENT"], + override: true + }; + var getUserAgentPlugin = (config) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions); + } + }); + exports.getUserAgentPlugin = getUserAgentPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +var require_dist_cjs19 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_configurations(), exports); + tslib_1.__exportStar(require_user_agent_middleware(), exports); + } +}); + +// ../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js +var require_booleanSelector = __commonJS({ + "../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.booleanSelector = exports.SelectorType = void 0; + var SelectorType; + (function(SelectorType2) { + SelectorType2["ENV"] = "env"; + SelectorType2["CONFIG"] = "shared config entry"; + })(SelectorType = exports.SelectorType || (exports.SelectorType = {})); + var booleanSelector = (obj, key, type) => { + if (!(key in obj)) + return void 0; + if (obj[key] === "true") + return true; + if (obj[key] === "false") + return false; + throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); + }; + exports.booleanSelector = booleanSelector; + } +}); + +// ../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js +var require_dist_cjs20 = __commonJS({ + "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_booleanSelector(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js +var require_NodeUseDualstackEndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_DUALSTACK_ENDPOINT = exports.CONFIG_USE_DUALSTACK_ENDPOINT = exports.ENV_USE_DUALSTACK_ENDPOINT = void 0; + var util_config_provider_1 = require_dist_cjs20(); + exports.ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; + exports.CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; + exports.DEFAULT_USE_DUALSTACK_ENDPOINT = false; + exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.ENV), + configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), + default: false + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js +var require_NodeUseFipsEndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_FIPS_ENDPOINT = exports.CONFIG_USE_FIPS_ENDPOINT = exports.ENV_USE_FIPS_ENDPOINT = void 0; + var util_config_provider_1 = require_dist_cjs20(); + exports.ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; + exports.CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; + exports.DEFAULT_USE_FIPS_ENDPOINT = false; + exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.ENV), + configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), + default: false + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js +var require_resolveCustomEndpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveCustomEndpointsConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var resolveCustomEndpointsConfig = (input) => { + var _a, _b; + const { endpoint, urlParser } = input; + return { + ...input, + tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, + endpoint: (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), + isCustomEndpoint: true, + useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false) + }; + }; + exports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js +var require_getEndpointFromRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointFromRegion = void 0; + var getEndpointFromRegion = async (input) => { + var _a; + const { tls = true } = input; + const region = await input.region(); + const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); + if (!dnsHostRegex.test(region)) { + throw new Error("Invalid region in client config"); + } + const useDualstackEndpoint = await input.useDualstackEndpoint(); + const useFipsEndpoint = await input.useFipsEndpoint(); + const { hostname } = (_a = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) !== null && _a !== void 0 ? _a : {}; + if (!hostname) { + throw new Error("Cannot resolve hostname from client config"); + } + return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); + }; + exports.getEndpointFromRegion = getEndpointFromRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js +var require_resolveEndpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpointsConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var getEndpointFromRegion_1 = require_getEndpointFromRegion(); + var resolveEndpointsConfig = (input) => { + var _a, _b; + const useDualstackEndpoint = (0, util_middleware_1.normalizeProvider)((_a = input.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false); + const { endpoint, useFipsEndpoint, urlParser } = input; + return { + ...input, + tls: (_b = input.tls) !== null && _b !== void 0 ? _b : true, + endpoint: endpoint ? (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => (0, getEndpointFromRegion_1.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }), + isCustomEndpoint: !!endpoint, + useDualstackEndpoint + }; + }; + exports.resolveEndpointsConfig = resolveEndpointsConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js +var require_endpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_NodeUseDualstackEndpointConfigOptions(), exports); + tslib_1.__exportStar(require_NodeUseFipsEndpointConfigOptions(), exports); + tslib_1.__exportStar(require_resolveCustomEndpointsConfig(), exports); + tslib_1.__exportStar(require_resolveEndpointsConfig(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js +var require_config2 = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_REGION_CONFIG_FILE_OPTIONS = exports.NODE_REGION_CONFIG_OPTIONS = exports.REGION_INI_NAME = exports.REGION_ENV_NAME = void 0; + exports.REGION_ENV_NAME = "AWS_REGION"; + exports.REGION_INI_NAME = "region"; + exports.NODE_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.REGION_ENV_NAME], + configFileSelector: (profile) => profile[exports.REGION_INI_NAME], + default: () => { + throw new Error("Region is missing"); + } + }; + exports.NODE_REGION_CONFIG_FILE_OPTIONS = { + preferredFile: "credentials" + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js +var require_isFipsRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isFipsRegion = void 0; + var isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")); + exports.isFipsRegion = isFipsRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js +var require_getRealRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRealRegion = void 0; + var isFipsRegion_1 = require_isFipsRegion(); + var getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region; + exports.getRealRegion = getRealRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js +var require_resolveRegionConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveRegionConfig = void 0; + var getRealRegion_1 = require_getRealRegion(); + var isFipsRegion_1 = require_isFipsRegion(); + var resolveRegionConfig = (input) => { + const { region, useFipsEndpoint } = input; + if (!region) { + throw new Error("Region is missing"); + } + return { + ...input, + region: async () => { + if (typeof region === "string") { + return (0, getRealRegion_1.getRealRegion)(region); + } + const providedRegion = await region(); + return (0, getRealRegion_1.getRealRegion)(providedRegion); + }, + useFipsEndpoint: async () => { + const providedRegion = typeof region === "string" ? region : await region(); + if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) { + return true; + } + return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); + } + }; + }; + exports.resolveRegionConfig = resolveRegionConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js +var require_regionConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_config2(), exports); + tslib_1.__exportStar(require_resolveRegionConfig(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js +var require_PartitionHash = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js +var require_RegionHash = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js +var require_getHostnameFromVariants = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHostnameFromVariants = void 0; + var getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => { + var _a; + return (_a = variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))) === null || _a === void 0 ? void 0 : _a.hostname; + }; + exports.getHostnameFromVariants = getHostnameFromVariants; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js +var require_getResolvedHostname = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedHostname = void 0; + var getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0; + exports.getResolvedHostname = getResolvedHostname; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js +var require_getResolvedPartition = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedPartition = void 0; + var getResolvedPartition = (region, { partitionHash }) => { + var _a; + return (_a = Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region))) !== null && _a !== void 0 ? _a : "aws"; + }; + exports.getResolvedPartition = getResolvedPartition; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js +var require_getResolvedSigningRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedSigningRegion = void 0; + var getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { + if (signingRegion) { + return signingRegion; + } else if (useFipsEndpoint) { + const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); + const regionRegexmatchArray = hostname.match(regionRegexJs); + if (regionRegexmatchArray) { + return regionRegexmatchArray[0].slice(1, -1); + } + } + }; + exports.getResolvedSigningRegion = getResolvedSigningRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js +var require_getRegionInfo = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRegionInfo = void 0; + var getHostnameFromVariants_1 = require_getHostnameFromVariants(); + var getResolvedHostname_1 = require_getResolvedHostname(); + var getResolvedPartition_1 = require_getResolvedPartition(); + var getResolvedSigningRegion_1 = require_getResolvedSigningRegion(); + var getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => { + var _a, _b, _c, _d, _e, _f; + const partition = (0, getResolvedPartition_1.getResolvedPartition)(region, { partitionHash }); + const resolvedRegion = region in regionHash ? region : (_b = (_a = partitionHash[partition]) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : region; + const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; + const regionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_c = regionHash[resolvedRegion]) === null || _c === void 0 ? void 0 : _c.variants, hostnameOptions); + const partitionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_d = partitionHash[partition]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions); + const hostname = (0, getResolvedHostname_1.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname }); + if (hostname === void 0) { + throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); + } + const signingRegion = (0, getResolvedSigningRegion_1.getResolvedSigningRegion)(hostname, { + signingRegion: (_e = regionHash[resolvedRegion]) === null || _e === void 0 ? void 0 : _e.signingRegion, + regionRegex: partitionHash[partition].regionRegex, + useFipsEndpoint + }); + return { + partition, + signingService, + hostname, + ...signingRegion && { signingRegion }, + ...((_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingService) && { + signingService: regionHash[resolvedRegion].signingService + } + }; + }; + exports.getRegionInfo = getRegionInfo; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js +var require_regionInfo = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_PartitionHash(), exports); + tslib_1.__exportStar(require_RegionHash(), exports); + tslib_1.__exportStar(require_getRegionInfo(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/index.js +var require_dist_cjs21 = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_endpointsConfig(), exports); + tslib_1.__exportStar(require_regionConfig(), exports); + tslib_1.__exportStar(require_regionInfo(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js +var require_dist_cjs22 = __commonJS({ + "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getContentLengthPlugin = exports.contentLengthMiddlewareOptions = exports.contentLengthMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var CONTENT_LENGTH_HEADER = "content-length"; + function contentLengthMiddleware(bodyLengthChecker) { + return (next) => async (args) => { + const request2 = args.request; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + const { body, headers } = request2; + if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { + try { + const length = bodyLengthChecker(body); + request2.headers = { + ...request2.headers, + [CONTENT_LENGTH_HEADER]: String(length) + }; + } catch (error) { + } + } + } + return next({ + ...args, + request: request2 + }); + }; + } + exports.contentLengthMiddleware = contentLengthMiddleware; + exports.contentLengthMiddlewareOptions = { + step: "build", + tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], + name: "contentLengthMiddleware", + override: true + }; + var getContentLengthPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions); + } + }); + exports.getContentLengthPlugin = getContentLengthPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js +var require_s3 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0; + var resolveParamsForS3 = async (endpointParams) => { + const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || ""; + if (typeof endpointParams.Bucket === "string") { + endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); + } + if ((0, exports.isArnBucketName)(bucket)) { + if (endpointParams.ForcePathStyle === true) { + throw new Error("Path-style addressing cannot be used with ARN buckets"); + } + } else if (!(0, exports.isDnsCompatibleBucketName)(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { + endpointParams.ForcePathStyle = true; + } + if (endpointParams.DisableMultiRegionAccessPoints) { + endpointParams.disableMultiRegionAccessPoints = true; + endpointParams.DisableMRAP = true; + } + return endpointParams; + }; + exports.resolveParamsForS3 = resolveParamsForS3; + var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; + var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; + var DOTS_PATTERN = /\.\./; + exports.DOT_PATTERN = /\./; + exports.S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./; + var isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName); + exports.isDnsCompatibleBucketName = isDnsCompatibleBucketName; + var isArnBucketName = (bucketName) => { + const [arn, partition, service, region, account, typeOrId] = bucketName.split(":"); + const isArn = arn === "arn" && bucketName.split(":").length >= 6; + const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5; + if (isArn && !isValidArn) { + throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); + } + return arn === "arn" && !!partition && !!service && !!account && !!typeOrId; + }; + exports.isArnBucketName = isArnBucketName; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js +var require_service_customizations = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_s3(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js +var require_createConfigValueProvider = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createConfigValueProvider = void 0; + var createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => { + const configProvider = async () => { + var _a; + const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey]; + if (typeof configValue === "function") { + return configValue(); + } + return configValue; + }; + if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { + return async () => { + const endpoint = await configProvider(); + if (endpoint && typeof endpoint === "object") { + if ("url" in endpoint) { + return endpoint.url.href; + } + if ("hostname" in endpoint) { + const { protocol, hostname, port, path } = endpoint; + return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; + } + } + return endpoint; + }; + } + return configProvider; + }; + exports.createConfigValueProvider = createConfigValueProvider; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js +var require_getEndpointFromInstructions = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveParams = exports.getEndpointFromInstructions = void 0; + var service_customizations_1 = require_service_customizations(); + var createConfigValueProvider_1 = require_createConfigValueProvider(); + var getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => { + const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig); + if (typeof clientConfig.endpointProvider !== "function") { + throw new Error("config.endpointProvider is not set."); + } + const endpoint = clientConfig.endpointProvider(endpointParams, context); + return endpoint; + }; + exports.getEndpointFromInstructions = getEndpointFromInstructions; + var resolveParams = async (commandInput, instructionsSupplier, clientConfig) => { + var _a; + const endpointParams = {}; + const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {}; + for (const [name, instruction] of Object.entries(instructions)) { + switch (instruction.type) { + case "staticContextParams": + endpointParams[name] = instruction.value; + break; + case "contextParams": + endpointParams[name] = commandInput[instruction.name]; + break; + case "clientContextParams": + case "builtInParams": + endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)(); + break; + default: + throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); + } + } + if (Object.keys(instructions).length === 0) { + Object.assign(endpointParams, clientConfig); + } + if (String(clientConfig.serviceId).toLowerCase() === "s3") { + await (0, service_customizations_1.resolveParamsForS3)(endpointParams); + } + return endpointParams; + }; + exports.resolveParams = resolveParams; + } +}); + +// ../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js +var require_dist_cjs23 = __commonJS({ + "../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseQueryString = void 0; + function parseQueryString(querystring) { + const query = {}; + querystring = querystring.replace(/^\?/, ""); + if (querystring) { + for (const pair of querystring.split("&")) { + let [key, value = null] = pair.split("="); + key = decodeURIComponent(key); + if (value) { + value = decodeURIComponent(value); + } + if (!(key in query)) { + query[key] = value; + } else if (Array.isArray(query[key])) { + query[key].push(value); + } else { + query[key] = [query[key], value]; + } + } + } + return query; + } + exports.parseQueryString = parseQueryString; + } +}); + +// ../../../node_modules/@smithy/url-parser/dist-cjs/index.js +var require_dist_cjs24 = __commonJS({ + "../../../node_modules/@smithy/url-parser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseUrl = void 0; + var querystring_parser_1 = require_dist_cjs23(); + var parseUrl = (url2) => { + if (typeof url2 === "string") { + return (0, exports.parseUrl)(new URL(url2)); + } + const { hostname, pathname, port, protocol, search } = url2; + let query; + if (search) { + query = (0, querystring_parser_1.parseQueryString)(search); + } + return { + hostname, + port: port ? parseInt(port) : void 0, + protocol, + path: pathname, + query + }; + }; + exports.parseUrl = parseUrl; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js +var require_toEndpointV1 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toEndpointV1 = void 0; + var url_parser_1 = require_dist_cjs24(); + var toEndpointV1 = (endpoint) => { + if (typeof endpoint === "object") { + if ("url" in endpoint) { + return (0, url_parser_1.parseUrl)(endpoint.url); + } + return endpoint; + } + return (0, url_parser_1.parseUrl)(endpoint); + }; + exports.toEndpointV1 = toEndpointV1; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js +var require_adaptors = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_getEndpointFromInstructions(), exports); + tslib_1.__exportStar(require_toEndpointV1(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js +var require_endpointMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.endpointMiddleware = void 0; + var getEndpointFromInstructions_1 = require_getEndpointFromInstructions(); + var endpointMiddleware = ({ config, instructions }) => { + return (next, context) => async (args) => { + var _a, _b; + const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, { + getEndpointParameterInstructions() { + return instructions; + } + }, { ...config }, context); + context.endpointV2 = endpoint; + context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes; + const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0]; + if (authScheme) { + context["signing_region"] = authScheme.signingRegion; + context["signing_service"] = authScheme.signingName; + } + return next({ + ...args + }); + }; + }; + exports.endpointMiddleware = endpointMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js +var require_deserializerMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.deserializerMiddleware = void 0; + var deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => { + const { response } = await next(args); + try { + const parsed = await deserializer(response, options); + return { + response, + output: parsed + }; + } catch (error) { + Object.defineProperty(error, "$response", { + value: response + }); + if (!("$metadata" in error)) { + const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; + error.message += "\n " + hint; + } + throw error; + } + }; + exports.deserializerMiddleware = deserializerMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js +var require_serializerMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.serializerMiddleware = void 0; + var serializerMiddleware = (options, serializer) => (next, context) => async (args) => { + var _a; + const endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint; + if (!endpoint) { + throw new Error("No valid endpoint provider available."); + } + const request2 = await serializer(args.input, { ...options, endpoint }); + return next({ + ...args, + request: request2 + }); + }; + exports.serializerMiddleware = serializerMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js +var require_serdePlugin = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSerdePlugin = exports.serializerMiddlewareOption = exports.deserializerMiddlewareOption = void 0; + var deserializerMiddleware_1 = require_deserializerMiddleware(); + var serializerMiddleware_1 = require_serializerMiddleware(); + exports.deserializerMiddlewareOption = { + name: "deserializerMiddleware", + step: "deserialize", + tags: ["DESERIALIZER"], + override: true + }; + exports.serializerMiddlewareOption = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + function getSerdePlugin(config, serializer, deserializer) { + return { + applyToStack: (commandStack) => { + commandStack.add((0, deserializerMiddleware_1.deserializerMiddleware)(config, deserializer), exports.deserializerMiddlewareOption); + commandStack.add((0, serializerMiddleware_1.serializerMiddleware)(config, serializer), exports.serializerMiddlewareOption); + } + }; + } + exports.getSerdePlugin = getSerdePlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js +var require_dist_cjs25 = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_deserializerMiddleware(), exports); + tslib_1.__exportStar(require_serdePlugin(), exports); + tslib_1.__exportStar(require_serializerMiddleware(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js +var require_getEndpointPlugin = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0; + var middleware_serde_1 = require_dist_cjs25(); + var endpointMiddleware_1 = require_endpointMiddleware(); + exports.endpointMiddlewareOptions = { + step: "serialize", + tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], + name: "endpointV2Middleware", + override: true, + relation: "before", + toMiddleware: middleware_serde_1.serializerMiddlewareOption.name + }; + var getEndpointPlugin = (config, instructions) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({ + config, + instructions + }), exports.endpointMiddlewareOptions); + } + }); + exports.getEndpointPlugin = getEndpointPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js +var require_resolveEndpointConfig = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpointConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var toEndpointV1_1 = require_toEndpointV1(); + var resolveEndpointConfig = (input) => { + var _a, _b, _c; + const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true; + const { endpoint } = input; + const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : void 0; + const isCustomEndpoint = !!endpoint; + return { + ...input, + endpoint: customEndpointProvider, + tls, + isCustomEndpoint, + useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false), + useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false) + }; + }; + exports.resolveEndpointConfig = resolveEndpointConfig; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js +var require_types3 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +var require_dist_cjs26 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_adaptors(), exports); + tslib_1.__exportStar(require_endpointMiddleware(), exports); + tslib_1.__exportStar(require_getEndpointPlugin(), exports); + tslib_1.__exportStar(require_resolveEndpointConfig(), exports); + tslib_1.__exportStar(require_types3(), exports); + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/config.js +var require_config3 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DEFAULT_RETRY_MODE = exports.DEFAULT_MAX_ATTEMPTS = exports.RETRY_MODES = void 0; + var RETRY_MODES; + (function(RETRY_MODES2) { + RETRY_MODES2["STANDARD"] = "standard"; + RETRY_MODES2["ADAPTIVE"] = "adaptive"; + })(RETRY_MODES = exports.RETRY_MODES || (exports.RETRY_MODES = {})); + exports.DEFAULT_MAX_ATTEMPTS = 3; + exports.DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD; + } +}); + +// ../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js +var require_constants3 = __commonJS({ + "../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODEJS_TIMEOUT_ERROR_CODES = exports.TRANSIENT_ERROR_STATUS_CODES = exports.TRANSIENT_ERROR_CODES = exports.THROTTLING_ERROR_CODES = exports.CLOCK_SKEW_ERROR_CODES = void 0; + exports.CLOCK_SKEW_ERROR_CODES = [ + "AuthFailure", + "InvalidSignatureException", + "RequestExpired", + "RequestInTheFuture", + "RequestTimeTooSkewed", + "SignatureDoesNotMatch" + ]; + exports.THROTTLING_ERROR_CODES = [ + "BandwidthLimitExceeded", + "EC2ThrottledException", + "LimitExceededException", + "PriorRequestNotComplete", + "ProvisionedThroughputExceededException", + "RequestLimitExceeded", + "RequestThrottled", + "RequestThrottledException", + "SlowDown", + "ThrottledException", + "Throttling", + "ThrottlingException", + "TooManyRequestsException", + "TransactionInProgressException" + ]; + exports.TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; + exports.TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; + exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; + } +}); + +// ../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js +var require_dist_cjs27 = __commonJS({ + "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isServerError = exports.isTransientError = exports.isThrottlingError = exports.isClockSkewError = exports.isRetryableByTrait = void 0; + var constants_1 = require_constants3(); + var isRetryableByTrait = (error) => error.$retryable !== void 0; + exports.isRetryableByTrait = isRetryableByTrait; + var isClockSkewError = (error) => constants_1.CLOCK_SKEW_ERROR_CODES.includes(error.name); + exports.isClockSkewError = isClockSkewError; + var isThrottlingError = (error) => { + var _a, _b; + return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 || constants_1.THROTTLING_ERROR_CODES.includes(error.name) || ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true; + }; + exports.isThrottlingError = isThrottlingError; + var isTransientError = (error) => { + var _a; + return constants_1.TRANSIENT_ERROR_CODES.includes(error.name) || constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || "") || constants_1.TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0); + }; + exports.isTransientError = isTransientError; + var isServerError = (error) => { + var _a; + if (((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) !== void 0) { + const statusCode = error.$metadata.httpStatusCode; + if (500 <= statusCode && statusCode <= 599 && !(0, exports.isTransientError)(error)) { + return true; + } + return false; + } + return false; + }; + exports.isServerError = isServerError; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js +var require_DefaultRateLimiter = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DefaultRateLimiter = void 0; + var service_error_classification_1 = require_dist_cjs27(); + var DefaultRateLimiter = class { + constructor(options) { + var _a, _b, _c, _d, _e; + this.currentCapacity = 0; + this.enabled = false; + this.lastMaxRate = 0; + this.measuredTxRate = 0; + this.requestCount = 0; + this.lastTimestamp = 0; + this.timeWindow = 0; + this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7; + this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1; + this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5; + this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4; + this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8; + const currentTimeInSeconds = this.getCurrentTimeInSeconds(); + this.lastThrottleTime = currentTimeInSeconds; + this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); + this.fillRate = this.minFillRate; + this.maxCapacity = this.minCapacity; + } + getCurrentTimeInSeconds() { + return Date.now() / 1e3; + } + async getSendToken() { + return this.acquireTokenBucket(1); + } + async acquireTokenBucket(amount) { + if (!this.enabled) { + return; + } + this.refillTokenBucket(); + if (amount > this.currentCapacity) { + const delay = (amount - this.currentCapacity) / this.fillRate * 1e3; + await new Promise((resolve) => setTimeout(resolve, delay)); + } + this.currentCapacity = this.currentCapacity - amount; + } + refillTokenBucket() { + const timestamp = this.getCurrentTimeInSeconds(); + if (!this.lastTimestamp) { + this.lastTimestamp = timestamp; + return; + } + const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; + this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount); + this.lastTimestamp = timestamp; + } + updateClientSendingRate(response) { + let calculatedRate; + this.updateMeasuredRate(); + if ((0, service_error_classification_1.isThrottlingError)(response)) { + const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); + this.lastMaxRate = rateToUse; + this.calculateTimeWindow(); + this.lastThrottleTime = this.getCurrentTimeInSeconds(); + calculatedRate = this.cubicThrottle(rateToUse); + this.enableTokenBucket(); + } else { + this.calculateTimeWindow(); + calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); + } + const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); + this.updateTokenBucketRate(newRate); + } + calculateTimeWindow() { + this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); + } + cubicThrottle(rateToUse) { + return this.getPrecise(rateToUse * this.beta); + } + cubicSuccess(timestamp) { + return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate); + } + enableTokenBucket() { + this.enabled = true; + } + updateTokenBucketRate(newRate) { + this.refillTokenBucket(); + this.fillRate = Math.max(newRate, this.minFillRate); + this.maxCapacity = Math.max(newRate, this.minCapacity); + this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity); + } + updateMeasuredRate() { + const t = this.getCurrentTimeInSeconds(); + const timeBucket = Math.floor(t * 2) / 2; + this.requestCount++; + if (timeBucket > this.lastTxRateBucket) { + const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); + this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); + this.requestCount = 0; + this.lastTxRateBucket = timeBucket; + } + } + getPrecise(num) { + return parseFloat(num.toFixed(8)); + } + }; + exports.DefaultRateLimiter = DefaultRateLimiter; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/constants.js +var require_constants4 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.REQUEST_HEADER = exports.INVOCATION_ID_HEADER = exports.NO_RETRY_INCREMENT = exports.TIMEOUT_RETRY_COST = exports.RETRY_COST = exports.INITIAL_RETRY_TOKENS = exports.THROTTLING_RETRY_DELAY_BASE = exports.MAXIMUM_RETRY_DELAY = exports.DEFAULT_RETRY_DELAY_BASE = void 0; + exports.DEFAULT_RETRY_DELAY_BASE = 100; + exports.MAXIMUM_RETRY_DELAY = 20 * 1e3; + exports.THROTTLING_RETRY_DELAY_BASE = 500; + exports.INITIAL_RETRY_TOKENS = 500; + exports.RETRY_COST = 5; + exports.TIMEOUT_RETRY_COST = 10; + exports.NO_RETRY_INCREMENT = 1; + exports.INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; + exports.REQUEST_HEADER = "amz-sdk-request"; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js +var require_defaultRetryBackoffStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getDefaultRetryBackoffStrategy = void 0; + var constants_1 = require_constants4(); + var getDefaultRetryBackoffStrategy = () => { + let delayBase = constants_1.DEFAULT_RETRY_DELAY_BASE; + const computeNextBackoffDelay = (attempts) => { + return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); + }; + const setDelayBase = (delay) => { + delayBase = delay; + }; + return { + computeNextBackoffDelay, + setDelayBase + }; + }; + exports.getDefaultRetryBackoffStrategy = getDefaultRetryBackoffStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js +var require_defaultRetryToken = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createDefaultRetryToken = void 0; + var constants_1 = require_constants4(); + var createDefaultRetryToken = ({ retryDelay, retryCount, retryCost }) => { + const getRetryCount = () => retryCount; + const getRetryDelay = () => Math.min(constants_1.MAXIMUM_RETRY_DELAY, retryDelay); + const getRetryCost = () => retryCost; + return { + getRetryCount, + getRetryDelay, + getRetryCost + }; + }; + exports.createDefaultRetryToken = createDefaultRetryToken; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js +var require_StandardRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StandardRetryStrategy = void 0; + var config_1 = require_config3(); + var constants_1 = require_constants4(); + var defaultRetryBackoffStrategy_1 = require_defaultRetryBackoffStrategy(); + var defaultRetryToken_1 = require_defaultRetryToken(); + var StandardRetryStrategy = class { + constructor(maxAttempts) { + this.maxAttempts = maxAttempts; + this.mode = config_1.RETRY_MODES.STANDARD; + this.capacity = constants_1.INITIAL_RETRY_TOKENS; + this.retryBackoffStrategy = (0, defaultRetryBackoffStrategy_1.getDefaultRetryBackoffStrategy)(); + this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts; + } + async acquireInitialRetryToken(retryTokenScope) { + return (0, defaultRetryToken_1.createDefaultRetryToken)({ + retryDelay: constants_1.DEFAULT_RETRY_DELAY_BASE, + retryCount: 0 + }); + } + async refreshRetryTokenForRetry(token, errorInfo) { + const maxAttempts = await this.getMaxAttempts(); + if (this.shouldRetry(token, errorInfo, maxAttempts)) { + const errorType = errorInfo.errorType; + this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? constants_1.THROTTLING_RETRY_DELAY_BASE : constants_1.DEFAULT_RETRY_DELAY_BASE); + const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); + const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType; + const capacityCost = this.getCapacityCost(errorType); + this.capacity -= capacityCost; + return (0, defaultRetryToken_1.createDefaultRetryToken)({ + retryDelay, + retryCount: token.getRetryCount() + 1, + retryCost: capacityCost + }); + } + throw new Error("No retry token available"); + } + recordSuccess(token) { + var _a; + this.capacity = Math.max(constants_1.INITIAL_RETRY_TOKENS, this.capacity + ((_a = token.getRetryCost()) !== null && _a !== void 0 ? _a : constants_1.NO_RETRY_INCREMENT)); + } + getCapacity() { + return this.capacity; + } + async getMaxAttempts() { + try { + return await this.maxAttemptsProvider(); + } catch (error) { + console.warn(`Max attempts provider could not resolve. Using default of ${config_1.DEFAULT_MAX_ATTEMPTS}`); + return config_1.DEFAULT_MAX_ATTEMPTS; + } + } + shouldRetry(tokenToRenew, errorInfo, maxAttempts) { + const attempts = tokenToRenew.getRetryCount() + 1; + return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType); + } + getCapacityCost(errorType) { + return errorType === "TRANSIENT" ? constants_1.TIMEOUT_RETRY_COST : constants_1.RETRY_COST; + } + isRetryableError(errorType) { + return errorType === "THROTTLING" || errorType === "TRANSIENT"; + } + }; + exports.StandardRetryStrategy = StandardRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js +var require_AdaptiveRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AdaptiveRetryStrategy = void 0; + var config_1 = require_config3(); + var DefaultRateLimiter_1 = require_DefaultRateLimiter(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy(); + var AdaptiveRetryStrategy = class { + constructor(maxAttemptsProvider, options) { + this.maxAttemptsProvider = maxAttemptsProvider; + this.mode = config_1.RETRY_MODES.ADAPTIVE; + const { rateLimiter } = options !== null && options !== void 0 ? options : {}; + this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter_1.DefaultRateLimiter(); + this.standardRetryStrategy = new StandardRetryStrategy_1.StandardRetryStrategy(maxAttemptsProvider); + } + async acquireInitialRetryToken(retryTokenScope) { + await this.rateLimiter.getSendToken(); + return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + this.rateLimiter.updateClientSendingRate(errorInfo); + return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + } + recordSuccess(token) { + this.rateLimiter.updateClientSendingRate({}); + this.standardRetryStrategy.recordSuccess(token); + } + }; + exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js +var require_ConfiguredRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ConfiguredRetryStrategy = void 0; + var constants_1 = require_constants4(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy(); + var ConfiguredRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { + constructor(maxAttempts, computeNextBackoffDelay = constants_1.DEFAULT_RETRY_DELAY_BASE) { + super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); + if (typeof computeNextBackoffDelay === "number") { + this.computeNextBackoffDelay = () => computeNextBackoffDelay; + } else { + this.computeNextBackoffDelay = computeNextBackoffDelay; + } + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount()); + return token; + } + }; + exports.ConfiguredRetryStrategy = ConfiguredRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/types.js +var require_types4 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/index.js +var require_dist_cjs28 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AdaptiveRetryStrategy(), exports); + tslib_1.__exportStar(require_ConfiguredRetryStrategy(), exports); + tslib_1.__exportStar(require_DefaultRateLimiter(), exports); + tslib_1.__exportStar(require_StandardRetryStrategy(), exports); + tslib_1.__exportStar(require_config3(), exports); + tslib_1.__exportStar(require_constants4(), exports); + tslib_1.__exportStar(require_types4(), exports); + } +}); + +// ../../../node_modules/uuid/dist/esm-node/rng.js +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + import_crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +var import_crypto, rnds8Pool, poolPtr; +var init_rng = __esm({ + "../../../node_modules/uuid/dist/esm-node/rng.js"() { + import_crypto = __toESM(require("crypto")); + rnds8Pool = new Uint8Array(256); + poolPtr = rnds8Pool.length; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/regex.js +var regex_default; +var init_regex = __esm({ + "../../../node_modules/uuid/dist/esm-node/regex.js"() { + regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/validate.js +function validate(uuid) { + return typeof uuid === "string" && regex_default.test(uuid); +} +var validate_default; +var init_validate = __esm({ + "../../../node_modules/uuid/dist/esm-node/validate.js"() { + init_regex(); + validate_default = validate; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/stringify.js +function stringify(arr, offset = 0) { + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); + if (!validate_default(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; +} +var byteToHex, stringify_default; +var init_stringify = __esm({ + "../../../node_modules/uuid/dist/esm-node/stringify.js"() { + init_validate(); + byteToHex = []; + for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 256).toString(16).substr(1)); + } + stringify_default = stringify; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v1.js +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + if (node == null) { + node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; + } + } + let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { + clockseq = clockseq + 1 & 16383; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + msecs += 122192928e5; + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + const tmh = msecs / 4294967296 * 1e4 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + b[i++] = tmh >>> 24 & 15 | 16; + b[i++] = tmh >>> 16 & 255; + b[i++] = clockseq >>> 8 | 128; + b[i++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || stringify_default(b); +} +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var init_v1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v1.js"() { + init_rng(); + init_stringify(); + _lastMSecs = 0; + _lastNSecs = 0; + v1_default = v1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/parse.js +function parse(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + let v; + const arr = new Uint8Array(16); + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 255; + arr[2] = v >>> 8 & 255; + arr[3] = v & 255; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 255; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 255; + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 255; + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; + arr[11] = v / 4294967296 & 255; + arr[12] = v >>> 24 & 255; + arr[13] = v >>> 16 & 255; + arr[14] = v >>> 8 & 255; + arr[15] = v & 255; + return arr; +} +var parse_default; +var init_parse = __esm({ + "../../../node_modules/uuid/dist/esm-node/parse.js"() { + init_validate(); + parse_default = parse; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v35.js +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; +} +function v35_default(name, version2, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === "string") { + value = stringToBytes(value); + } + if (typeof namespace === "string") { + namespace = parse_default(namespace); + } + if (namespace.length !== 16) { + throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); + } + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 15 | version2; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return stringify_default(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; +} +var DNS, URL2; +var init_v35 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v35.js"() { + init_stringify(); + init_parse(); + DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/md5.js +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto2.default.createHash("md5").update(bytes).digest(); +} +var import_crypto2, md5_default; +var init_md5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/md5.js"() { + import_crypto2 = __toESM(require("crypto")); + md5_default = md5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v3.js +var v3, v3_default; +var init_v3 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v3.js"() { + init_v35(); + init_md5(); + v3 = v35_default("v3", 48, md5_default); + v3_default = v3; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v4.js +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return stringify_default(rnds); +} +var v4_default; +var init_v4 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v4.js"() { + init_rng(); + init_stringify(); + v4_default = v4; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/sha1.js +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto3.default.createHash("sha1").update(bytes).digest(); +} +var import_crypto3, sha1_default; +var init_sha1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/sha1.js"() { + import_crypto3 = __toESM(require("crypto")); + sha1_default = sha1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v5.js +var v5, v5_default; +var init_v5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v5.js"() { + init_v35(); + init_sha1(); + v5 = v35_default("v5", 80, sha1_default); + v5_default = v5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/nil.js +var nil_default; +var init_nil = __esm({ + "../../../node_modules/uuid/dist/esm-node/nil.js"() { + nil_default = "00000000-0000-0000-0000-000000000000"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/version.js +function version(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.substr(14, 1), 16); +} +var version_default; +var init_version = __esm({ + "../../../node_modules/uuid/dist/esm-node/version.js"() { + init_validate(); + version_default = version; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/index.js +var esm_node_exports = {}; +__export(esm_node_exports, { + NIL: () => nil_default, + parse: () => parse_default, + stringify: () => stringify_default, + v1: () => v1_default, + v3: () => v3_default, + v4: () => v4_default, + v5: () => v5_default, + validate: () => validate_default, + version: () => version_default +}); +var init_esm_node = __esm({ + "../../../node_modules/uuid/dist/esm-node/index.js"() { + init_v1(); + init_v3(); + init_v4(); + init_v5(); + init_nil(); + init_version(); + init_validate(); + init_stringify(); + init_parse(); + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js +var require_defaultRetryQuota = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getDefaultRetryQuota = void 0; + var util_retry_1 = require_dist_cjs28(); + var getDefaultRetryQuota = (initialRetryTokens, options) => { + var _a, _b, _c; + const MAX_CAPACITY = initialRetryTokens; + const noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : util_retry_1.NO_RETRY_INCREMENT; + const retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : util_retry_1.RETRY_COST; + const timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : util_retry_1.TIMEOUT_RETRY_COST; + let availableCapacity = initialRetryTokens; + const getCapacityAmount = (error) => error.name === "TimeoutError" ? timeoutRetryCost : retryCost; + const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity; + const retrieveRetryTokens = (error) => { + if (!hasRetryTokens(error)) { + throw new Error("No retry token available"); + } + const capacityAmount = getCapacityAmount(error); + availableCapacity -= capacityAmount; + return capacityAmount; + }; + const releaseRetryTokens = (capacityReleaseAmount) => { + availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : noRetryIncrement; + availableCapacity = Math.min(availableCapacity, MAX_CAPACITY); + }; + return Object.freeze({ + hasRetryTokens, + retrieveRetryTokens, + releaseRetryTokens + }); + }; + exports.getDefaultRetryQuota = getDefaultRetryQuota; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js +var require_delayDecider = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultDelayDecider = void 0; + var util_retry_1 = require_dist_cjs28(); + var defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(util_retry_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); + exports.defaultDelayDecider = defaultDelayDecider; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js +var require_retryDecider = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultRetryDecider = void 0; + var service_error_classification_1 = require_dist_cjs27(); + var defaultRetryDecider = (error) => { + if (!error) { + return false; + } + return (0, service_error_classification_1.isRetryableByTrait)(error) || (0, service_error_classification_1.isClockSkewError)(error) || (0, service_error_classification_1.isThrottlingError)(error) || (0, service_error_classification_1.isTransientError)(error); + }; + exports.defaultRetryDecider = defaultRetryDecider; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js +var require_util3 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.asSdkError = void 0; + var asSdkError = (error) => { + if (error instanceof Error) + return error; + if (error instanceof Object) + return Object.assign(new Error(), error); + if (typeof error === "string") + return new Error(error); + return new Error(`AWS SDK error wrapper for ${error}`); + }; + exports.asSdkError = asSdkError; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js +var require_StandardRetryStrategy2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StandardRetryStrategy = void 0; + var protocol_http_1 = require_dist_cjs2(); + var service_error_classification_1 = require_dist_cjs27(); + var util_retry_1 = require_dist_cjs28(); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var defaultRetryQuota_1 = require_defaultRetryQuota(); + var delayDecider_1 = require_delayDecider(); + var retryDecider_1 = require_retryDecider(); + var util_1 = require_util3(); + var StandardRetryStrategy = class { + constructor(maxAttemptsProvider, options) { + var _a, _b, _c; + this.maxAttemptsProvider = maxAttemptsProvider; + this.mode = util_retry_1.RETRY_MODES.STANDARD; + this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : retryDecider_1.defaultRetryDecider; + this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : delayDecider_1.defaultDelayDecider; + this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : (0, defaultRetryQuota_1.getDefaultRetryQuota)(util_retry_1.INITIAL_RETRY_TOKENS); + } + shouldRetry(error, attempts, maxAttempts) { + return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error); + } + async getMaxAttempts() { + let maxAttempts; + try { + maxAttempts = await this.maxAttemptsProvider(); + } catch (error) { + maxAttempts = util_retry_1.DEFAULT_MAX_ATTEMPTS; + } + return maxAttempts; + } + async retry(next, args, options) { + let retryTokenAmount; + let attempts = 0; + let totalDelay = 0; + const maxAttempts = await this.getMaxAttempts(); + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); + } + while (true) { + try { + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + if (options === null || options === void 0 ? void 0 : options.beforeRequest) { + await options.beforeRequest(); + } + const { response, output } = await next(args); + if (options === null || options === void 0 ? void 0 : options.afterRequest) { + options.afterRequest(response); + } + this.retryQuota.releaseRetryTokens(retryTokenAmount); + output.$metadata.attempts = attempts + 1; + output.$metadata.totalRetryDelay = totalDelay; + return { response, output }; + } catch (e) { + const err = (0, util_1.asSdkError)(e); + attempts++; + if (this.shouldRetry(err, attempts, maxAttempts)) { + retryTokenAmount = this.retryQuota.retrieveRetryTokens(err); + const delayFromDecider = this.delayDecider((0, service_error_classification_1.isThrottlingError)(err) ? util_retry_1.THROTTLING_RETRY_DELAY_BASE : util_retry_1.DEFAULT_RETRY_DELAY_BASE, attempts); + const delayFromResponse = getDelayFromRetryAfterHeader(err.$response); + const delay = Math.max(delayFromResponse || 0, delayFromDecider); + totalDelay += delay; + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + if (!err.$metadata) { + err.$metadata = {}; + } + err.$metadata.attempts = attempts; + err.$metadata.totalRetryDelay = totalDelay; + throw err; + } + } + } + }; + exports.StandardRetryStrategy = StandardRetryStrategy; + var getDelayFromRetryAfterHeader = (response) => { + if (!protocol_http_1.HttpResponse.isInstance(response)) + return; + const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); + if (!retryAfterHeaderName) + return; + const retryAfter = response.headers[retryAfterHeaderName]; + const retryAfterSeconds = Number(retryAfter); + if (!Number.isNaN(retryAfterSeconds)) + return retryAfterSeconds * 1e3; + const retryAfterDate = new Date(retryAfter); + return retryAfterDate.getTime() - Date.now(); + }; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js +var require_AdaptiveRetryStrategy2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AdaptiveRetryStrategy = void 0; + var util_retry_1 = require_dist_cjs28(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy2(); + var AdaptiveRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { + constructor(maxAttemptsProvider, options) { + const { rateLimiter, ...superOptions } = options !== null && options !== void 0 ? options : {}; + super(maxAttemptsProvider, superOptions); + this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new util_retry_1.DefaultRateLimiter(); + this.mode = util_retry_1.RETRY_MODES.ADAPTIVE; + } + async retry(next, args) { + return super.retry(next, args, { + beforeRequest: async () => { + return this.rateLimiter.getSendToken(); + }, + afterRequest: (response) => { + this.rateLimiter.updateClientSendingRate(response); + } + }); + } + }; + exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js +var require_configurations2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0; + var util_middleware_1 = require_dist_cjs10(); + var util_retry_1 = require_dist_cjs28(); + exports.ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; + exports.CONFIG_MAX_ATTEMPTS = "max_attempts"; + exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => { + const value = env[exports.ENV_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, + configFileSelector: (profile) => { + const value = profile[exports.CONFIG_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, + default: util_retry_1.DEFAULT_MAX_ATTEMPTS + }; + var resolveRetryConfig = (input) => { + var _a; + const { retryStrategy } = input; + const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS); + return { + ...input, + maxAttempts, + retryStrategy: async () => { + if (retryStrategy) { + return retryStrategy; + } + const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)(); + if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) { + return new util_retry_1.AdaptiveRetryStrategy(maxAttempts); + } + return new util_retry_1.StandardRetryStrategy(maxAttempts); + } + }; + }; + exports.resolveRetryConfig = resolveRetryConfig; + exports.ENV_RETRY_MODE = "AWS_RETRY_MODE"; + exports.CONFIG_RETRY_MODE = "retry_mode"; + exports.NODE_RETRY_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE], + configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE], + default: util_retry_1.DEFAULT_RETRY_MODE + }; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js +var require_omitRetryHeadersMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getOmitRetryHeadersPlugin = exports.omitRetryHeadersMiddlewareOptions = exports.omitRetryHeadersMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var util_retry_1 = require_dist_cjs28(); + var omitRetryHeadersMiddleware = () => (next) => async (args) => { + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + delete request2.headers[util_retry_1.INVOCATION_ID_HEADER]; + delete request2.headers[util_retry_1.REQUEST_HEADER]; + } + return next(args); + }; + exports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware; + exports.omitRetryHeadersMiddlewareOptions = { + name: "omitRetryHeadersMiddleware", + tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"], + relation: "before", + toMiddleware: "awsAuthMiddleware", + override: true + }; + var getOmitRetryHeadersPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, exports.omitRetryHeadersMiddleware)(), exports.omitRetryHeadersMiddlewareOptions); + } + }); + exports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js +var require_retryMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRetryAfterHint = exports.getRetryPlugin = exports.retryMiddlewareOptions = exports.retryMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var service_error_classification_1 = require_dist_cjs27(); + var util_retry_1 = require_dist_cjs28(); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var util_1 = require_util3(); + var retryMiddleware = (options) => (next, context) => async (args) => { + let retryStrategy = await options.retryStrategy(); + const maxAttempts = await options.maxAttempts(); + if (isRetryStrategyV2(retryStrategy)) { + retryStrategy = retryStrategy; + let retryToken = await retryStrategy.acquireInitialRetryToken(context["partition_id"]); + let lastError = new Error(); + let attempts = 0; + let totalRetryDelay = 0; + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); + } + while (true) { + try { + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + const { response, output } = await next(args); + retryStrategy.recordSuccess(retryToken); + output.$metadata.attempts = attempts + 1; + output.$metadata.totalRetryDelay = totalRetryDelay; + return { response, output }; + } catch (e) { + const retryErrorInfo = getRetryErrorInfo(e); + lastError = (0, util_1.asSdkError)(e); + try { + retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo); + } catch (refreshError) { + if (!lastError.$metadata) { + lastError.$metadata = {}; + } + lastError.$metadata.attempts = attempts + 1; + lastError.$metadata.totalRetryDelay = totalRetryDelay; + throw lastError; + } + attempts = retryToken.getRetryCount(); + const delay = retryToken.getRetryDelay(); + totalRetryDelay += delay; + await new Promise((resolve) => setTimeout(resolve, delay)); + } + } + } else { + retryStrategy = retryStrategy; + if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode) + context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]]; + return retryStrategy.retry(next, args); + } + }; + exports.retryMiddleware = retryMiddleware; + var isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined"; + var getRetryErrorInfo = (error) => { + const errorInfo = { + errorType: getRetryErrorType(error) + }; + const retryAfterHint = (0, exports.getRetryAfterHint)(error.$response); + if (retryAfterHint) { + errorInfo.retryAfterHint = retryAfterHint; + } + return errorInfo; + }; + var getRetryErrorType = (error) => { + if ((0, service_error_classification_1.isThrottlingError)(error)) + return "THROTTLING"; + if ((0, service_error_classification_1.isTransientError)(error)) + return "TRANSIENT"; + if ((0, service_error_classification_1.isServerError)(error)) + return "SERVER_ERROR"; + return "CLIENT_ERROR"; + }; + exports.retryMiddlewareOptions = { + name: "retryMiddleware", + tags: ["RETRY"], + step: "finalizeRequest", + priority: "high", + override: true + }; + var getRetryPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.retryMiddleware)(options), exports.retryMiddlewareOptions); + } + }); + exports.getRetryPlugin = getRetryPlugin; + var getRetryAfterHint = (response) => { + if (!protocol_http_1.HttpResponse.isInstance(response)) + return; + const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); + if (!retryAfterHeaderName) + return; + const retryAfter = response.headers[retryAfterHeaderName]; + const retryAfterSeconds = Number(retryAfter); + if (!Number.isNaN(retryAfterSeconds)) + return new Date(retryAfterSeconds * 1e3); + const retryAfterDate = new Date(retryAfter); + return retryAfterDate; + }; + exports.getRetryAfterHint = getRetryAfterHint; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js +var require_dist_cjs29 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AdaptiveRetryStrategy2(), exports); + tslib_1.__exportStar(require_StandardRetryStrategy2(), exports); + tslib_1.__exportStar(require_configurations2(), exports); + tslib_1.__exportStar(require_delayDecider(), exports); + tslib_1.__exportStar(require_omitRetryHeadersMiddleware(), exports); + tslib_1.__exportStar(require_retryDecider(), exports); + tslib_1.__exportStar(require_retryMiddleware(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js +var require_NoOpLogger = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NoOpLogger = void 0; + var NoOpLogger = class { + trace() { + } + debug() { + } + info() { + } + warn() { + } + error() { + } + }; + exports.NoOpLogger = NoOpLogger; + } +}); + +// ../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js +var require_MiddlewareStack = __commonJS({ + "../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.constructStack = void 0; + var constructStack = () => { + let absoluteEntries = []; + let relativeEntries = []; + const entriesNameSet = /* @__PURE__ */ new Set(); + const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"]); + const removeByName = (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + if (entry.name && entry.name === toRemove) { + isRemoved = true; + entriesNameSet.delete(toRemove); + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }; + const removeByReference = (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + if (entry.middleware === toRemove) { + isRemoved = true; + if (entry.name) + entriesNameSet.delete(entry.name); + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }; + const cloneTo = (toStack) => { + absoluteEntries.forEach((entry) => { + toStack.add(entry.middleware, { ...entry }); + }); + relativeEntries.forEach((entry) => { + toStack.addRelativeTo(entry.middleware, { ...entry }); + }); + return toStack; + }; + const expandRelativeMiddlewareList = (from) => { + const expandedMiddlewareList = []; + from.before.forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + expandedMiddlewareList.push(from); + from.after.reverse().forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + return expandedMiddlewareList; + }; + const getMiddlewareList = (debug = false) => { + const normalizedAbsoluteEntries = []; + const normalizedRelativeEntries = []; + const normalizedEntriesNameMap = {}; + absoluteEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + if (normalizedEntry.name) + normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; + normalizedAbsoluteEntries.push(normalizedEntry); + }); + relativeEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + if (normalizedEntry.name) + normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; + normalizedRelativeEntries.push(normalizedEntry); + }); + normalizedRelativeEntries.forEach((entry) => { + if (entry.toMiddleware) { + const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; + if (toMiddleware === void 0) { + if (debug) { + return; + } + throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || "anonymous"} middleware ${entry.relation} ${entry.toMiddleware}`); + } + if (entry.relation === "after") { + toMiddleware.after.push(entry); + } + if (entry.relation === "before") { + toMiddleware.before.push(entry); + } + } + }); + const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => { + wholeList.push(...expandedMiddlewareList); + return wholeList; + }, []); + return mainChain; + }; + const stack = { + add: (middleware, options = {}) => { + const { name, override } = options; + const entry = { + step: "initialize", + priority: "normal", + middleware, + ...options + }; + if (name) { + if (entriesNameSet.has(name)) { + if (!override) + throw new Error(`Duplicate middleware name '${name}'`); + const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === name); + const toOverride = absoluteEntries[toOverrideIndex]; + if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) { + throw new Error(`"${name}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`); + } + absoluteEntries.splice(toOverrideIndex, 1); + } + entriesNameSet.add(name); + } + absoluteEntries.push(entry); + }, + addRelativeTo: (middleware, options) => { + const { name, override } = options; + const entry = { + middleware, + ...options + }; + if (name) { + if (entriesNameSet.has(name)) { + if (!override) + throw new Error(`Duplicate middleware name '${name}'`); + const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === name); + const toOverride = relativeEntries[toOverrideIndex]; + if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { + throw new Error(`"${name}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by same-name middleware ${entry.relation} "${entry.toMiddleware}" middleware.`); + } + relativeEntries.splice(toOverrideIndex, 1); + } + entriesNameSet.add(name); + } + relativeEntries.push(entry); + }, + clone: () => cloneTo((0, exports.constructStack)()), + use: (plugin) => { + plugin.applyToStack(stack); + }, + remove: (toRemove) => { + if (typeof toRemove === "string") + return removeByName(toRemove); + else + return removeByReference(toRemove); + }, + removeByTag: (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + const { tags, name } = entry; + if (tags && tags.includes(toRemove)) { + if (name) + entriesNameSet.delete(name); + isRemoved = true; + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, + concat: (from) => { + const cloned = cloneTo((0, exports.constructStack)()); + cloned.use(from); + return cloned; + }, + applyToStack: cloneTo, + identify: () => { + return getMiddlewareList(true).map((mw) => { + return mw.name + ": " + (mw.tags || []).join(","); + }); + }, + resolve: (handler2, context) => { + for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { + handler2 = middleware(handler2, context); + } + return handler2; + } + }; + return stack; + }; + exports.constructStack = constructStack; + var stepWeights = { + initialize: 5, + serialize: 4, + build: 3, + finalizeRequest: 2, + deserialize: 1 + }; + var priorityWeights = { + high: 3, + normal: 2, + low: 1 + }; + } +}); + +// ../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js +var require_dist_cjs30 = __commonJS({ + "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_MiddlewareStack(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/client.js +var require_client3 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Client = void 0; + var middleware_stack_1 = require_dist_cjs30(); + var Client = class { + constructor(config) { + this.middlewareStack = (0, middleware_stack_1.constructStack)(); + this.config = config; + } + send(command, optionsOrCb, cb) { + const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; + const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; + const handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); + if (callback) { + handler2(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => { + }); + } else { + return handler2(command).then((result) => result.output); + } + } + destroy() { + if (this.config.requestHandler.destroy) + this.config.requestHandler.destroy(); + } + }; + exports.Client = Client; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js +var require_fromBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; + var fromBase64 = (input) => { + if (input.length * 3 % 4 !== 0) { + throw new TypeError(`Incorrect padding on base64 string.`); + } + if (!BASE64_REGEX.exec(input)) { + throw new TypeError(`Invalid base64 string.`); + } + const buffer = (0, util_buffer_from_1.fromString)(input, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + }; + exports.fromBase64 = fromBase64; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js +var require_toBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var toBase64 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64"); + exports.toBase64 = toBase64; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/index.js +var require_dist_cjs31 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromBase64(), exports); + tslib_1.__exportStar(require_toBase64(), exports); + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js +var require_transforms = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.transformFromString = exports.transformToString = void 0; + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var Uint8ArrayBlobAdapter_1 = require_Uint8ArrayBlobAdapter(); + function transformToString(payload, encoding = "utf-8") { + if (encoding === "base64") { + return (0, util_base64_1.toBase64)(payload); + } + return (0, util_utf8_1.toUtf8)(payload); + } + exports.transformToString = transformToString; + function transformFromString(str, encoding) { + if (encoding === "base64") { + return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_base64_1.fromBase64)(str)); + } + return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_utf8_1.fromUtf8)(str)); + } + exports.transformFromString = transformFromString; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js +var require_Uint8ArrayBlobAdapter = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Uint8ArrayBlobAdapter = void 0; + var transforms_1 = require_transforms(); + var Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter extends Uint8Array { + static fromString(source, encoding = "utf-8") { + switch (typeof source) { + case "string": + return (0, transforms_1.transformFromString)(source, encoding); + default: + throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); + } + } + static mutate(source) { + Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter.prototype); + return source; + } + transformToString(encoding = "utf-8") { + return (0, transforms_1.transformToString)(this, encoding); + } + }; + exports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js +var require_getAwsChunkedEncodingStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAwsChunkedEncodingStream = void 0; + var stream_1 = require("stream"); + var getAwsChunkedEncodingStream = (readableStream, options) => { + const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; + const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; + const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; + const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { + } }); + readableStream.on("data", (data) => { + const length = bodyLengthChecker(data) || 0; + awsChunkedEncodingStream.push(`${length.toString(16)}\r +`); + awsChunkedEncodingStream.push(data); + awsChunkedEncodingStream.push("\r\n"); + }); + readableStream.on("end", async () => { + awsChunkedEncodingStream.push(`0\r +`); + if (checksumRequired) { + const checksum = base64Encoder(await digest); + awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r +`); + awsChunkedEncodingStream.push(`\r +`); + } + awsChunkedEncodingStream.push(null); + }); + return awsChunkedEncodingStream; + }; + exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream; + } +}); + +// ../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js +var require_dist_cjs32 = __commonJS({ + "../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.buildQueryString = void 0; + var util_uri_escape_1 = require_dist_cjs14(); + function buildQueryString(query) { + const parts = []; + for (let key of Object.keys(query).sort()) { + const value = query[key]; + key = (0, util_uri_escape_1.escapeUri)(key); + if (Array.isArray(value)) { + for (let i = 0, iLen = value.length; i < iLen; i++) { + parts.push(`${key}=${(0, util_uri_escape_1.escapeUri)(value[i])}`); + } + } else { + let qsEntry = key; + if (value || typeof value === "string") { + qsEntry += `=${(0, util_uri_escape_1.escapeUri)(value)}`; + } + parts.push(qsEntry); + } + } + return parts.join("&"); + } + exports.buildQueryString = buildQueryString; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js +var require_constants5 = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODEJS_TIMEOUT_ERROR_CODES = void 0; + exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js +var require_get_transformed_headers = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getTransformedHeaders = void 0; + var getTransformedHeaders = (headers) => { + const transformedHeaders = {}; + for (const name of Object.keys(headers)) { + const headerValues = headers[name]; + transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; + } + return transformedHeaders; + }; + exports.getTransformedHeaders = getTransformedHeaders; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js +var require_set_connection_timeout = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setConnectionTimeout = void 0; + var setConnectionTimeout = (request2, reject, timeoutInMs = 0) => { + if (!timeoutInMs) { + return; + } + const timeoutId = setTimeout(() => { + request2.destroy(); + reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { + name: "TimeoutError" + })); + }, timeoutInMs); + request2.on("socket", (socket) => { + if (socket.connecting) { + socket.on("connect", () => { + clearTimeout(timeoutId); + }); + } else { + clearTimeout(timeoutId); + } + }); + }; + exports.setConnectionTimeout = setConnectionTimeout; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js +var require_set_socket_keep_alive = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setSocketKeepAlive = void 0; + var setSocketKeepAlive = (request2, { keepAlive, keepAliveMsecs }) => { + if (keepAlive !== true) { + return; + } + request2.on("socket", (socket) => { + socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + }); + }; + exports.setSocketKeepAlive = setSocketKeepAlive; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js +var require_set_socket_timeout = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setSocketTimeout = void 0; + var setSocketTimeout = (request2, reject, timeoutInMs = 0) => { + request2.setTimeout(timeoutInMs, () => { + request2.destroy(); + reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" })); + }); + }; + exports.setSocketTimeout = setSocketTimeout; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js +var require_write_request_body = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.writeRequestBody = void 0; + var stream_1 = require("stream"); + var MIN_WAIT_TIME = 1e3; + async function writeRequestBody(httpRequest, request2, maxContinueTimeoutMs = MIN_WAIT_TIME) { + var _a; + const headers = (_a = request2.headers) !== null && _a !== void 0 ? _a : {}; + const expect = headers["Expect"] || headers["expect"]; + let timeoutId = -1; + let hasError = false; + if (expect === "100-continue") { + await Promise.race([ + new Promise((resolve) => { + timeoutId = Number(setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); + }), + new Promise((resolve) => { + httpRequest.on("continue", () => { + clearTimeout(timeoutId); + resolve(); + }); + httpRequest.on("error", () => { + hasError = true; + clearTimeout(timeoutId); + resolve(); + }); + }) + ]); + } + if (!hasError) { + writeBody(httpRequest, request2.body); + } + } + exports.writeRequestBody = writeRequestBody; + function writeBody(httpRequest, body) { + if (body instanceof stream_1.Readable) { + body.pipe(httpRequest); + } else if (body) { + httpRequest.end(Buffer.from(body)); + } else { + httpRequest.end(); + } + } + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js +var require_node_http_handler = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttpHandler = exports.DEFAULT_REQUEST_TIMEOUT = void 0; + var protocol_http_1 = require_dist_cjs2(); + var querystring_builder_1 = require_dist_cjs32(); + var http_1 = require("http"); + var https_1 = require("https"); + var constants_1 = require_constants5(); + var get_transformed_headers_1 = require_get_transformed_headers(); + var set_connection_timeout_1 = require_set_connection_timeout(); + var set_socket_keep_alive_1 = require_set_socket_keep_alive(); + var set_socket_timeout_1 = require_set_socket_timeout(); + var write_request_body_1 = require_write_request_body(); + exports.DEFAULT_REQUEST_TIMEOUT = 0; + var NodeHttpHandler = class { + constructor(options) { + this.metadata = { handlerProtocol: "http/1.1" }; + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((_options) => { + resolve(this.resolveDefaultConfig(_options)); + }).catch(reject); + } else { + resolve(this.resolveDefaultConfig(options)); + } + }); + } + resolveDefaultConfig(options) { + const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {}; + const keepAlive = true; + const maxSockets = 50; + return { + connectionTimeout, + requestTimeout: requestTimeout !== null && requestTimeout !== void 0 ? requestTimeout : socketTimeout, + httpAgent: httpAgent || new http_1.Agent({ keepAlive, maxSockets }), + httpsAgent: httpsAgent || new https_1.Agent({ keepAlive, maxSockets }) + }; + } + destroy() { + var _a, _b, _c, _d; + (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.httpAgent) === null || _b === void 0 ? void 0 : _b.destroy(); + (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.httpsAgent) === null || _d === void 0 ? void 0 : _d.destroy(); + } + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + } + return new Promise((_resolve, _reject) => { + var _a, _b; + let writeRequestBodyPromise = void 0; + const resolve = async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }; + const reject = async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }; + if (!this.config) { + throw new Error("Node HTTP request handler config is not resolved"); + } + if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; + } + const isSSL = request2.protocol === "https:"; + const queryString = (0, querystring_builder_1.buildQueryString)(request2.query || {}); + let auth = void 0; + if (request2.username != null || request2.password != null) { + const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; + const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; + auth = `${username}:${password}`; + } + let path = request2.path; + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + const nodeHttpsOptions = { + headers: request2.headers, + host: request2.hostname, + method: request2.method, + path, + port: request2.port, + agent: isSSL ? this.config.httpsAgent : this.config.httpAgent, + auth + }; + const requestFunc = isSSL ? https_1.request : http_1.request; + const req = requestFunc(nodeHttpsOptions, (res) => { + const httpResponse = new protocol_http_1.HttpResponse({ + statusCode: res.statusCode || -1, + reason: res.statusMessage, + headers: (0, get_transformed_headers_1.getTransformedHeaders)(res.headers), + body: res + }); + resolve({ response: httpResponse }); + }); + req.on("error", (err) => { + if (constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) { + reject(Object.assign(err, { name: "TimeoutError" })); + } else { + reject(err); + } + }); + (0, set_connection_timeout_1.setConnectionTimeout)(req, reject, this.config.connectionTimeout); + (0, set_socket_timeout_1.setSocketTimeout)(req, reject, this.config.requestTimeout); + if (abortSignal) { + abortSignal.onabort = () => { + req.abort(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + }; + } + const httpAgent = nodeHttpsOptions.agent; + if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { + (0, set_socket_keep_alive_1.setSocketKeepAlive)(req, { + keepAlive: httpAgent.keepAlive, + keepAliveMsecs: httpAgent.keepAliveMsecs + }); + } + writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, this.config.requestTimeout).catch(_reject); + }); + } + }; + exports.NodeHttpHandler = NodeHttpHandler; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js +var require_node_http2_connection_pool = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2ConnectionPool = void 0; + var NodeHttp2ConnectionPool = class { + constructor(sessions) { + this.sessions = []; + this.sessions = sessions !== null && sessions !== void 0 ? sessions : []; + } + poll() { + if (this.sessions.length > 0) { + return this.sessions.shift(); + } + } + offerLast(session) { + this.sessions.push(session); + } + contains(session) { + return this.sessions.includes(session); + } + remove(session) { + this.sessions = this.sessions.filter((s) => s !== session); + } + [Symbol.iterator]() { + return this.sessions[Symbol.iterator](); + } + destroy(connection) { + for (const session of this.sessions) { + if (session === connection) { + if (!session.destroyed) { + session.destroy(); + } + } + } + } + }; + exports.NodeHttp2ConnectionPool = NodeHttp2ConnectionPool; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js +var require_node_http2_connection_manager = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2ConnectionManager = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var http2_1 = tslib_1.__importDefault(require("http2")); + var node_http2_connection_pool_1 = require_node_http2_connection_pool(); + var NodeHttp2ConnectionManager = class { + constructor(config) { + this.sessionCache = /* @__PURE__ */ new Map(); + this.config = config; + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrency must be greater than zero."); + } + } + lease(requestContext, connectionConfiguration) { + const url2 = this.getUrlString(requestContext); + const existingPool = this.sessionCache.get(url2); + if (existingPool) { + const existingSession = existingPool.poll(); + if (existingSession && !this.config.disableConcurrency) { + return existingSession; + } + } + const session = http2_1.default.connect(url2); + if (this.config.maxConcurrency) { + session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { + if (err) { + throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString()); + } + }); + } + session.unref(); + const destroySessionCb = () => { + session.destroy(); + this.deleteSession(url2, session); + }; + session.on("goaway", destroySessionCb); + session.on("error", destroySessionCb); + session.on("frameError", destroySessionCb); + session.on("close", () => this.deleteSession(url2, session)); + if (connectionConfiguration.requestTimeout) { + session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb); + } + const connectionPool = this.sessionCache.get(url2) || new node_http2_connection_pool_1.NodeHttp2ConnectionPool(); + connectionPool.offerLast(session); + this.sessionCache.set(url2, connectionPool); + return session; + } + deleteSession(authority, session) { + const existingConnectionPool = this.sessionCache.get(authority); + if (!existingConnectionPool) { + return; + } + if (!existingConnectionPool.contains(session)) { + return; + } + existingConnectionPool.remove(session); + this.sessionCache.set(authority, existingConnectionPool); + } + release(requestContext, session) { + var _a; + const cacheKey = this.getUrlString(requestContext); + (_a = this.sessionCache.get(cacheKey)) === null || _a === void 0 ? void 0 : _a.offerLast(session); + } + destroy() { + for (const [key, connectionPool] of this.sessionCache) { + for (const session of connectionPool) { + if (!session.destroyed) { + session.destroy(); + } + connectionPool.remove(session); + } + this.sessionCache.delete(key); + } + } + setMaxConcurrentStreams(maxConcurrentStreams) { + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrentStreams must be greater than zero."); + } + this.config.maxConcurrency = maxConcurrentStreams; + } + setDisableConcurrentStreams(disableConcurrentStreams) { + this.config.disableConcurrency = disableConcurrentStreams; + } + getUrlString(request2) { + return request2.destination.toString(); + } + }; + exports.NodeHttp2ConnectionManager = NodeHttp2ConnectionManager; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js +var require_node_http2_handler = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2Handler = void 0; + var protocol_http_1 = require_dist_cjs2(); + var querystring_builder_1 = require_dist_cjs32(); + var http2_1 = require("http2"); + var get_transformed_headers_1 = require_get_transformed_headers(); + var node_http2_connection_manager_1 = require_node_http2_connection_manager(); + var write_request_body_1 = require_write_request_body(); + var NodeHttp2Handler = class { + constructor(options) { + this.metadata = { handlerProtocol: "h2" }; + this.connectionManager = new node_http2_connection_manager_1.NodeHttp2ConnectionManager({}); + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((opts) => { + resolve(opts || {}); + }).catch(reject); + } else { + resolve(options || {}); + } + }); + } + destroy() { + this.connectionManager.destroy(); + } + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false); + if (this.config.maxConcurrentStreams) { + this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams); + } + } + const { requestTimeout, disableConcurrentStreams } = this.config; + return new Promise((_resolve, _reject) => { + var _a, _b, _c; + let fulfilled = false; + let writeRequestBodyPromise = void 0; + const resolve = async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }; + const reject = async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }; + if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { + fulfilled = true; + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; + } + const { hostname, method, port, protocol, query } = request2; + let auth = ""; + if (request2.username != null || request2.password != null) { + const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; + const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; + auth = `${username}:${password}@`; + } + const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : ""}`; + const requestContext = { destination: new URL(authority) }; + const session = this.connectionManager.lease(requestContext, { + requestTimeout: (_c = this.config) === null || _c === void 0 ? void 0 : _c.sessionTimeout, + disableConcurrentStreams: disableConcurrentStreams || false + }); + const rejectWithDestroy = (err) => { + if (disableConcurrentStreams) { + this.destroySession(session); + } + fulfilled = true; + reject(err); + }; + const queryString = (0, querystring_builder_1.buildQueryString)(query || {}); + let path = request2.path; + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + const req = session.request({ + ...request2.headers, + [http2_1.constants.HTTP2_HEADER_PATH]: path, + [http2_1.constants.HTTP2_HEADER_METHOD]: method + }); + session.ref(); + req.on("response", (headers) => { + const httpResponse = new protocol_http_1.HttpResponse({ + statusCode: headers[":status"] || -1, + headers: (0, get_transformed_headers_1.getTransformedHeaders)(headers), + body: req + }); + fulfilled = true; + resolve({ response: httpResponse }); + if (disableConcurrentStreams) { + session.close(); + this.connectionManager.deleteSession(authority, session); + } + }); + if (requestTimeout) { + req.setTimeout(requestTimeout, () => { + req.close(); + const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`); + timeoutError.name = "TimeoutError"; + rejectWithDestroy(timeoutError); + }); + } + if (abortSignal) { + abortSignal.onabort = () => { + req.close(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + rejectWithDestroy(abortError); + }; + } + req.on("frameError", (type, code, id) => { + rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); + }); + req.on("error", rejectWithDestroy); + req.on("aborted", () => { + rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`)); + }); + req.on("close", () => { + session.unref(); + if (disableConcurrentStreams) { + session.destroy(); + } + if (!fulfilled) { + rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response")); + } + }); + writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, requestTimeout); + }); + } + destroySession(session) { + if (!session.destroyed) { + session.destroy(); + } + } + }; + exports.NodeHttp2Handler = NodeHttp2Handler; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js +var require_collector = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Collector = void 0; + var stream_1 = require("stream"); + var Collector = class extends stream_1.Writable { + constructor() { + super(...arguments); + this.bufferedBytes = []; + } + _write(chunk, encoding, callback) { + this.bufferedBytes.push(chunk); + callback(); + } + }; + exports.Collector = Collector; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js +var require_stream_collector = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.streamCollector = void 0; + var collector_1 = require_collector(); + var streamCollector = (stream) => new Promise((resolve, reject) => { + const collector = new collector_1.Collector(); + stream.pipe(collector); + stream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes)); + resolve(bytes); + }); + }); + exports.streamCollector = streamCollector; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js +var require_dist_cjs33 = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_node_http_handler(), exports); + tslib_1.__exportStar(require_node_http2_handler(), exports); + tslib_1.__exportStar(require_stream_collector(), exports); + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js +var require_sdk_stream_mixin = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sdkStreamMixin = void 0; + var node_http_handler_1 = require_dist_cjs33(); + var util_buffer_from_1 = require_dist_cjs12(); + var stream_1 = require("stream"); + var util_1 = require("util"); + var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; + var sdkStreamMixin = (stream) => { + var _a, _b; + if (!(stream instanceof stream_1.Readable)) { + const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; + throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); + } + let transformed = false; + const transformToByteArray = async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + return await (0, node_http_handler_1.streamCollector)(stream); + }; + return Object.assign(stream, { + transformToByteArray, + transformToString: async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === void 0 || Buffer.isEncoding(encoding)) { + return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); + } else { + const decoder = new util_1.TextDecoder(encoding); + return decoder.decode(buf); + } + }, + transformToWebStream: () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + if (stream.readableFlowing !== null) { + throw new Error("The stream has been consumed by other callbacks."); + } + if (typeof stream_1.Readable.toWeb !== "function") { + throw new Error("Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available."); + } + transformed = true; + return stream_1.Readable.toWeb(stream); + } + }); + }; + exports.sdkStreamMixin = sdkStreamMixin; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/index.js +var require_dist_cjs34 = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Uint8ArrayBlobAdapter(), exports); + tslib_1.__exportStar(require_getAwsChunkedEncodingStream(), exports); + tslib_1.__exportStar(require_sdk_stream_mixin(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js +var require_collect_stream_body = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.collectBody = void 0; + var util_stream_1 = require_dist_cjs34(); + var collectBody = async (streamBody = new Uint8Array(), context) => { + if (streamBody instanceof Uint8Array) { + return util_stream_1.Uint8ArrayBlobAdapter.mutate(streamBody); + } + if (!streamBody) { + return util_stream_1.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); + } + const fromContext = context.streamCollector(streamBody); + return util_stream_1.Uint8ArrayBlobAdapter.mutate(await fromContext); + }; + exports.collectBody = collectBody; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/command.js +var require_command3 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Command = void 0; + var middleware_stack_1 = require_dist_cjs30(); + var Command = class { + constructor() { + this.middlewareStack = (0, middleware_stack_1.constructStack)(); + } + }; + exports.Command = Command; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js +var require_constants6 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SENSITIVE_STRING = void 0; + exports.SENSITIVE_STRING = "***SensitiveInformation***"; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js +var require_create_aggregated_client = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createAggregatedClient = void 0; + var createAggregatedClient = (commands, Client) => { + for (const command of Object.keys(commands)) { + const CommandCtor = commands[command]; + const methodImpl = async function(args, optionsOrCb, cb) { + const command2 = new CommandCtor(args); + if (typeof optionsOrCb === "function") { + this.send(command2, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") + throw new Error(`Expected http options but got ${typeof optionsOrCb}`); + this.send(command2, optionsOrCb || {}, cb); + } else { + return this.send(command2, optionsOrCb); + } + }; + const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); + Client.prototype[methodName] = methodImpl; + } + }; + exports.createAggregatedClient = createAggregatedClient; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js +var require_parse_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0; + var parseBoolean = (value) => { + switch (value) { + case "true": + return true; + case "false": + return false; + default: + throw new Error(`Unable to parse boolean value "${value}"`); + } + }; + exports.parseBoolean = parseBoolean; + var expectBoolean = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "number") { + if (value === 0 || value === 1) { + exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (value === 0) { + return false; + } + if (value === 1) { + return true; + } + } + if (typeof value === "string") { + const lower = value.toLowerCase(); + if (lower === "false" || lower === "true") { + exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (lower === "false") { + return false; + } + if (lower === "true") { + return true; + } + } + if (typeof value === "boolean") { + return value; + } + throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); + }; + exports.expectBoolean = expectBoolean; + var expectNumber = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + const parsed = parseFloat(value); + if (!Number.isNaN(parsed)) { + if (String(parsed) !== String(value)) { + exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); + } + return parsed; + } + } + if (typeof value === "number") { + return value; + } + throw new TypeError(`Expected number, got ${typeof value}: ${value}`); + }; + exports.expectNumber = expectNumber; + var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); + var expectFloat32 = (value) => { + const expected = (0, exports.expectNumber)(value); + if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { + if (Math.abs(expected) > MAX_FLOAT) { + throw new TypeError(`Expected 32-bit float, got ${value}`); + } + } + return expected; + }; + exports.expectFloat32 = expectFloat32; + var expectLong = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (Number.isInteger(value) && !Number.isNaN(value)) { + return value; + } + throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); + }; + exports.expectLong = expectLong; + exports.expectInt = exports.expectLong; + var expectInt32 = (value) => expectSizedInt(value, 32); + exports.expectInt32 = expectInt32; + var expectShort = (value) => expectSizedInt(value, 16); + exports.expectShort = expectShort; + var expectByte = (value) => expectSizedInt(value, 8); + exports.expectByte = expectByte; + var expectSizedInt = (value, size) => { + const expected = (0, exports.expectLong)(value); + if (expected !== void 0 && castInt(expected, size) !== expected) { + throw new TypeError(`Expected ${size}-bit integer, got ${value}`); + } + return expected; + }; + var castInt = (value, size) => { + switch (size) { + case 32: + return Int32Array.of(value)[0]; + case 16: + return Int16Array.of(value)[0]; + case 8: + return Int8Array.of(value)[0]; + } + }; + var expectNonNull = (value, location) => { + if (value === null || value === void 0) { + if (location) { + throw new TypeError(`Expected a non-null value for ${location}`); + } + throw new TypeError("Expected a non-null value"); + } + return value; + }; + exports.expectNonNull = expectNonNull; + var expectObject = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "object" && !Array.isArray(value)) { + return value; + } + const receivedType = Array.isArray(value) ? "array" : typeof value; + throw new TypeError(`Expected object, got ${receivedType}: ${value}`); + }; + exports.expectObject = expectObject; + var expectString = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + return value; + } + if (["boolean", "number", "bigint"].includes(typeof value)) { + exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); + return String(value); + } + throw new TypeError(`Expected string, got ${typeof value}: ${value}`); + }; + exports.expectString = expectString; + var expectUnion = (value) => { + if (value === null || value === void 0) { + return void 0; + } + const asObject = (0, exports.expectObject)(value); + const setKeys = Object.entries(asObject).filter(([, v]) => v != null).map(([k]) => k); + if (setKeys.length === 0) { + throw new TypeError(`Unions must have exactly one non-null member. None were found.`); + } + if (setKeys.length > 1) { + throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); + } + return asObject; + }; + exports.expectUnion = expectUnion; + var strictParseDouble = (value) => { + if (typeof value == "string") { + return (0, exports.expectNumber)(parseNumber(value)); + } + return (0, exports.expectNumber)(value); + }; + exports.strictParseDouble = strictParseDouble; + exports.strictParseFloat = exports.strictParseDouble; + var strictParseFloat32 = (value) => { + if (typeof value == "string") { + return (0, exports.expectFloat32)(parseNumber(value)); + } + return (0, exports.expectFloat32)(value); + }; + exports.strictParseFloat32 = strictParseFloat32; + var NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; + var parseNumber = (value) => { + const matches = value.match(NUMBER_REGEX); + if (matches === null || matches[0].length !== value.length) { + throw new TypeError(`Expected real number, got implicit NaN`); + } + return parseFloat(value); + }; + var limitedParseDouble = (value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return (0, exports.expectNumber)(value); + }; + exports.limitedParseDouble = limitedParseDouble; + exports.handleFloat = exports.limitedParseDouble; + exports.limitedParseFloat = exports.limitedParseDouble; + var limitedParseFloat32 = (value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return (0, exports.expectFloat32)(value); + }; + exports.limitedParseFloat32 = limitedParseFloat32; + var parseFloatString = (value) => { + switch (value) { + case "NaN": + return NaN; + case "Infinity": + return Infinity; + case "-Infinity": + return -Infinity; + default: + throw new Error(`Unable to parse float value: ${value}`); + } + }; + var strictParseLong = (value) => { + if (typeof value === "string") { + return (0, exports.expectLong)(parseNumber(value)); + } + return (0, exports.expectLong)(value); + }; + exports.strictParseLong = strictParseLong; + exports.strictParseInt = exports.strictParseLong; + var strictParseInt32 = (value) => { + if (typeof value === "string") { + return (0, exports.expectInt32)(parseNumber(value)); + } + return (0, exports.expectInt32)(value); + }; + exports.strictParseInt32 = strictParseInt32; + var strictParseShort = (value) => { + if (typeof value === "string") { + return (0, exports.expectShort)(parseNumber(value)); + } + return (0, exports.expectShort)(value); + }; + exports.strictParseShort = strictParseShort; + var strictParseByte = (value) => { + if (typeof value === "string") { + return (0, exports.expectByte)(parseNumber(value)); + } + return (0, exports.expectByte)(value); + }; + exports.strictParseByte = strictParseByte; + var stackTraceWarning = (message) => { + return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n"); + }; + exports.logger = { + warn: console.warn + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js +var require_date_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0; + var parse_utils_1 = require_parse_utils(); + var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; + var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + function dateToUtcString(date) { + const year = date.getUTCFullYear(); + const month = date.getUTCMonth(); + const dayOfWeek = date.getUTCDay(); + const dayOfMonthInt = date.getUTCDate(); + const hoursInt = date.getUTCHours(); + const minutesInt = date.getUTCMinutes(); + const secondsInt = date.getUTCSeconds(); + const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; + const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; + const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; + const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; + return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`; + } + exports.dateToUtcString = dateToUtcString; + var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); + var parseRfc3339DateTime = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; + const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + }; + exports.parseRfc3339DateTime = parseRfc3339DateTime; + var RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/); + var parseRfc3339DateTimeWithOffset = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339_WITH_OFFSET.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; + const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + if (offsetStr.toUpperCase() != "Z") { + date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr)); + } + return date; + }; + exports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset; + var IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + var RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + var ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/); + var parseRfc7231DateTime = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-7231 date-times must be expressed as strings"); + } + let match = IMF_FIXDATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + match = RFC_850_DATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { + hours, + minutes, + seconds, + fractionalMilliseconds + })); + } + match = ASC_TIME.exec(value); + if (match) { + const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; + return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + throw new TypeError("Invalid RFC-7231 date-time value"); + }; + exports.parseRfc7231DateTime = parseRfc7231DateTime; + var parseEpochTimestamp = (value) => { + if (value === null || value === void 0) { + return void 0; + } + let valueAsDouble; + if (typeof value === "number") { + valueAsDouble = value; + } else if (typeof value === "string") { + valueAsDouble = (0, parse_utils_1.strictParseDouble)(value); + } else { + throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); + } + if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { + throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); + } + return new Date(Math.round(valueAsDouble * 1e3)); + }; + exports.parseEpochTimestamp = parseEpochTimestamp; + var buildDate = (year, month, day, time) => { + const adjustedMonth = month - 1; + validateDayOfMonth(year, adjustedMonth, day); + return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, "hour", 0, 23), parseDateValue(time.minutes, "minute", 0, 59), parseDateValue(time.seconds, "seconds", 0, 60), parseMilliseconds(time.fractionalMilliseconds))); + }; + var parseTwoDigitYear = (value) => { + const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); + const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value)); + if (valueInThisCentury < thisYear) { + return valueInThisCentury + 100; + } + return valueInThisCentury; + }; + var FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3; + var adjustRfc850Year = (input) => { + if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) { + return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds())); + } + return input; + }; + var parseMonthByShortName = (value) => { + const monthIdx = MONTHS.indexOf(value); + if (monthIdx < 0) { + throw new TypeError(`Invalid month: ${value}`); + } + return monthIdx + 1; + }; + var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var validateDayOfMonth = (year, month, day) => { + let maxDays = DAYS_IN_MONTH[month]; + if (month === 1 && isLeapYear(year)) { + maxDays = 29; + } + if (day > maxDays) { + throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`); + } + }; + var isLeapYear = (year) => { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + }; + var parseDateValue = (value, type, lower, upper) => { + const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value)); + if (dateVal < lower || dateVal > upper) { + throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); + } + return dateVal; + }; + var parseMilliseconds = (value) => { + if (value === null || value === void 0) { + return 0; + } + return (0, parse_utils_1.strictParseFloat32)("0." + value) * 1e3; + }; + var parseOffsetToMilliseconds = (value) => { + const directionStr = value[0]; + let direction = 1; + if (directionStr == "+") { + direction = 1; + } else if (directionStr == "-") { + direction = -1; + } else { + throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); + } + const hour = Number(value.substring(1, 3)); + const minute = Number(value.substring(4, 6)); + return direction * (hour * 60 + minute) * 60 * 1e3; + }; + var stripLeadingZeroes = (value) => { + let idx = 0; + while (idx < value.length - 1 && value.charAt(idx) === "0") { + idx++; + } + if (idx === 0) { + return value; + } + return value.slice(idx); + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js +var require_exceptions = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateServiceException = exports.ServiceException = void 0; + var ServiceException = class _ServiceException extends Error { + constructor(options) { + super(options.message); + Object.setPrototypeOf(this, _ServiceException.prototype); + this.name = options.name; + this.$fault = options.$fault; + this.$metadata = options.$metadata; + } + }; + exports.ServiceException = ServiceException; + var decorateServiceException = (exception, additions = {}) => { + Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => { + if (exception[k] == void 0 || exception[k] === "") { + exception[k] = v; + } + }); + const message = exception.message || exception.Message || "UnknownError"; + exception.message = message; + delete exception.Message; + return exception; + }; + exports.decorateServiceException = decorateServiceException; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js +var require_default_error_handler = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.withBaseException = exports.throwDefaultError = void 0; + var exceptions_1 = require_exceptions(); + var throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => { + const $metadata = deserializeMetadata(output); + const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0; + const response = new exceptionCtor({ + name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || "UnknownError", + $fault: "client", + $metadata + }); + throw (0, exceptions_1.decorateServiceException)(response, parsedBody); + }; + exports.throwDefaultError = throwDefaultError; + var withBaseException = (ExceptionCtor) => { + return ({ output, parsedBody, errorCode }) => { + (0, exports.throwDefaultError)({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); + }; + }; + exports.withBaseException = withBaseException; + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js +var require_defaults_mode = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadConfigsForDefaultMode = void 0; + var loadConfigsForDefaultMode = (mode) => { + switch (mode) { + case "standard": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "in-region": + return { + retryMode: "standard", + connectionTimeout: 1100 + }; + case "cross-region": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "mobile": + return { + retryMode: "standard", + connectionTimeout: 3e4 + }; + default: + return {}; + } + }; + exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js +var require_emitWarningIfUnsupportedVersion = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.emitWarningIfUnsupportedVersion = void 0; + var warningEmitted = false; + var emitWarningIfUnsupportedVersion = (version2) => { + if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 14) { + warningEmitted = true; + } + }; + exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js +var require_extended_encode_uri_component = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.extendedEncodeURIComponent = void 0; + function extendedEncodeURIComponent(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); + } + exports.extendedEncodeURIComponent = extendedEncodeURIComponent; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js +var require_get_array_if_single_item = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getArrayIfSingleItem = void 0; + var getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray]; + exports.getArrayIfSingleItem = getArrayIfSingleItem; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js +var require_get_value_from_text_node = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getValueFromTextNode = void 0; + var getValueFromTextNode = (obj) => { + const textNodeName = "#text"; + for (const key in obj) { + if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) { + obj[key] = obj[key][textNodeName]; + } else if (typeof obj[key] === "object" && obj[key] !== null) { + obj[key] = (0, exports.getValueFromTextNode)(obj[key]); + } + } + return obj; + }; + exports.getValueFromTextNode = getValueFromTextNode; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js +var require_lazy_json = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LazyJsonString = exports.StringWrapper = void 0; + var StringWrapper = function() { + const Class = Object.getPrototypeOf(this).constructor; + const Constructor = Function.bind.apply(String, [null, ...arguments]); + const instance = new Constructor(); + Object.setPrototypeOf(instance, Class.prototype); + return instance; + }; + exports.StringWrapper = StringWrapper; + exports.StringWrapper.prototype = Object.create(String.prototype, { + constructor: { + value: exports.StringWrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + Object.setPrototypeOf(exports.StringWrapper, String); + var LazyJsonString = class _LazyJsonString extends exports.StringWrapper { + deserializeJSON() { + return JSON.parse(super.toString()); + } + toJSON() { + return super.toString(); + } + static fromObject(object) { + if (object instanceof _LazyJsonString) { + return object; + } else if (object instanceof String || typeof object === "string") { + return new _LazyJsonString(object); + } + return new _LazyJsonString(JSON.stringify(object)); + } + }; + exports.LazyJsonString = LazyJsonString; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js +var require_object_mapping = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.take = exports.convertMap = exports.map = void 0; + function map(arg0, arg1, arg2) { + let target; + let filter; + let instructions; + if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { + target = {}; + instructions = arg0; + } else { + target = arg0; + if (typeof arg1 === "function") { + filter = arg1; + instructions = arg2; + return mapWithFilter(target, filter, instructions); + } else { + instructions = arg1; + } + } + for (const key of Object.keys(instructions)) { + if (!Array.isArray(instructions[key])) { + target[key] = instructions[key]; + continue; + } + applyInstruction(target, null, instructions, key); + } + return target; + } + exports.map = map; + var convertMap = (target) => { + const output = {}; + for (const [k, v] of Object.entries(target || {})) { + output[k] = [, v]; + } + return output; + }; + exports.convertMap = convertMap; + var take = (source, instructions) => { + const out = {}; + for (const key in instructions) { + applyInstruction(out, source, instructions, key); + } + return out; + }; + exports.take = take; + var mapWithFilter = (target, filter, instructions) => { + return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => { + if (Array.isArray(value)) { + _instructions[key] = value; + } else { + if (typeof value === "function") { + _instructions[key] = [filter, value()]; + } else { + _instructions[key] = [filter, value]; + } + } + return _instructions; + }, {})); + }; + var applyInstruction = (target, source, instructions, targetKey) => { + if (source !== null) { + let instruction = instructions[targetKey]; + if (typeof instruction === "function") { + instruction = [, instruction]; + } + const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; + if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) { + target[targetKey] = valueFn(source[sourceKey]); + } + return; + } + let [filter, value] = instructions[targetKey]; + if (typeof value === "function") { + let _value; + const defaultFilterPassed = filter === void 0 && (_value = value()) != null; + const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed) { + target[targetKey] = _value; + } else if (customFilterPassed) { + target[targetKey] = value(); + } + } else { + const defaultFilterPassed = filter === void 0 && value != null; + const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed || customFilterPassed) { + target[targetKey] = value; + } + } + }; + var nonNullish = (_) => _ != null; + var pass = (_) => _; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js +var require_resolve_path = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolvedPath = void 0; + var extended_encode_uri_component_1 = require_extended_encode_uri_component(); + var resolvedPath = (resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { + if (input != null && input[memberName] !== void 0) { + const labelValue = labelValueProvider(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: " + memberName + "."); + } + resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment)).join("/") : (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: " + memberName + "."); + } + return resolvedPath2; + }; + exports.resolvedPath = resolvedPath; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js +var require_ser_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.serializeFloat = void 0; + var serializeFloat = (value) => { + if (value !== value) { + return "NaN"; + } + switch (value) { + case Infinity: + return "Infinity"; + case -Infinity: + return "-Infinity"; + default: + return value; + } + }; + exports.serializeFloat = serializeFloat; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js +var require_serde_json = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._json = void 0; + var _json = (obj) => { + if (obj == null) { + return {}; + } + if (Array.isArray(obj)) { + return obj.filter((_) => _ != null); + } + if (typeof obj === "object") { + const target = {}; + for (const key of Object.keys(obj)) { + if (obj[key] == null) { + continue; + } + target[key] = (0, exports._json)(obj[key]); + } + return target; + } + return obj; + }; + exports._json = _json; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js +var require_split_every = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.splitEvery = void 0; + function splitEvery(value, delimiter, numDelimiters) { + if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { + throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); + } + const segments = value.split(delimiter); + if (numDelimiters === 1) { + return segments; + } + const compoundSegments = []; + let currentSegment = ""; + for (let i = 0; i < segments.length; i++) { + if (currentSegment === "") { + currentSegment = segments[i]; + } else { + currentSegment += delimiter + segments[i]; + } + if ((i + 1) % numDelimiters === 0) { + compoundSegments.push(currentSegment); + currentSegment = ""; + } + } + if (currentSegment !== "") { + compoundSegments.push(currentSegment); + } + return compoundSegments; + } + exports.splitEvery = splitEvery; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/index.js +var require_dist_cjs35 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_NoOpLogger(), exports); + tslib_1.__exportStar(require_client3(), exports); + tslib_1.__exportStar(require_collect_stream_body(), exports); + tslib_1.__exportStar(require_command3(), exports); + tslib_1.__exportStar(require_constants6(), exports); + tslib_1.__exportStar(require_create_aggregated_client(), exports); + tslib_1.__exportStar(require_date_utils(), exports); + tslib_1.__exportStar(require_default_error_handler(), exports); + tslib_1.__exportStar(require_defaults_mode(), exports); + tslib_1.__exportStar(require_emitWarningIfUnsupportedVersion(), exports); + tslib_1.__exportStar(require_exceptions(), exports); + tslib_1.__exportStar(require_extended_encode_uri_component(), exports); + tslib_1.__exportStar(require_get_array_if_single_item(), exports); + tslib_1.__exportStar(require_get_value_from_text_node(), exports); + tslib_1.__exportStar(require_lazy_json(), exports); + tslib_1.__exportStar(require_object_mapping(), exports); + tslib_1.__exportStar(require_parse_utils(), exports); + tslib_1.__exportStar(require_resolve_path(), exports); + tslib_1.__exportStar(require_ser_utils(), exports); + tslib_1.__exportStar(require_serde_json(), exports); + tslib_1.__exportStar(require_split_every(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "states" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/package.json +var require_package = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sfn", + description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", + version: "3.387.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sfn" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.387.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sfn" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js +var require_dist_cjs36 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveStsAuthConfig = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({ + ...input, + stsClientCtor + }); + exports.resolveStsAuthConfig = resolveStsAuthConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + useGlobalEndpoint: options.useGlobalEndpoint ?? false, + defaultSigningName: "sts" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/package.json +var require_package2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sts", + description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", + version: "3.387.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sts", + test: "yarn test:unit", + "test:unit": "jest" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "fast-xml-parser": "4.2.5", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sts" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js +var require_STSServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var STSServiceException = class _STSServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _STSServiceException.prototype); + } + }; + exports.STSServiceException = STSServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js +var require_models_0 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetSessionTokenResponseFilterSensitiveLog = exports.GetFederationTokenResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports.AssumeRoleResponseFilterSensitiveLog = exports.CredentialsFilterSensitiveLog = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = void 0; + var smithy_client_1 = require_dist_cjs35(); + var STSServiceException_1 = require_STSServiceException(); + var ExpiredTokenException = class _ExpiredTokenException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + this.name = "ExpiredTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + } + }; + exports.ExpiredTokenException = ExpiredTokenException; + var MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "MalformedPolicyDocumentException", + $fault: "client", + ...opts + }); + this.name = "MalformedPolicyDocumentException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype); + } + }; + exports.MalformedPolicyDocumentException = MalformedPolicyDocumentException; + var PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "PackedPolicyTooLargeException", + $fault: "client", + ...opts + }); + this.name = "PackedPolicyTooLargeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype); + } + }; + exports.PackedPolicyTooLargeException = PackedPolicyTooLargeException; + var RegionDisabledException = class _RegionDisabledException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "RegionDisabledException", + $fault: "client", + ...opts + }); + this.name = "RegionDisabledException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _RegionDisabledException.prototype); + } + }; + exports.RegionDisabledException = RegionDisabledException; + var IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "IDPRejectedClaimException", + $fault: "client", + ...opts + }); + this.name = "IDPRejectedClaimException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype); + } + }; + exports.IDPRejectedClaimException = IDPRejectedClaimException; + var InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "InvalidIdentityTokenException", + $fault: "client", + ...opts + }); + this.name = "InvalidIdentityTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype); + } + }; + exports.InvalidIdentityTokenException = InvalidIdentityTokenException; + var IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "IDPCommunicationErrorException", + $fault: "client", + ...opts + }); + this.name = "IDPCommunicationErrorException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype); + } + }; + exports.IDPCommunicationErrorException = IDPCommunicationErrorException; + var InvalidAuthorizationMessageException = class _InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "InvalidAuthorizationMessageException", + $fault: "client", + ...opts + }); + this.name = "InvalidAuthorizationMessageException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidAuthorizationMessageException.prototype); + } + }; + exports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException; + var CredentialsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.SecretAccessKey && { SecretAccessKey: smithy_client_1.SENSITIVE_STRING } + }); + exports.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog; + var AssumeRoleResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog; + var AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.SAMLAssertion && { SAMLAssertion: smithy_client_1.SENSITIVE_STRING } + }); + exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog; + var AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog; + var AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.WebIdentityToken && { WebIdentityToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog; + var AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog; + var GetFederationTokenResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog; + var GetSessionTokenResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog; + } +}); + +// ../../../node_modules/fast-xml-parser/src/util.js +var require_util4 = __commonJS({ + "../../../node_modules/fast-xml-parser/src/util.js"(exports) { + "use strict"; + var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; + var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; + var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; + var regexName = new RegExp("^" + nameRegexp + "$"); + var getAllMatches = function(string, regex) { + const matches = []; + let match = regex.exec(string); + while (match) { + const allmatches = []; + allmatches.startIndex = regex.lastIndex - match[0].length; + const len = match.length; + for (let index = 0; index < len; index++) { + allmatches.push(match[index]); + } + matches.push(allmatches); + match = regex.exec(string); + } + return matches; + }; + var isName = function(string) { + const match = regexName.exec(string); + return !(match === null || typeof match === "undefined"); + }; + exports.isExist = function(v) { + return typeof v !== "undefined"; + }; + exports.isEmptyObject = function(obj) { + return Object.keys(obj).length === 0; + }; + exports.merge = function(target, a, arrayMode) { + if (a) { + const keys = Object.keys(a); + const len = keys.length; + for (let i = 0; i < len; i++) { + if (arrayMode === "strict") { + target[keys[i]] = [a[keys[i]]]; + } else { + target[keys[i]] = a[keys[i]]; + } + } + } + }; + exports.getValue = function(v) { + if (exports.isExist(v)) { + return v; + } else { + return ""; + } + }; + exports.isName = isName; + exports.getAllMatches = getAllMatches; + exports.nameRegexp = nameRegexp; + } +}); + +// ../../../node_modules/fast-xml-parser/src/validator.js +var require_validator = __commonJS({ + "../../../node_modules/fast-xml-parser/src/validator.js"(exports) { + "use strict"; + var util = require_util4(); + var defaultOptions = { + allowBooleanAttributes: false, + //A tag can have attributes without any value + unpairedTags: [] + }; + exports.validate = function(xmlData, options) { + options = Object.assign({}, defaultOptions, options); + const tags = []; + let tagFound = false; + let reachedRoot = false; + if (xmlData[0] === "\uFEFF") { + xmlData = xmlData.substr(1); + } + for (let i = 0; i < xmlData.length; i++) { + if (xmlData[i] === "<" && xmlData[i + 1] === "?") { + i += 2; + i = readPI(xmlData, i); + if (i.err) + return i; + } else if (xmlData[i] === "<") { + let tagStartPos = i; + i++; + if (xmlData[i] === "!") { + i = readCommentAndCDATA(xmlData, i); + continue; + } else { + let closingTag = false; + if (xmlData[i] === "/") { + closingTag = true; + i++; + } + let tagName = ""; + for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) { + tagName += xmlData[i]; + } + tagName = tagName.trim(); + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substring(0, tagName.length - 1); + i--; + } + if (!validateTagName(tagName)) { + let msg; + if (tagName.trim().length === 0) { + msg = "Invalid space after '<'."; + } else { + msg = "Tag '" + tagName + "' is an invalid name."; + } + return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i)); + } + const result = readAttributeStr(xmlData, i); + if (result === false) { + return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i)); + } + let attrStr = result.value; + i = result.index; + if (attrStr[attrStr.length - 1] === "/") { + const attrStrStart = i - attrStr.length; + attrStr = attrStr.substring(0, attrStr.length - 1); + const isValid = validateAttributeString(attrStr, options); + if (isValid === true) { + tagFound = true; + } else { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); + } + } else if (closingTag) { + if (!result.tagClosed) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); + } else if (attrStr.trim().length > 0) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); + } else { + const otg = tags.pop(); + if (tagName !== otg.tagName) { + let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); + return getErrorObject( + "InvalidTag", + "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", + getLineNumberForPosition(xmlData, tagStartPos) + ); + } + if (tags.length == 0) { + reachedRoot = true; + } + } + } else { + const isValid = validateAttributeString(attrStr, options); + if (isValid !== true) { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); + } + if (reachedRoot === true) { + return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i)); + } else if (options.unpairedTags.indexOf(tagName) !== -1) { + } else { + tags.push({ tagName, tagStartPos }); + } + tagFound = true; + } + for (i++; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "!") { + i++; + i = readCommentAndCDATA(xmlData, i); + continue; + } else if (xmlData[i + 1] === "?") { + i = readPI(xmlData, ++i); + if (i.err) + return i; + } else { + break; + } + } else if (xmlData[i] === "&") { + const afterAmp = validateAmpersand(xmlData, i); + if (afterAmp == -1) + return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); + i = afterAmp; + } else { + if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { + return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i)); + } + } + } + if (xmlData[i] === "<") { + i--; + } + } + } else { + if (isWhiteSpace(xmlData[i])) { + continue; + } + return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i)); + } + } + if (!tagFound) { + return getErrorObject("InvalidXml", "Start tag expected.", 1); + } else if (tags.length == 1) { + return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); + } else if (tags.length > 0) { + return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }); + } + return true; + }; + function isWhiteSpace(char) { + return char === " " || char === " " || char === "\n" || char === "\r"; + } + function readPI(xmlData, i) { + const start = i; + for (; i < xmlData.length; i++) { + if (xmlData[i] == "?" || xmlData[i] == " ") { + const tagname = xmlData.substr(start, i - start); + if (i > 5 && tagname === "xml") { + return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i)); + } else if (xmlData[i] == "?" && xmlData[i + 1] == ">") { + i++; + break; + } else { + continue; + } + } + } + return i; + } + function readCommentAndCDATA(xmlData, i) { + if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") { + for (i += 3; i < xmlData.length; i++) { + if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") { + i += 2; + break; + } + } + } else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") { + let angleBracketsCount = 1; + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + angleBracketsCount++; + } else if (xmlData[i] === ">") { + angleBracketsCount--; + if (angleBracketsCount === 0) { + break; + } + } + } + } else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") { + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") { + i += 2; + break; + } + } + } + return i; + } + var doubleQuote = '"'; + var singleQuote = "'"; + function readAttributeStr(xmlData, i) { + let attrStr = ""; + let startChar = ""; + let tagClosed = false; + for (; i < xmlData.length; i++) { + if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { + if (startChar === "") { + startChar = xmlData[i]; + } else if (startChar !== xmlData[i]) { + } else { + startChar = ""; + } + } else if (xmlData[i] === ">") { + if (startChar === "") { + tagClosed = true; + break; + } + } + attrStr += xmlData[i]; + } + if (startChar !== "") { + return false; + } + return { + value: attrStr, + index: i, + tagClosed + }; + } + var validAttrStrRegxp = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); + function validateAttributeString(attrStr, options) { + const matches = util.getAllMatches(attrStr, validAttrStrRegxp); + const attrNames = {}; + for (let i = 0; i < matches.length; i++) { + if (matches[i][1].length === 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) { + return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i])); + } + const attrName = matches[i][2]; + if (!validateAttrName(attrName)) { + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i])); + } + if (!attrNames.hasOwnProperty(attrName)) { + attrNames[attrName] = 1; + } else { + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i])); + } + } + return true; + } + function validateNumberAmpersand(xmlData, i) { + let re = /\d/; + if (xmlData[i] === "x") { + i++; + re = /[\da-fA-F]/; + } + for (; i < xmlData.length; i++) { + if (xmlData[i] === ";") + return i; + if (!xmlData[i].match(re)) + break; + } + return -1; + } + function validateAmpersand(xmlData, i) { + i++; + if (xmlData[i] === ";") + return -1; + if (xmlData[i] === "#") { + i++; + return validateNumberAmpersand(xmlData, i); + } + let count = 0; + for (; i < xmlData.length; i++, count++) { + if (xmlData[i].match(/\w/) && count < 20) + continue; + if (xmlData[i] === ";") + break; + return -1; + } + return i; + } + function getErrorObject(code, message, lineNumber) { + return { + err: { + code, + msg: message, + line: lineNumber.line || lineNumber, + col: lineNumber.col + } + }; + } + function validateAttrName(attrName) { + return util.isName(attrName); + } + function validateTagName(tagname) { + return util.isName(tagname); + } + function getLineNumberForPosition(xmlData, index) { + const lines = xmlData.substring(0, index).split(/\r?\n/); + return { + line: lines.length, + // column number is last line's length + 1, because column numbering starts at 1: + col: lines[lines.length - 1].length + 1 + }; + } + function getPositionFromMatch(match) { + return match.startIndex + match[1].length; + } + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +var require_OptionsBuilder = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(exports) { + var defaultOptions = { + preserveOrder: false, + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + removeNSPrefix: false, + // remove NS from tag name or attribute name if true + allowBooleanAttributes: false, + //a tag can have attributes without any value + //ignoreRootElement : false, + parseTagValue: true, + parseAttributeValue: false, + trimValues: true, + //Trim string values of tag and attributes + cdataPropName: false, + numberParseOptions: { + hex: true, + leadingZeros: true, + eNotation: true + }, + tagValueProcessor: function(tagName, val2) { + return val2; + }, + attributeValueProcessor: function(attrName, val2) { + return val2; + }, + stopNodes: [], + //nested tags will not be parsed even for errors + alwaysCreateTextNode: false, + isArray: () => false, + commentPropName: false, + unpairedTags: [], + processEntities: true, + htmlEntities: false, + ignoreDeclaration: false, + ignorePiTags: false, + transformTagName: false, + transformAttributeName: false, + updateTag: function(tagName, jPath, attrs) { + return tagName; + } + // skipEmptyListItem: false + }; + var buildOptions = function(options) { + return Object.assign({}, defaultOptions, options); + }; + exports.buildOptions = buildOptions; + exports.defaultOptions = defaultOptions; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +var require_xmlNode = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(exports, module2) { + "use strict"; + var XmlNode = class { + constructor(tagname) { + this.tagname = tagname; + this.child = []; + this[":@"] = {}; + } + add(key, val2) { + if (key === "__proto__") + key = "#__proto__"; + this.child.push({ [key]: val2 }); + } + addChild(node) { + if (node.tagname === "__proto__") + node.tagname = "#__proto__"; + if (node[":@"] && Object.keys(node[":@"]).length > 0) { + this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] }); + } else { + this.child.push({ [node.tagname]: node.child }); + } + } + }; + module2.exports = XmlNode; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +var require_DocTypeReader = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(exports, module2) { + var util = require_util4(); + function readDocType(xmlData, i) { + const entities = {}; + if (xmlData[i + 3] === "O" && xmlData[i + 4] === "C" && xmlData[i + 5] === "T" && xmlData[i + 6] === "Y" && xmlData[i + 7] === "P" && xmlData[i + 8] === "E") { + i = i + 9; + let angleBracketsCount = 1; + let hasBody = false, comment = false; + let exp = ""; + for (; i < xmlData.length; i++) { + if (xmlData[i] === "<" && !comment) { + if (hasBody && isEntity(xmlData, i)) { + i += 7; + [entityName, val, i] = readEntityExp(xmlData, i + 1); + if (val.indexOf("&") === -1) + entities[validateEntityName(entityName)] = { + regx: RegExp(`&${entityName};`, "g"), + val + }; + } else if (hasBody && isElement(xmlData, i)) + i += 8; + else if (hasBody && isAttlist(xmlData, i)) + i += 8; + else if (hasBody && isNotation(xmlData, i)) + i += 9; + else if (isComment) + comment = true; + else + throw new Error("Invalid DOCTYPE"); + angleBracketsCount++; + exp = ""; + } else if (xmlData[i] === ">") { + if (comment) { + if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") { + comment = false; + angleBracketsCount--; + } + } else { + angleBracketsCount--; + } + if (angleBracketsCount === 0) { + break; + } + } else if (xmlData[i] === "[") { + hasBody = true; + } else { + exp += xmlData[i]; + } + } + if (angleBracketsCount !== 0) { + throw new Error(`Unclosed DOCTYPE`); + } + } else { + throw new Error(`Invalid Tag instead of DOCTYPE`); + } + return { entities, i }; + } + function readEntityExp(xmlData, i) { + let entityName2 = ""; + for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"'); i++) { + entityName2 += xmlData[i]; + } + entityName2 = entityName2.trim(); + if (entityName2.indexOf(" ") !== -1) + throw new Error("External entites are not supported"); + const startChar = xmlData[i++]; + let val2 = ""; + for (; i < xmlData.length && xmlData[i] !== startChar; i++) { + val2 += xmlData[i]; + } + return [entityName2, val2, i]; + } + function isComment(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "-" && xmlData[i + 3] === "-") + return true; + return false; + } + function isEntity(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "N" && xmlData[i + 4] === "T" && xmlData[i + 5] === "I" && xmlData[i + 6] === "T" && xmlData[i + 7] === "Y") + return true; + return false; + } + function isElement(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "L" && xmlData[i + 4] === "E" && xmlData[i + 5] === "M" && xmlData[i + 6] === "E" && xmlData[i + 7] === "N" && xmlData[i + 8] === "T") + return true; + return false; + } + function isAttlist(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "A" && xmlData[i + 3] === "T" && xmlData[i + 4] === "T" && xmlData[i + 5] === "L" && xmlData[i + 6] === "I" && xmlData[i + 7] === "S" && xmlData[i + 8] === "T") + return true; + return false; + } + function isNotation(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "N" && xmlData[i + 3] === "O" && xmlData[i + 4] === "T" && xmlData[i + 5] === "A" && xmlData[i + 6] === "T" && xmlData[i + 7] === "I" && xmlData[i + 8] === "O" && xmlData[i + 9] === "N") + return true; + return false; + } + function validateEntityName(name) { + if (util.isName(name)) + return name; + else + throw new Error(`Invalid entity name ${name}`); + } + module2.exports = readDocType; + } +}); + +// ../../../node_modules/strnum/strnum.js +var require_strnum = __commonJS({ + "../../../node_modules/strnum/strnum.js"(exports, module2) { + var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; + var numRegex = /^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/; + if (!Number.parseInt && window.parseInt) { + Number.parseInt = window.parseInt; + } + if (!Number.parseFloat && window.parseFloat) { + Number.parseFloat = window.parseFloat; + } + var consider = { + hex: true, + leadingZeros: true, + decimalPoint: ".", + eNotation: true + //skipLike: /regex/ + }; + function toNumber(str, options = {}) { + options = Object.assign({}, consider, options); + if (!str || typeof str !== "string") + return str; + let trimmedStr = str.trim(); + if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) + return str; + else if (options.hex && hexRegex.test(trimmedStr)) { + return Number.parseInt(trimmedStr, 16); + } else { + const match = numRegex.exec(trimmedStr); + if (match) { + const sign = match[1]; + const leadingZeros = match[2]; + let numTrimmedByZeros = trimZeros(match[3]); + const eNotation = match[4] || match[6]; + if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== ".") + return str; + else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") + return str; + else { + const num = Number(trimmedStr); + const numStr = "" + num; + if (numStr.search(/[eE]/) !== -1) { + if (options.eNotation) + return num; + else + return str; + } else if (eNotation) { + if (options.eNotation) + return num; + else + return str; + } else if (trimmedStr.indexOf(".") !== -1) { + if (numStr === "0" && numTrimmedByZeros === "") + return num; + else if (numStr === numTrimmedByZeros) + return num; + else if (sign && numStr === "-" + numTrimmedByZeros) + return num; + else + return str; + } + if (leadingZeros) { + if (numTrimmedByZeros === numStr) + return num; + else if (sign + numTrimmedByZeros === numStr) + return num; + else + return str; + } + if (trimmedStr === numStr) + return num; + else if (trimmedStr === sign + numStr) + return num; + return str; + } + } else { + return str; + } + } + } + function trimZeros(numStr) { + if (numStr && numStr.indexOf(".") !== -1) { + numStr = numStr.replace(/0+$/, ""); + if (numStr === ".") + numStr = "0"; + else if (numStr[0] === ".") + numStr = "0" + numStr; + else if (numStr[numStr.length - 1] === ".") + numStr = numStr.substr(0, numStr.length - 1); + return numStr; + } + return numStr; + } + module2.exports = toNumber; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +var require_OrderedObjParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(exports, module2) { + "use strict"; + var util = require_util4(); + var xmlNode = require_xmlNode(); + var readDocType = require_DocTypeReader(); + var toNumber = require_strnum(); + var regx = "<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util.nameRegexp); + var OrderedObjParser = class { + constructor(options) { + this.options = options; + this.currentNode = null; + this.tagsNodeStack = []; + this.docTypeEntities = {}; + this.lastEntities = { + "apos": { regex: /&(apos|#39|#x27);/g, val: "'" }, + "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" }, + "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" }, + "quot": { regex: /&(quot|#34|#x22);/g, val: '"' } + }; + this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }; + this.htmlEntities = { + "space": { regex: /&(nbsp|#160);/g, val: " " }, + // "lt" : { regex: /&(lt|#60);/g, val: "<" }, + // "gt" : { regex: /&(gt|#62);/g, val: ">" }, + // "amp" : { regex: /&(amp|#38);/g, val: "&" }, + // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, + // "apos" : { regex: /&(apos|#39);/g, val: "'" }, + "cent": { regex: /&(cent|#162);/g, val: "\xA2" }, + "pound": { regex: /&(pound|#163);/g, val: "\xA3" }, + "yen": { regex: /&(yen|#165);/g, val: "\xA5" }, + "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" }, + "copyright": { regex: /&(copy|#169);/g, val: "\xA9" }, + "reg": { regex: /&(reg|#174);/g, val: "\xAE" }, + "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" } + }; + this.addExternalEntities = addExternalEntities; + this.parseXml = parseXml; + this.parseTextData = parseTextData; + this.resolveNameSpace = resolveNameSpace; + this.buildAttributesMap = buildAttributesMap; + this.isItStopNode = isItStopNode; + this.replaceEntitiesValue = replaceEntitiesValue; + this.readStopNodeData = readStopNodeData; + this.saveTextToParentTag = saveTextToParentTag; + this.addChild = addChild; + } + }; + function addExternalEntities(externalEntities) { + const entKeys = Object.keys(externalEntities); + for (let i = 0; i < entKeys.length; i++) { + const ent = entKeys[i]; + this.lastEntities[ent] = { + regex: new RegExp("&" + ent + ";", "g"), + val: externalEntities[ent] + }; + } + } + function parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { + if (val2 !== void 0) { + if (this.options.trimValues && !dontTrim) { + val2 = val2.trim(); + } + if (val2.length > 0) { + if (!escapeEntities) + val2 = this.replaceEntitiesValue(val2); + const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode); + if (newval === null || newval === void 0) { + return val2; + } else if (typeof newval !== typeof val2 || newval !== val2) { + return newval; + } else if (this.options.trimValues) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + const trimmedVal = val2.trim(); + if (trimmedVal === val2) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + return val2; + } + } + } + } + } + function resolveNameSpace(tagname) { + if (this.options.removeNSPrefix) { + const tags = tagname.split(":"); + const prefix = tagname.charAt(0) === "/" ? "/" : ""; + if (tags[0] === "xmlns") { + return ""; + } + if (tags.length === 2) { + tagname = prefix + tags[1]; + } + } + return tagname; + } + var attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); + function buildAttributesMap(attrStr, jPath, tagName) { + if (!this.options.ignoreAttributes && typeof attrStr === "string") { + const matches = util.getAllMatches(attrStr, attrsRegx); + const len = matches.length; + const attrs = {}; + for (let i = 0; i < len; i++) { + const attrName = this.resolveNameSpace(matches[i][1]); + let oldVal = matches[i][4]; + let aName = this.options.attributeNamePrefix + attrName; + if (attrName.length) { + if (this.options.transformAttributeName) { + aName = this.options.transformAttributeName(aName); + } + if (aName === "__proto__") + aName = "#__proto__"; + if (oldVal !== void 0) { + if (this.options.trimValues) { + oldVal = oldVal.trim(); + } + oldVal = this.replaceEntitiesValue(oldVal); + const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); + if (newVal === null || newVal === void 0) { + attrs[aName] = oldVal; + } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) { + attrs[aName] = newVal; + } else { + attrs[aName] = parseValue( + oldVal, + this.options.parseAttributeValue, + this.options.numberParseOptions + ); + } + } else if (this.options.allowBooleanAttributes) { + attrs[aName] = true; + } + } + } + if (!Object.keys(attrs).length) { + return; + } + if (this.options.attributesGroupName) { + const attrCollection = {}; + attrCollection[this.options.attributesGroupName] = attrs; + return attrCollection; + } + return attrs; + } + } + var parseXml = function(xmlData) { + xmlData = xmlData.replace(/\r\n?/g, "\n"); + const xmlObj = new xmlNode("!xml"); + let currentNode = xmlObj; + let textData = ""; + let jPath = ""; + for (let i = 0; i < xmlData.length; i++) { + const ch = xmlData[i]; + if (ch === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed."); + let tagName = xmlData.substring(i + 2, closeIndex).trim(); + if (this.options.removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + } + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode) { + textData = this.saveTextToParentTag(textData, currentNode, jPath); + } + const lastTagName = jPath.substring(jPath.lastIndexOf(".") + 1); + if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) { + throw new Error(`Unpaired tag can not be used as closing tag: `); + } + let propIndex = 0; + if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) { + propIndex = jPath.lastIndexOf(".", jPath.lastIndexOf(".") - 1); + this.tagsNodeStack.pop(); + } else { + propIndex = jPath.lastIndexOf("."); + } + jPath = jPath.substring(0, propIndex); + currentNode = this.tagsNodeStack.pop(); + textData = ""; + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + let tagData = readTagExp(xmlData, i, false, "?>"); + if (!tagData) + throw new Error("Pi Tag is not closed."); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) { + } else { + const childNode = new xmlNode(tagData.tagName); + childNode.add(this.options.textNodeName, ""); + if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName); + } + this.addChild(currentNode, childNode, jPath); + } + i = tagData.closeIndex + 1; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed."); + if (this.options.commentPropName) { + const comment = xmlData.substring(i + 4, endIndex - 2); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]); + } + i = endIndex; + } else if (xmlData.substr(i + 1, 2) === "!D") { + const result = readDocType(xmlData, i); + this.docTypeEntities = result.entities; + i = result.i; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; + const tagExp = xmlData.substring(i + 9, closeIndex); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if (this.options.cdataPropName) { + currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]); + } else { + let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true); + if (val2 == void 0) + val2 = ""; + currentNode.add(this.options.textNodeName, val2); + } + i = closeIndex + 2; + } else { + let result = readTagExp(xmlData, i, this.options.removeNSPrefix); + let tagName = result.tagName; + let tagExp = result.tagExp; + let attrExpPresent = result.attrExpPresent; + let closeIndex = result.closeIndex; + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode && textData) { + if (currentNode.tagname !== "!xml") { + textData = this.saveTextToParentTag(textData, currentNode, jPath, false); + } + } + const lastTag = currentNode; + if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) { + currentNode = this.tagsNodeStack.pop(); + jPath = jPath.substring(0, jPath.lastIndexOf(".")); + } + if (tagName !== xmlObj.tagname) { + jPath += jPath ? "." + tagName : tagName; + } + if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { + let tagContent = ""; + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + i = result.closeIndex; + } else if (this.options.unpairedTags.indexOf(tagName) !== -1) { + i = result.closeIndex; + } else { + const result2 = this.readStopNodeData(xmlData, tagName, closeIndex + 1); + if (!result2) + throw new Error(`Unexpected end of ${tagName}`); + i = result2.i; + tagContent = result2.tagContent; + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + if (tagContent) { + tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); + } + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + childNode.add(this.options.textNodeName, tagContent); + this.addChild(currentNode, childNode, jPath); + } else { + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substr(0, tagName.length - 1); + tagExp = tagName; + } else { + tagExp = tagExp.substr(0, tagExp.length - 1); + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + } else { + const childNode = new xmlNode(tagName); + this.tagsNodeStack.push(currentNode); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + currentNode = childNode; + } + textData = ""; + i = closeIndex; + } + } + } else { + textData += xmlData[i]; + } + } + return xmlObj.child; + }; + function addChild(currentNode, childNode, jPath) { + const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]); + if (result === false) { + } else if (typeof result === "string") { + childNode.tagname = result; + currentNode.addChild(childNode); + } else { + currentNode.addChild(childNode); + } + } + var replaceEntitiesValue = function(val2) { + if (this.options.processEntities) { + for (let entityName2 in this.docTypeEntities) { + const entity = this.docTypeEntities[entityName2]; + val2 = val2.replace(entity.regx, entity.val); + } + for (let entityName2 in this.lastEntities) { + const entity = this.lastEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); + } + if (this.options.htmlEntities) { + for (let entityName2 in this.htmlEntities) { + const entity = this.htmlEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); + } + } + val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val); + } + return val2; + }; + function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { + if (textData) { + if (isLeafNode === void 0) + isLeafNode = Object.keys(currentNode.child).length === 0; + textData = this.parseTextData( + textData, + currentNode.tagname, + jPath, + false, + currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, + isLeafNode + ); + if (textData !== void 0 && textData !== "") + currentNode.add(this.options.textNodeName, textData); + textData = ""; + } + return textData; + } + function isItStopNode(stopNodes, jPath, currentTagName) { + const allNodesExp = "*." + currentTagName; + for (const stopNodePath in stopNodes) { + const stopNodeExp = stopNodes[stopNodePath]; + if (allNodesExp === stopNodeExp || jPath === stopNodeExp) + return true; + } + return false; + } + function tagExpWithClosingIndex(xmlData, i, closingChar = ">") { + let attrBoundary; + let tagExp = ""; + for (let index = i; index < xmlData.length; index++) { + let ch = xmlData[index]; + if (attrBoundary) { + if (ch === attrBoundary) + attrBoundary = ""; + } else if (ch === '"' || ch === "'") { + attrBoundary = ch; + } else if (ch === closingChar[0]) { + if (closingChar[1]) { + if (xmlData[index + 1] === closingChar[1]) { + return { + data: tagExp, + index + }; + } + } else { + return { + data: tagExp, + index + }; + } + } else if (ch === " ") { + ch = " "; + } + tagExp += ch; + } + } + function findClosingIndex(xmlData, str, i, errMsg) { + const closingIndex = xmlData.indexOf(str, i); + if (closingIndex === -1) { + throw new Error(errMsg); + } else { + return closingIndex + str.length - 1; + } + } + function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") { + const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar); + if (!result) + return; + let tagExp = result.data; + const closeIndex = result.index; + const separatorIndex = tagExp.search(/\s/); + let tagName = tagExp; + let attrExpPresent = true; + if (separatorIndex !== -1) { + tagName = tagExp.substr(0, separatorIndex).replace(/\s\s*$/, ""); + tagExp = tagExp.substr(separatorIndex + 1); + } + if (removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + attrExpPresent = tagName !== result.data.substr(colonIndex + 1); + } + } + return { + tagName, + tagExp, + closeIndex, + attrExpPresent + }; + } + function readStopNodeData(xmlData, tagName, i) { + const startIndex = i; + let openTagCount = 1; + for (; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); + let closeTagName = xmlData.substring(i + 2, closeIndex).trim(); + if (closeTagName === tagName) { + openTagCount--; + if (openTagCount === 0) { + return { + tagContent: xmlData.substring(startIndex, i), + i: closeIndex + }; + } + } + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; + i = closeIndex; + } else { + const tagData = readTagExp(xmlData, i, ">"); + if (tagData) { + const openTagName = tagData && tagData.tagName; + if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") { + openTagCount++; + } + i = tagData.closeIndex; + } + } + } + } + } + function parseValue(val2, shouldParse, options) { + if (shouldParse && typeof val2 === "string") { + const newval = val2.trim(); + if (newval === "true") + return true; + else if (newval === "false") + return false; + else + return toNumber(val2, options); + } else { + if (util.isExist(val2)) { + return val2; + } else { + return ""; + } + } + } + module2.exports = OrderedObjParser; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js +var require_node2json = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js"(exports) { + "use strict"; + function prettify(node, options) { + return compress(node, options); + } + function compress(arr, options, jPath) { + let text; + const compressedObj = {}; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const property = propName(tagObj); + let newJpath = ""; + if (jPath === void 0) + newJpath = property; + else + newJpath = jPath + "." + property; + if (property === options.textNodeName) { + if (text === void 0) + text = tagObj[property]; + else + text += "" + tagObj[property]; + } else if (property === void 0) { + continue; + } else if (tagObj[property]) { + let val2 = compress(tagObj[property], options, newJpath); + const isLeaf = isLeafTag(val2, options); + if (tagObj[":@"]) { + assignAttributes(val2, tagObj[":@"], newJpath, options); + } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) { + val2 = val2[options.textNodeName]; + } else if (Object.keys(val2).length === 0) { + if (options.alwaysCreateTextNode) + val2[options.textNodeName] = ""; + else + val2 = ""; + } + if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) { + if (!Array.isArray(compressedObj[property])) { + compressedObj[property] = [compressedObj[property]]; + } + compressedObj[property].push(val2); + } else { + if (options.isArray(property, newJpath, isLeaf)) { + compressedObj[property] = [val2]; + } else { + compressedObj[property] = val2; + } + } + } + } + if (typeof text === "string") { + if (text.length > 0) + compressedObj[options.textNodeName] = text; + } else if (text !== void 0) + compressedObj[options.textNodeName] = text; + return compressedObj; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== ":@") + return key; + } + } + function assignAttributes(obj, attrMap, jpath, options) { + if (attrMap) { + const keys = Object.keys(attrMap); + const len = keys.length; + for (let i = 0; i < len; i++) { + const atrrName = keys[i]; + if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { + obj[atrrName] = [attrMap[atrrName]]; + } else { + obj[atrrName] = attrMap[atrrName]; + } + } + } + } + function isLeafTag(obj, options) { + const { textNodeName } = options; + const propCount = Object.keys(obj).length; + if (propCount === 0) { + return true; + } + if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) { + return true; + } + return false; + } + exports.prettify = prettify; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +var require_XMLParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(exports, module2) { + var { buildOptions } = require_OptionsBuilder(); + var OrderedObjParser = require_OrderedObjParser(); + var { prettify } = require_node2json(); + var validator = require_validator(); + var XMLParser = class { + constructor(options) { + this.externalEntities = {}; + this.options = buildOptions(options); + } + /** + * Parse XML dats to JS object + * @param {string|Buffer} xmlData + * @param {boolean|Object} validationOption + */ + parse(xmlData, validationOption) { + if (typeof xmlData === "string") { + } else if (xmlData.toString) { + xmlData = xmlData.toString(); + } else { + throw new Error("XML data is accepted in String or Bytes[] form."); + } + if (validationOption) { + if (validationOption === true) + validationOption = {}; + const result = validator.validate(xmlData, validationOption); + if (result !== true) { + throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`); + } + } + const orderedObjParser = new OrderedObjParser(this.options); + orderedObjParser.addExternalEntities(this.externalEntities); + const orderedResult = orderedObjParser.parseXml(xmlData); + if (this.options.preserveOrder || orderedResult === void 0) + return orderedResult; + else + return prettify(orderedResult, this.options); + } + /** + * Add Entity which is not by default supported by this library + * @param {string} key + * @param {string} value + */ + addEntity(key, value) { + if (value.indexOf("&") !== -1) { + throw new Error("Entity value can't have '&'"); + } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) { + throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); + } else if (value === "&") { + throw new Error("An entity with value '&' is not permitted"); + } else { + this.externalEntities[key] = value; + } + } + }; + module2.exports = XMLParser; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +var require_orderedJs2Xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports, module2) { + var EOL = "\n"; + function toXml(jArray, options) { + let indentation = ""; + if (options.format && options.indentBy.length > 0) { + indentation = EOL; + } + return arrToStr(jArray, options, "", indentation); + } + function arrToStr(arr, options, jPath, indentation) { + let xmlStr = ""; + let isPreviousElementTag = false; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const tagName = propName(tagObj); + let newJPath = ""; + if (jPath.length === 0) + newJPath = tagName; + else + newJPath = `${jPath}.${tagName}`; + if (tagName === options.textNodeName) { + let tagText = tagObj[tagName]; + if (!isStopNode(newJPath, options)) { + tagText = options.tagValueProcessor(tagName, tagText); + tagText = replaceEntitiesValue(tagText, options); + } + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += tagText; + isPreviousElementTag = false; + continue; + } else if (tagName === options.cdataPropName) { + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += ``; + isPreviousElementTag = false; + continue; + } else if (tagName === options.commentPropName) { + xmlStr += indentation + ``; + isPreviousElementTag = true; + continue; + } else if (tagName[0] === "?") { + const attStr2 = attr_to_str(tagObj[":@"], options); + const tempInd = tagName === "?xml" ? "" : indentation; + let piTextNodeName = tagObj[tagName][0][options.textNodeName]; + piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; + xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`; + isPreviousElementTag = true; + continue; + } + let newIdentation = indentation; + if (newIdentation !== "") { + newIdentation += options.indentBy; + } + const attStr = attr_to_str(tagObj[":@"], options); + const tagStart = indentation + `<${tagName}${attStr}`; + const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); + if (options.unpairedTags.indexOf(tagName) !== -1) { + if (options.suppressUnpairedNode) + xmlStr += tagStart + ">"; + else + xmlStr += tagStart + "/>"; + } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { + xmlStr += tagStart + "/>"; + } else if (tagValue && tagValue.endsWith(">")) { + xmlStr += tagStart + `>${tagValue}${indentation}`; + } else { + xmlStr += tagStart + ">"; + if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("`; + } + isPreviousElementTag = true; + } + return xmlStr; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== ":@") + return key; + } + } + function attr_to_str(attrMap, options) { + let attrStr = ""; + if (attrMap && !options.ignoreAttributes) { + for (let attr in attrMap) { + let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); + attrVal = replaceEntitiesValue(attrVal, options); + if (attrVal === true && options.suppressBooleanAttributes) { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; + } else { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; + } + } + } + return attrStr; + } + function isStopNode(jPath, options) { + jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); + let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); + for (let index in options.stopNodes) { + if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) + return true; + } + return false; + } + function replaceEntitiesValue(textValue, options) { + if (textValue && textValue.length > 0 && options.processEntities) { + for (let i = 0; i < options.entities.length; i++) { + const entity = options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; + } + module2.exports = toXml; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +var require_json2xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(exports, module2) { + "use strict"; + var buildFromOrderedJs = require_orderedJs2Xml(); + var defaultOptions = { + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + cdataPropName: false, + format: false, + indentBy: " ", + suppressEmptyNode: false, + suppressUnpairedNode: true, + suppressBooleanAttributes: true, + tagValueProcessor: function(key, a) { + return a; + }, + attributeValueProcessor: function(attrName, a) { + return a; + }, + preserveOrder: false, + commentPropName: false, + unpairedTags: [], + entities: [ + { regex: new RegExp("&", "g"), val: "&" }, + //it must be on top + { regex: new RegExp(">", "g"), val: ">" }, + { regex: new RegExp("<", "g"), val: "<" }, + { regex: new RegExp("'", "g"), val: "'" }, + { regex: new RegExp('"', "g"), val: """ } + ], + processEntities: true, + stopNodes: [], + // transformTagName: false, + // transformAttributeName: false, + oneListGroup: false + }; + function Builder(options) { + this.options = Object.assign({}, defaultOptions, options); + if (this.options.ignoreAttributes || this.options.attributesGroupName) { + this.isAttribute = function() { + return false; + }; + } else { + this.attrPrefixLen = this.options.attributeNamePrefix.length; + this.isAttribute = isAttribute; + } + this.processTextOrObjNode = processTextOrObjNode; + if (this.options.format) { + this.indentate = indentate; + this.tagEndChar = ">\n"; + this.newLine = "\n"; + } else { + this.indentate = function() { + return ""; + }; + this.tagEndChar = ">"; + this.newLine = ""; + } + } + Builder.prototype.build = function(jObj) { + if (this.options.preserveOrder) { + return buildFromOrderedJs(jObj, this.options); + } else { + if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) { + jObj = { + [this.options.arrayNodeName]: jObj + }; + } + return this.j2x(jObj, 0).val; + } + }; + Builder.prototype.j2x = function(jObj, level) { + let attrStr = ""; + let val2 = ""; + for (let key in jObj) { + if (typeof jObj[key] === "undefined") { + } else if (jObj[key] === null) { + if (key[0] === "?") + val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + else + val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } else if (jObj[key] instanceof Date) { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } else if (typeof jObj[key] !== "object") { + const attr = this.isAttribute(key); + if (attr) { + attrStr += this.buildAttrPairStr(attr, "" + jObj[key]); + } else { + if (key === this.options.textNodeName) { + let newval = this.options.tagValueProcessor(key, "" + jObj[key]); + val2 += this.replaceEntitiesValue(newval); + } else { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } + } + } else if (Array.isArray(jObj[key])) { + const arrLen = jObj[key].length; + let listTagVal = ""; + for (let j = 0; j < arrLen; j++) { + const item = jObj[key][j]; + if (typeof item === "undefined") { + } else if (item === null) { + if (key[0] === "?") + val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + else + val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } else if (typeof item === "object") { + if (this.options.oneListGroup) { + listTagVal += this.j2x(item, level + 1).val; + } else { + listTagVal += this.processTextOrObjNode(item, key, level); + } + } else { + listTagVal += this.buildTextValNode(item, key, "", level); + } + } + if (this.options.oneListGroup) { + listTagVal = this.buildObjectNode(listTagVal, key, "", level); + } + val2 += listTagVal; + } else { + if (this.options.attributesGroupName && key === this.options.attributesGroupName) { + const Ks = Object.keys(jObj[key]); + const L = Ks.length; + for (let j = 0; j < L; j++) { + attrStr += this.buildAttrPairStr(Ks[j], "" + jObj[key][Ks[j]]); + } + } else { + val2 += this.processTextOrObjNode(jObj[key], key, level); + } + } + } + return { attrStr, val: val2 }; + }; + Builder.prototype.buildAttrPairStr = function(attrName, val2) { + val2 = this.options.attributeValueProcessor(attrName, "" + val2); + val2 = this.replaceEntitiesValue(val2); + if (this.options.suppressBooleanAttributes && val2 === "true") { + return " " + attrName; + } else + return " " + attrName + '="' + val2 + '"'; + }; + function processTextOrObjNode(object, key, level) { + const result = this.j2x(object, level + 1); + if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) { + return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); + } else { + return this.buildObjectNode(result.val, key, result.attrStr, level); + } + } + Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) { + if (val2 === "") { + if (key[0] === "?") + return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + else { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; + } + } else { + let tagEndExp = "" + val2 + tagEndExp; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { + return this.indentate(level) + `` + this.newLine; + } else { + return this.indentate(level) + "<" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp; + } + } + }; + Builder.prototype.closeTag = function(key) { + let closeTag = ""; + if (this.options.unpairedTags.indexOf(key) !== -1) { + if (!this.options.suppressUnpairedNode) + closeTag = "/"; + } else if (this.options.suppressEmptyNode) { + closeTag = "/"; + } else { + closeTag = `>` + this.newLine; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName) { + return this.indentate(level) + `` + this.newLine; + } else if (key[0] === "?") { + return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + } else { + let textValue = this.options.tagValueProcessor(key, val2); + textValue = this.replaceEntitiesValue(textValue); + if (textValue === "") { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; + } else { + return this.indentate(level) + "<" + key + attrStr + ">" + textValue + " 0 && this.options.processEntities) { + for (let i = 0; i < this.options.entities.length; i++) { + const entity = this.options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; + }; + function indentate(level) { + return this.options.indentBy.repeat(level); + } + function isAttribute(name) { + if (name.startsWith(this.options.attributeNamePrefix)) { + return name.substr(this.attrPrefixLen); + } else { + return false; + } + } + module2.exports = Builder; + } +}); + +// ../../../node_modules/fast-xml-parser/src/fxp.js +var require_fxp = __commonJS({ + "../../../node_modules/fast-xml-parser/src/fxp.js"(exports, module2) { + "use strict"; + var validator = require_validator(); + var XMLParser = require_XMLParser(); + var XMLBuilder = require_json2xml(); + module2.exports = { + XMLParser, + XMLValidator: validator, + XMLBuilder + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js +var require_Aws_query = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_GetSessionTokenCommand = exports.de_GetFederationTokenCommand = exports.de_GetCallerIdentityCommand = exports.de_GetAccessKeyInfoCommand = exports.de_DecodeAuthorizationMessageCommand = exports.de_AssumeRoleWithWebIdentityCommand = exports.de_AssumeRoleWithSAMLCommand = exports.de_AssumeRoleCommand = exports.se_GetSessionTokenCommand = exports.se_GetFederationTokenCommand = exports.se_GetCallerIdentityCommand = exports.se_GetAccessKeyInfoCommand = exports.se_DecodeAuthorizationMessageCommand = exports.se_AssumeRoleWithWebIdentityCommand = exports.se_AssumeRoleWithSAMLCommand = exports.se_AssumeRoleCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var fast_xml_parser_1 = require_fxp(); + var models_0_1 = require_models_0(); + var STSServiceException_1 = require_STSServiceException(); + var se_AssumeRoleCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleRequest(input, context), + Action: "AssumeRole", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleCommand = se_AssumeRoleCommand; + var se_AssumeRoleWithSAMLCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithSAMLRequest(input, context), + Action: "AssumeRoleWithSAML", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleWithSAMLCommand = se_AssumeRoleWithSAMLCommand; + var se_AssumeRoleWithWebIdentityCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithWebIdentityRequest(input, context), + Action: "AssumeRoleWithWebIdentity", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleWithWebIdentityCommand = se_AssumeRoleWithWebIdentityCommand; + var se_DecodeAuthorizationMessageCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_DecodeAuthorizationMessageRequest(input, context), + Action: "DecodeAuthorizationMessage", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DecodeAuthorizationMessageCommand = se_DecodeAuthorizationMessageCommand; + var se_GetAccessKeyInfoCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetAccessKeyInfoRequest(input, context), + Action: "GetAccessKeyInfo", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetAccessKeyInfoCommand = se_GetAccessKeyInfoCommand; + var se_GetCallerIdentityCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetCallerIdentityRequest(input, context), + Action: "GetCallerIdentity", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetCallerIdentityCommand = se_GetCallerIdentityCommand; + var se_GetFederationTokenCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetFederationTokenRequest(input, context), + Action: "GetFederationToken", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetFederationTokenCommand = se_GetFederationTokenCommand; + var se_GetSessionTokenCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetSessionTokenRequest(input, context), + Action: "GetSessionToken", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetSessionTokenCommand = se_GetSessionTokenCommand; + var de_AssumeRoleCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleResponse(data.AssumeRoleResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleCommand = de_AssumeRoleCommand; + var de_AssumeRoleCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_AssumeRoleWithSAMLCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleWithSAMLCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleWithSAMLCommand = de_AssumeRoleWithSAMLCommand; + var de_AssumeRoleWithSAMLCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "IDPRejectedClaim": + case "com.amazonaws.sts#IDPRejectedClaimException": + throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); + case "InvalidIdentityToken": + case "com.amazonaws.sts#InvalidIdentityTokenException": + throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_AssumeRoleWithWebIdentityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleWithWebIdentityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleWithWebIdentityCommand = de_AssumeRoleWithWebIdentityCommand; + var de_AssumeRoleWithWebIdentityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "IDPCommunicationError": + case "com.amazonaws.sts#IDPCommunicationErrorException": + throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context); + case "IDPRejectedClaim": + case "com.amazonaws.sts#IDPRejectedClaimException": + throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); + case "InvalidIdentityToken": + case "com.amazonaws.sts#InvalidIdentityTokenException": + throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_DecodeAuthorizationMessageCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DecodeAuthorizationMessageCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DecodeAuthorizationMessageCommand = de_DecodeAuthorizationMessageCommand; + var de_DecodeAuthorizationMessageCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidAuthorizationMessageException": + case "com.amazonaws.sts#InvalidAuthorizationMessageException": + throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_GetAccessKeyInfoCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetAccessKeyInfoCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetAccessKeyInfoCommand = de_GetAccessKeyInfoCommand; + var de_GetAccessKeyInfoCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + }; + var de_GetCallerIdentityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetCallerIdentityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetCallerIdentityCommand = de_GetCallerIdentityCommand; + var de_GetCallerIdentityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + }; + var de_GetFederationTokenCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetFederationTokenCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetFederationTokenCommand = de_GetFederationTokenCommand; + var de_GetFederationTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_GetSessionTokenCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetSessionTokenCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetSessionTokenCommand = de_GetSessionTokenCommand; + var de_GetSessionTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_ExpiredTokenException(body.Error, context); + const exception = new models_0_1.ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPCommunicationErrorException(body.Error, context); + const exception = new models_0_1.IDPCommunicationErrorException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPRejectedClaimException(body.Error, context); + const exception = new models_0_1.IDPRejectedClaimException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidAuthorizationMessageExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidAuthorizationMessageException(body.Error, context); + const exception = new models_0_1.InvalidAuthorizationMessageException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidIdentityTokenException(body.Error, context); + const exception = new models_0_1.InvalidIdentityTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_MalformedPolicyDocumentException(body.Error, context); + const exception = new models_0_1.MalformedPolicyDocumentException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_PackedPolicyTooLargeException(body.Error, context); + const exception = new models_0_1.PackedPolicyTooLargeException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_RegionDisabledExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_RegionDisabledException(body.Error, context); + const exception = new models_0_1.RegionDisabledException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var se_AssumeRoleRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.RoleSessionName != null) { + entries["RoleSessionName"] = input.RoleSessionName; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.Tags != null) { + const memberEntries = se_tagListType(input.Tags, context); + if (input.Tags?.length === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + if (input.TransitiveTagKeys != null) { + const memberEntries = se_tagKeyListType(input.TransitiveTagKeys, context); + if (input.TransitiveTagKeys?.length === 0) { + entries.TransitiveTagKeys = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TransitiveTagKeys.${key}`; + entries[loc] = value; + }); + } + if (input.ExternalId != null) { + entries["ExternalId"] = input.ExternalId; + } + if (input.SerialNumber != null) { + entries["SerialNumber"] = input.SerialNumber; + } + if (input.TokenCode != null) { + entries["TokenCode"] = input.TokenCode; + } + if (input.SourceIdentity != null) { + entries["SourceIdentity"] = input.SourceIdentity; + } + if (input.ProvidedContexts != null) { + const memberEntries = se_ProvidedContextsListType(input.ProvidedContexts, context); + if (input.ProvidedContexts?.length === 0) { + entries.ProvidedContexts = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProvidedContexts.${key}`; + entries[loc] = value; + }); + } + return entries; + }; + var se_AssumeRoleWithSAMLRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.PrincipalArn != null) { + entries["PrincipalArn"] = input.PrincipalArn; + } + if (input.SAMLAssertion != null) { + entries["SAMLAssertion"] = input.SAMLAssertion; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + return entries; + }; + var se_AssumeRoleWithWebIdentityRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.RoleSessionName != null) { + entries["RoleSessionName"] = input.RoleSessionName; + } + if (input.WebIdentityToken != null) { + entries["WebIdentityToken"] = input.WebIdentityToken; + } + if (input.ProviderId != null) { + entries["ProviderId"] = input.ProviderId; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + return entries; + }; + var se_DecodeAuthorizationMessageRequest = (input, context) => { + const entries = {}; + if (input.EncodedMessage != null) { + entries["EncodedMessage"] = input.EncodedMessage; + } + return entries; + }; + var se_GetAccessKeyInfoRequest = (input, context) => { + const entries = {}; + if (input.AccessKeyId != null) { + entries["AccessKeyId"] = input.AccessKeyId; + } + return entries; + }; + var se_GetCallerIdentityRequest = (input, context) => { + const entries = {}; + return entries; + }; + var se_GetFederationTokenRequest = (input, context) => { + const entries = {}; + if (input.Name != null) { + entries["Name"] = input.Name; + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.Tags != null) { + const memberEntries = se_tagListType(input.Tags, context); + if (input.Tags?.length === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + return entries; + }; + var se_GetSessionTokenRequest = (input, context) => { + const entries = {}; + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.SerialNumber != null) { + entries["SerialNumber"] = input.SerialNumber; + } + if (input.TokenCode != null) { + entries["TokenCode"] = input.TokenCode; + } + return entries; + }; + var se_policyDescriptorListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_PolicyDescriptorType(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var se_PolicyDescriptorType = (input, context) => { + const entries = {}; + if (input.arn != null) { + entries["arn"] = input.arn; + } + return entries; + }; + var se_ProvidedContext = (input, context) => { + const entries = {}; + if (input.ProviderArn != null) { + entries["ProviderArn"] = input.ProviderArn; + } + if (input.ContextAssertion != null) { + entries["ContextAssertion"] = input.ContextAssertion; + } + return entries; + }; + var se_ProvidedContextsListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_ProvidedContext(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var se_Tag = (input, context) => { + const entries = {}; + if (input.Key != null) { + entries["Key"] = input.Key; + } + if (input.Value != null) { + entries["Value"] = input.Value; + } + return entries; + }; + var se_tagKeyListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; + }; + var se_tagListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_Tag(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var de_AssumedRoleUser = (output, context) => { + const contents = {}; + if (output["AssumedRoleId"] !== void 0) { + contents.AssumedRoleId = (0, smithy_client_1.expectString)(output["AssumedRoleId"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_AssumeRoleResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_AssumeRoleWithSAMLResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["Subject"] !== void 0) { + contents.Subject = (0, smithy_client_1.expectString)(output["Subject"]); + } + if (output["SubjectType"] !== void 0) { + contents.SubjectType = (0, smithy_client_1.expectString)(output["SubjectType"]); + } + if (output["Issuer"] !== void 0) { + contents.Issuer = (0, smithy_client_1.expectString)(output["Issuer"]); + } + if (output["Audience"] !== void 0) { + contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); + } + if (output["NameQualifier"] !== void 0) { + contents.NameQualifier = (0, smithy_client_1.expectString)(output["NameQualifier"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_AssumeRoleWithWebIdentityResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["SubjectFromWebIdentityToken"] !== void 0) { + contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output["SubjectFromWebIdentityToken"]); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["Provider"] !== void 0) { + contents.Provider = (0, smithy_client_1.expectString)(output["Provider"]); + } + if (output["Audience"] !== void 0) { + contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_Credentials = (output, context) => { + const contents = {}; + if (output["AccessKeyId"] !== void 0) { + contents.AccessKeyId = (0, smithy_client_1.expectString)(output["AccessKeyId"]); + } + if (output["SecretAccessKey"] !== void 0) { + contents.SecretAccessKey = (0, smithy_client_1.expectString)(output["SecretAccessKey"]); + } + if (output["SessionToken"] !== void 0) { + contents.SessionToken = (0, smithy_client_1.expectString)(output["SessionToken"]); + } + if (output["Expiration"] !== void 0) { + contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output["Expiration"])); + } + return contents; + }; + var de_DecodeAuthorizationMessageResponse = (output, context) => { + const contents = {}; + if (output["DecodedMessage"] !== void 0) { + contents.DecodedMessage = (0, smithy_client_1.expectString)(output["DecodedMessage"]); + } + return contents; + }; + var de_ExpiredTokenException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_FederatedUser = (output, context) => { + const contents = {}; + if (output["FederatedUserId"] !== void 0) { + contents.FederatedUserId = (0, smithy_client_1.expectString)(output["FederatedUserId"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_GetAccessKeyInfoResponse = (output, context) => { + const contents = {}; + if (output["Account"] !== void 0) { + contents.Account = (0, smithy_client_1.expectString)(output["Account"]); + } + return contents; + }; + var de_GetCallerIdentityResponse = (output, context) => { + const contents = {}; + if (output["UserId"] !== void 0) { + contents.UserId = (0, smithy_client_1.expectString)(output["UserId"]); + } + if (output["Account"] !== void 0) { + contents.Account = (0, smithy_client_1.expectString)(output["Account"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_GetFederationTokenResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["FederatedUser"] !== void 0) { + contents.FederatedUser = de_FederatedUser(output["FederatedUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + return contents; + }; + var de_GetSessionTokenResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + return contents; + }; + var de_IDPCommunicationErrorException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_IDPRejectedClaimException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_InvalidAuthorizationMessageException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_InvalidIdentityTokenException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_MalformedPolicyDocumentException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_PackedPolicyTooLargeException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_RegionDisabledException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var throwDefaultError = (0, smithy_client_1.withBaseException)(STSServiceException_1.STSServiceException); + var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers + }; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; + } + if (body !== void 0) { + contents.body = body; + } + return new protocol_http_1.HttpRequest(contents); + }; + var SHARED_HEADERS = { + "content-type": "application/x-www-form-urlencoded" + }; + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + const parser = new fast_xml_parser_1.XMLParser({ + attributeNamePrefix: "", + htmlEntities: true, + ignoreAttributes: false, + ignoreDeclaration: true, + parseTagValue: false, + trimValues: false, + tagValueProcessor: (_, val2) => val2.trim() === "" && val2.includes("\n") ? "" : void 0 + }); + parser.addEntity("#xD", "\r"); + parser.addEntity("#10", "\n"); + const parsedObj = parser.parse(encoded); + const textNodeName = "#text"; + const key = Object.keys(parsedObj)[0]; + const parsedObjToReturn = parsedObj[key]; + if (parsedObjToReturn[textNodeName]) { + parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; + delete parsedObjToReturn[textNodeName]; + } + return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + if (value.Error) { + value.Error.message = value.Error.message ?? value.Error.Message; + } + return value; + }; + var buildFormUrlencodedString = (formEntries) => Object.entries(formEntries).map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + "=" + (0, smithy_client_1.extendedEncodeURIComponent)(value)).join("&"); + var loadQueryErrorCode = (output, data) => { + if (data.Error?.Code !== void 0) { + return data.Error.Code; + } + if (output.statusCode == 404) { + return "NotFound"; + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js +var require_AssumeRoleCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleCommand = class _AssumeRoleCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleCommand)(output, context); + } + }; + exports.AssumeRoleCommand = AssumeRoleCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js +var require_AssumeRoleWithWebIdentityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleWithWebIdentityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleWithWebIdentityCommand = class _AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleWithWebIdentityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleWithWebIdentityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleWithWebIdentityCommand)(output, context); + } + }; + exports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js +var require_defaultStsRoleAssumers = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; + var AssumeRoleCommand_1 = require_AssumeRoleCommand(); + var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); + var ASSUME_ROLE_DEFAULT_REGION = "us-east-1"; + var decorateDefaultRegion = (region) => { + if (typeof region !== "function") { + return region === void 0 ? ASSUME_ROLE_DEFAULT_REGION : region; + } + return async () => { + try { + return await region(); + } catch (e) { + return ASSUME_ROLE_DEFAULT_REGION; + } + }; + }; + var getDefaultRoleAssumer = (stsOptions, stsClientCtor) => { + let stsClient; + let closureSourceCreds; + return async (sourceCreds, params) => { + closureSourceCreds = sourceCreds; + if (!stsClient) { + const { logger, region, requestHandler } = stsOptions; + stsClient = new stsClientCtor({ + logger, + credentialDefaultProvider: () => async () => closureSourceCreds, + region: decorateDefaultRegion(region || stsOptions.region), + ...requestHandler ? { requestHandler } : {} + }); + } + const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); + } + return { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration + }; + }; + }; + exports.getDefaultRoleAssumer = getDefaultRoleAssumer; + var getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => { + let stsClient; + return async (params) => { + if (!stsClient) { + const { logger, region, requestHandler } = stsOptions; + stsClient = new stsClientCtor({ + logger, + region: decorateDefaultRegion(region || stsOptions.region), + ...requestHandler ? { requestHandler } : {} + }); + } + const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); + } + return { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration + }; + }; + }; + exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; + var decorateDefaultCredentialProvider = (provider) => (input) => provider({ + roleAssumer: (0, exports.getDefaultRoleAssumer)(input, input.stsClientCtor), + roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor), + ...input + }); + exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js +var require_fromEnv = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEnv = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0; + var property_provider_1 = require_dist_cjs6(); + exports.ENV_KEY = "AWS_ACCESS_KEY_ID"; + exports.ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; + exports.ENV_SESSION = "AWS_SESSION_TOKEN"; + exports.ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; + var fromEnv = () => async () => { + const accessKeyId = process.env[exports.ENV_KEY]; + const secretAccessKey = process.env[exports.ENV_SECRET]; + const sessionToken = process.env[exports.ENV_SESSION]; + const expiry = process.env[exports.ENV_EXPIRATION]; + if (accessKeyId && secretAccessKey) { + return { + accessKeyId, + secretAccessKey, + ...sessionToken && { sessionToken }, + ...expiry && { expiration: new Date(expiry) } + }; + } + throw new property_provider_1.CredentialsProviderError("Unable to find environment variable credentials."); + }; + exports.fromEnv = fromEnv; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +var require_dist_cjs37 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromEnv(), exports); + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js +var require_getHomeDir = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHomeDir = void 0; + var os_1 = require("os"); + var path_1 = require("path"); + var getHomeDir = () => { + const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env; + if (HOME) + return HOME; + if (USERPROFILE) + return USERPROFILE; + if (HOMEPATH) + return `${HOMEDRIVE}${HOMEPATH}`; + return (0, os_1.homedir)(); + }; + exports.getHomeDir = getHomeDir; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js +var require_getProfileName = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getProfileName = exports.DEFAULT_PROFILE = exports.ENV_PROFILE = void 0; + exports.ENV_PROFILE = "AWS_PROFILE"; + exports.DEFAULT_PROFILE = "default"; + var getProfileName = (init) => init.profile || process.env[exports.ENV_PROFILE] || exports.DEFAULT_PROFILE; + exports.getProfileName = getProfileName; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js +var require_getSSOTokenFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSSOTokenFilepath = void 0; + var crypto_1 = require("crypto"); + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + var getSSOTokenFilepath = (id) => { + const hasher = (0, crypto_1.createHash)("sha1"); + const cacheName = hasher.update(id).digest("hex"); + return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`); + }; + exports.getSSOTokenFilepath = getSSOTokenFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js +var require_getSSOTokenFromFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSSOTokenFromFile = void 0; + var fs_1 = require("fs"); + var getSSOTokenFilepath_1 = require_getSSOTokenFilepath(); + var { readFile } = fs_1.promises; + var getSSOTokenFromFile = async (id) => { + const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id); + const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); + return JSON.parse(ssoTokenText); + }; + exports.getSSOTokenFromFile = getSSOTokenFromFile; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js +var require_getConfigFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getConfigFilepath = exports.ENV_CONFIG_PATH = void 0; + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + exports.ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; + var getConfigFilepath = () => process.env[exports.ENV_CONFIG_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "config"); + exports.getConfigFilepath = getConfigFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js +var require_getCredentialsFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCredentialsFilepath = exports.ENV_CREDENTIALS_PATH = void 0; + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + exports.ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; + var getCredentialsFilepath = () => process.env[exports.ENV_CREDENTIALS_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "credentials"); + exports.getCredentialsFilepath = getCredentialsFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js +var require_getProfileData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getProfileData = void 0; + var profileKeyRegex = /^profile\s(["'])?([^\1]+)\1$/; + var getProfileData = (data) => Object.entries(data).filter(([key]) => profileKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [profileKeyRegex.exec(key)[2]]: value }), { + ...data.default && { default: data.default } + }); + exports.getProfileData = getProfileData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js +var require_parseIni = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseIni = void 0; + var profileNameBlockList = ["__proto__", "profile __proto__"]; + var parseIni = (iniData) => { + const map = {}; + let currentSection; + for (let line of iniData.split(/\r?\n/)) { + line = line.split(/(^|\s)[;#]/)[0].trim(); + const isSection = line[0] === "[" && line[line.length - 1] === "]"; + if (isSection) { + currentSection = line.substring(1, line.length - 1); + if (profileNameBlockList.includes(currentSection)) { + throw new Error(`Found invalid profile name "${currentSection}"`); + } + } else if (currentSection) { + const indexOfEqualsSign = line.indexOf("="); + const start = 0; + const end = line.length - 1; + const isAssignment = indexOfEqualsSign !== -1 && indexOfEqualsSign !== start && indexOfEqualsSign !== end; + if (isAssignment) { + const [name, value] = [ + line.substring(0, indexOfEqualsSign).trim(), + line.substring(indexOfEqualsSign + 1).trim() + ]; + map[currentSection] = map[currentSection] || {}; + map[currentSection][name] = value; + } + } + } + return map; + }; + exports.parseIni = parseIni; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js +var require_slurpFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.slurpFile = void 0; + var fs_1 = require("fs"); + var { readFile } = fs_1.promises; + var filePromisesHash = {}; + var slurpFile = (path, options) => { + if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) { + filePromisesHash[path] = readFile(path, "utf8"); + } + return filePromisesHash[path]; + }; + exports.slurpFile = slurpFile; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js +var require_loadSharedConfigFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadSharedConfigFiles = void 0; + var getConfigFilepath_1 = require_getConfigFilepath(); + var getCredentialsFilepath_1 = require_getCredentialsFilepath(); + var getProfileData_1 = require_getProfileData(); + var parseIni_1 = require_parseIni(); + var slurpFile_1 = require_slurpFile(); + var swallowError = () => ({}); + var loadSharedConfigFiles = async (init = {}) => { + const { filepath = (0, getCredentialsFilepath_1.getCredentialsFilepath)(), configFilepath = (0, getConfigFilepath_1.getConfigFilepath)() } = init; + const parsedFiles = await Promise.all([ + (0, slurpFile_1.slurpFile)(configFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni_1.parseIni).then(getProfileData_1.getProfileData).catch(swallowError), + (0, slurpFile_1.slurpFile)(filepath, { + ignoreCache: init.ignoreCache + }).then(parseIni_1.parseIni).catch(swallowError) + ]); + return { + configFile: parsedFiles[0], + credentialsFile: parsedFiles[1] + }; + }; + exports.loadSharedConfigFiles = loadSharedConfigFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js +var require_getSsoSessionData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSsoSessionData = void 0; + var ssoSessionKeyRegex = /^sso-session\s(["'])?([^\1]+)\1$/; + var getSsoSessionData = (data) => Object.entries(data).filter(([key]) => ssoSessionKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [ssoSessionKeyRegex.exec(key)[2]]: value }), {}); + exports.getSsoSessionData = getSsoSessionData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js +var require_loadSsoSessionData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadSsoSessionData = void 0; + var getConfigFilepath_1 = require_getConfigFilepath(); + var getSsoSessionData_1 = require_getSsoSessionData(); + var parseIni_1 = require_parseIni(); + var slurpFile_1 = require_slurpFile(); + var swallowError = () => ({}); + var loadSsoSessionData = async (init = {}) => { + var _a; + return (0, slurpFile_1.slurpFile)((_a = init.configFilepath) !== null && _a !== void 0 ? _a : (0, getConfigFilepath_1.getConfigFilepath)()).then(parseIni_1.parseIni).then(getSsoSessionData_1.getSsoSessionData).catch(swallowError); + }; + exports.loadSsoSessionData = loadSsoSessionData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js +var require_mergeConfigFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeConfigFiles = void 0; + var mergeConfigFiles = (...files) => { + const merged = {}; + for (const file of files) { + for (const [key, values] of Object.entries(file)) { + if (merged[key] !== void 0) { + Object.assign(merged[key], values); + } else { + merged[key] = values; + } + } + } + return merged; + }; + exports.mergeConfigFiles = mergeConfigFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js +var require_parseKnownFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseKnownFiles = void 0; + var loadSharedConfigFiles_1 = require_loadSharedConfigFiles(); + var mergeConfigFiles_1 = require_mergeConfigFiles(); + var parseKnownFiles = async (init) => { + const parsedFiles = await (0, loadSharedConfigFiles_1.loadSharedConfigFiles)(init); + return (0, mergeConfigFiles_1.mergeConfigFiles)(parsedFiles.configFile, parsedFiles.credentialsFile); + }; + exports.parseKnownFiles = parseKnownFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js +var require_types5 = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js +var require_dist_cjs38 = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_getHomeDir(), exports); + tslib_1.__exportStar(require_getProfileName(), exports); + tslib_1.__exportStar(require_getSSOTokenFilepath(), exports); + tslib_1.__exportStar(require_getSSOTokenFromFile(), exports); + tslib_1.__exportStar(require_loadSharedConfigFiles(), exports); + tslib_1.__exportStar(require_loadSsoSessionData(), exports); + tslib_1.__exportStar(require_parseKnownFiles(), exports); + tslib_1.__exportStar(require_types5(), exports); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js +var require_httpRequest2 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.httpRequest = void 0; + var property_provider_1 = require_dist_cjs6(); + var buffer_1 = require("buffer"); + var http_1 = require("http"); + function httpRequest(options) { + return new Promise((resolve, reject) => { + var _a; + const req = (0, http_1.request)({ + method: "GET", + ...options, + hostname: (_a = options.hostname) === null || _a === void 0 ? void 0 : _a.replace(/^\[(.+)\]$/, "$1") + }); + req.on("error", (err) => { + reject(Object.assign(new property_provider_1.ProviderError("Unable to connect to instance metadata service"), err)); + req.destroy(); + }); + req.on("timeout", () => { + reject(new property_provider_1.ProviderError("TimeoutError from instance metadata service")); + req.destroy(); + }); + req.on("response", (res) => { + const { statusCode = 400 } = res; + if (statusCode < 200 || 300 <= statusCode) { + reject(Object.assign(new property_provider_1.ProviderError("Error response received from instance metadata service"), { statusCode })); + req.destroy(); + } + const chunks = []; + res.on("data", (chunk) => { + chunks.push(chunk); + }); + res.on("end", () => { + resolve(buffer_1.Buffer.concat(chunks)); + req.destroy(); + }); + }); + req.end(); + }); + } + exports.httpRequest = httpRequest; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js +var require_ImdsCredentials = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromImdsCredentials = exports.isImdsCredentials = void 0; + var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string"; + exports.isImdsCredentials = isImdsCredentials; + var fromImdsCredentials = (creds) => ({ + accessKeyId: creds.AccessKeyId, + secretAccessKey: creds.SecretAccessKey, + sessionToken: creds.Token, + expiration: new Date(creds.Expiration) + }); + exports.fromImdsCredentials = fromImdsCredentials; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js +var require_RemoteProviderInit = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.providerConfigFromInit = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT = void 0; + exports.DEFAULT_TIMEOUT = 1e3; + exports.DEFAULT_MAX_RETRIES = 0; + var providerConfigFromInit = ({ maxRetries = exports.DEFAULT_MAX_RETRIES, timeout = exports.DEFAULT_TIMEOUT }) => ({ maxRetries, timeout }); + exports.providerConfigFromInit = providerConfigFromInit; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js +var require_retry3 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.retry = void 0; + var retry = (toRetry, maxRetries) => { + let promise = toRetry(); + for (let i = 0; i < maxRetries; i++) { + promise = promise.catch(toRetry); + } + return promise; + }; + exports.retry = retry; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js +var require_fromContainerMetadata = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromContainerMetadata = exports.ENV_CMDS_AUTH_TOKEN = exports.ENV_CMDS_RELATIVE_URI = exports.ENV_CMDS_FULL_URI = void 0; + var property_provider_1 = require_dist_cjs6(); + var url_1 = require("url"); + var httpRequest_1 = require_httpRequest2(); + var ImdsCredentials_1 = require_ImdsCredentials(); + var RemoteProviderInit_1 = require_RemoteProviderInit(); + var retry_1 = require_retry3(); + exports.ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + exports.ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + exports.ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromContainerMetadata = (init = {}) => { + const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); + return () => (0, retry_1.retry)(async () => { + const requestOptions = await getCmdsUri(); + const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); + if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { + throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); + } + return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); + }, maxRetries); + }; + exports.fromContainerMetadata = fromContainerMetadata; + var requestFromEcsImds = async (timeout, options) => { + if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) { + options.headers = { + ...options.headers, + Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN] + }; + } + const buffer = await (0, httpRequest_1.httpRequest)({ + ...options, + timeout + }); + return buffer.toString(); + }; + var CMDS_IP = "169.254.170.2"; + var GREENGRASS_HOSTS = { + localhost: true, + "127.0.0.1": true + }; + var GREENGRASS_PROTOCOLS = { + "http:": true, + "https:": true + }; + var getCmdsUri = async () => { + if (process.env[exports.ENV_CMDS_RELATIVE_URI]) { + return { + hostname: CMDS_IP, + path: process.env[exports.ENV_CMDS_RELATIVE_URI] + }; + } + if (process.env[exports.ENV_CMDS_FULL_URI]) { + const parsed = (0, url_1.parse)(process.env[exports.ENV_CMDS_FULL_URI]); + if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { + throw new property_provider_1.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false); + } + if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { + throw new property_provider_1.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false); + } + return { + ...parsed, + port: parsed.port ? parseInt(parsed.port, 10) : void 0 + }; + } + throw new property_provider_1.CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment variable is set`, false); + }; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js +var require_fromEnv2 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEnv = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromEnv = (envVarSelector) => async () => { + try { + const config = envVarSelector(process.env); + if (config === void 0) { + throw new Error(); + } + return config; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`); + } + }; + exports.fromEnv = fromEnv; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js +var require_fromSharedConfigFiles = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSharedConfigFiles = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var fromSharedConfigFiles = (configSelector, { preferredFile = "config", ...init } = {}) => async () => { + const profile = (0, shared_ini_file_loader_1.getProfileName)(init); + const { configFile, credentialsFile } = await (0, shared_ini_file_loader_1.loadSharedConfigFiles)(init); + const profileFromCredentials = credentialsFile[profile] || {}; + const profileFromConfig = configFile[profile] || {}; + const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; + try { + const configValue = configSelector(mergedProfile); + if (configValue === void 0) { + throw new Error(); + } + return configValue; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`); + } + }; + exports.fromSharedConfigFiles = fromSharedConfigFiles; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js +var require_fromStatic2 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var property_provider_1 = require_dist_cjs6(); + var isFunction = (func) => typeof func === "function"; + var fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, property_provider_1.fromStatic)(defaultValue); + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js +var require_configLoader = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadConfig = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromEnv_1 = require_fromEnv2(); + var fromSharedConfigFiles_1 = require_fromSharedConfigFiles(); + var fromStatic_1 = require_fromStatic2(); + var loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromEnv_1.fromEnv)(environmentVariableSelector), (0, fromSharedConfigFiles_1.fromSharedConfigFiles)(configFileSelector, configuration), (0, fromStatic_1.fromStatic)(defaultValue))); + exports.loadConfig = loadConfig; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js +var require_dist_cjs39 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_configLoader(), exports); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js +var require_Endpoint = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Endpoint = void 0; + var Endpoint; + (function(Endpoint2) { + Endpoint2["IPv4"] = "http://169.254.169.254"; + Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; + })(Endpoint = exports.Endpoint || (exports.Endpoint = {})); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js +var require_EndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ENDPOINT_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_NAME = exports.ENV_ENDPOINT_NAME = void 0; + exports.ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; + exports.CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; + exports.ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_NAME], + configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_NAME], + default: void 0 + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js +var require_EndpointMode = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointMode = void 0; + var EndpointMode; + (function(EndpointMode2) { + EndpointMode2["IPv4"] = "IPv4"; + EndpointMode2["IPv6"] = "IPv6"; + })(EndpointMode = exports.EndpointMode || (exports.EndpointMode = {})); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js +var require_EndpointModeConfigOptions = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ENDPOINT_MODE_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_MODE_NAME = exports.ENV_ENDPOINT_MODE_NAME = void 0; + var EndpointMode_1 = require_EndpointMode(); + exports.ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; + exports.CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; + exports.ENDPOINT_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_MODE_NAME], + configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_MODE_NAME], + default: EndpointMode_1.EndpointMode.IPv4 + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js +var require_getInstanceMetadataEndpoint = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getInstanceMetadataEndpoint = void 0; + var node_config_provider_1 = require_dist_cjs39(); + var url_parser_1 = require_dist_cjs24(); + var Endpoint_1 = require_Endpoint(); + var EndpointConfigOptions_1 = require_EndpointConfigOptions(); + var EndpointMode_1 = require_EndpointMode(); + var EndpointModeConfigOptions_1 = require_EndpointModeConfigOptions(); + var getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)(await getFromEndpointConfig() || await getFromEndpointModeConfig()); + exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint; + var getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)(); + var getFromEndpointModeConfig = async () => { + const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)(); + switch (endpointMode) { + case EndpointMode_1.EndpointMode.IPv4: + return Endpoint_1.Endpoint.IPv4; + case EndpointMode_1.EndpointMode.IPv6: + return Endpoint_1.Endpoint.IPv6; + default: + throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode_1.EndpointMode)}`); + } + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js +var require_getExtendedInstanceMetadataCredentials = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getExtendedInstanceMetadataCredentials = void 0; + var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; + var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; + var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; + var getExtendedInstanceMetadataCredentials = (credentials, logger) => { + var _a; + const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); + const newExpiration = new Date(Date.now() + refreshInterval * 1e3); + logger.warn("Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}.\nFor more information, please visit: " + STATIC_STABILITY_DOC_URL); + const originalExpiration = (_a = credentials.originalExpiration) !== null && _a !== void 0 ? _a : credentials.expiration; + return { + ...credentials, + ...originalExpiration ? { originalExpiration } : {}, + expiration: newExpiration + }; + }; + exports.getExtendedInstanceMetadataCredentials = getExtendedInstanceMetadataCredentials; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js +var require_staticStabilityProvider = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.staticStabilityProvider = void 0; + var getExtendedInstanceMetadataCredentials_1 = require_getExtendedInstanceMetadataCredentials(); + var staticStabilityProvider = (provider, options = {}) => { + const logger = (options === null || options === void 0 ? void 0 : options.logger) || console; + let pastCredentials; + return async () => { + let credentials; + try { + credentials = await provider(); + if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { + credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(credentials, logger); + } + } catch (e) { + if (pastCredentials) { + logger.warn("Credential renew failed: ", e); + credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(pastCredentials, logger); + } else { + throw e; + } + } + pastCredentials = credentials; + return credentials; + }; + }; + exports.staticStabilityProvider = staticStabilityProvider; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js +var require_fromInstanceMetadata = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromInstanceMetadata = void 0; + var property_provider_1 = require_dist_cjs6(); + var httpRequest_1 = require_httpRequest2(); + var ImdsCredentials_1 = require_ImdsCredentials(); + var RemoteProviderInit_1 = require_RemoteProviderInit(); + var retry_1 = require_retry3(); + var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); + var staticStabilityProvider_1 = require_staticStabilityProvider(); + var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; + var IMDS_TOKEN_PATH = "/latest/api/token"; + var fromInstanceMetadata = (init = {}) => (0, staticStabilityProvider_1.staticStabilityProvider)(getInstanceImdsProvider(init), { logger: init.logger }); + exports.fromInstanceMetadata = fromInstanceMetadata; + var getInstanceImdsProvider = (init) => { + let disableFetchToken = false; + const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); + const getCredentials = async (maxRetries2, options) => { + const profile = (await (0, retry_1.retry)(async () => { + let profile2; + try { + profile2 = await getProfile(options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return profile2; + }, maxRetries2)).trim(); + return (0, retry_1.retry)(async () => { + let creds; + try { + creds = await getCredentialsFromProfile(profile, options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return creds; + }, maxRetries2); + }; + return async () => { + const endpoint = await (0, getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint)(); + if (disableFetchToken) { + return getCredentials(maxRetries, { ...endpoint, timeout }); + } else { + let token; + try { + token = (await getMetadataToken({ ...endpoint, timeout })).toString(); + } catch (error) { + if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) { + throw Object.assign(error, { + message: "EC2 Metadata token request returned error" + }); + } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) { + disableFetchToken = true; + } + return getCredentials(maxRetries, { ...endpoint, timeout }); + } + return getCredentials(maxRetries, { + ...endpoint, + headers: { + "x-aws-ec2-metadata-token": token + }, + timeout + }); + } + }; + }; + var getMetadataToken = async (options) => (0, httpRequest_1.httpRequest)({ + ...options, + path: IMDS_TOKEN_PATH, + method: "PUT", + headers: { + "x-aws-ec2-metadata-token-ttl-seconds": "21600" + } + }); + var getProfile = async (options) => (await (0, httpRequest_1.httpRequest)({ ...options, path: IMDS_PATH })).toString(); + var getCredentialsFromProfile = async (profile, options) => { + const credsResponse = JSON.parse((await (0, httpRequest_1.httpRequest)({ + ...options, + path: IMDS_PATH + profile + })).toString()); + if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { + throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); + } + return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js +var require_types6 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +var require_dist_cjs40 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getInstanceMetadataEndpoint = exports.httpRequest = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromContainerMetadata(), exports); + tslib_1.__exportStar(require_fromInstanceMetadata(), exports); + tslib_1.__exportStar(require_RemoteProviderInit(), exports); + tslib_1.__exportStar(require_types6(), exports); + var httpRequest_1 = require_httpRequest2(); + Object.defineProperty(exports, "httpRequest", { enumerable: true, get: function() { + return httpRequest_1.httpRequest; + } }); + var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); + Object.defineProperty(exports, "getInstanceMetadataEndpoint", { enumerable: true, get: function() { + return getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js +var require_resolveCredentialSource = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveCredentialSource = void 0; + var credential_provider_env_1 = require_dist_cjs37(); + var credential_provider_imds_1 = require_dist_cjs40(); + var property_provider_1 = require_dist_cjs6(); + var resolveCredentialSource = (credentialSource, profileName) => { + const sourceProvidersMap = { + EcsContainer: credential_provider_imds_1.fromContainerMetadata, + Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata, + Environment: credential_provider_env_1.fromEnv + }; + if (credentialSource in sourceProvidersMap) { + return sourceProvidersMap[credentialSource](); + } else { + throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`); + } + }; + exports.resolveCredentialSource = resolveCredentialSource; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js +var require_resolveAssumeRoleCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveCredentialSource_1 = require_resolveCredentialSource(); + var resolveProfileData_1 = require_resolveProfileData(); + var isAssumeRoleProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg)); + exports.isAssumeRoleProfile = isAssumeRoleProfile; + var isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; + var isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; + var resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => { + const data = profiles[profileName]; + if (!options.roleAssumer) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false); + } + const { source_profile } = data; + if (source_profile && source_profile in visitedProfiles) { + throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), false); + } + const sourceCredsProvider = source_profile ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, { + ...visitedProfiles, + [source_profile]: true + }) : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)(); + const params = { + RoleArn: data.role_arn, + RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`, + ExternalId: data.external_id + }; + const { mfa_serial } = data; + if (mfa_serial) { + if (!options.mfaCodeProvider) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false); + } + params.SerialNumber = mfa_serial; + params.TokenCode = await options.mfaCodeProvider(mfa_serial); + } + const sourceCreds = await sourceCredsProvider; + return options.roleAssumer(sourceCreds, params); + }; + exports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js +var require_getValidatedProcessCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getValidatedProcessCredentials = void 0; + var getValidatedProcessCredentials = (profileName, data) => { + if (data.Version !== 1) { + throw Error(`Profile ${profileName} credential_process did not return Version 1.`); + } + if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { + throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); + } + if (data.Expiration) { + const currentTime = /* @__PURE__ */ new Date(); + const expireTime = new Date(data.Expiration); + if (expireTime < currentTime) { + throw Error(`Profile ${profileName} credential_process returned expired credentials.`); + } + } + return { + accessKeyId: data.AccessKeyId, + secretAccessKey: data.SecretAccessKey, + ...data.SessionToken && { sessionToken: data.SessionToken }, + ...data.Expiration && { expiration: new Date(data.Expiration) } + }; + }; + exports.getValidatedProcessCredentials = getValidatedProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js +var require_resolveProcessCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProcessCredentials = void 0; + var property_provider_1 = require_dist_cjs6(); + var child_process_1 = require("child_process"); + var util_1 = require("util"); + var getValidatedProcessCredentials_1 = require_getValidatedProcessCredentials(); + var resolveProcessCredentials = async (profileName, profiles) => { + const profile = profiles[profileName]; + if (profiles[profileName]) { + const credentialProcess = profile["credential_process"]; + if (credentialProcess !== void 0) { + const execPromise = (0, util_1.promisify)(child_process_1.exec); + try { + const { stdout } = await execPromise(credentialProcess); + let data; + try { + data = JSON.parse(stdout.trim()); + } catch (_a) { + throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); + } + return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data); + } catch (error) { + throw new property_provider_1.CredentialsProviderError(error.message); + } + } else { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`); + } + } else { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`); + } + }; + exports.resolveProcessCredentials = resolveProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js +var require_fromProcess = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromProcess = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveProcessCredentials_1 = require_resolveProcessCredentials(); + var fromProcess = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles); + }; + exports.fromProcess = fromProcess; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +var require_dist_cjs41 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromProcess(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js +var require_resolveProcessCredentials2 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProcessCredentials = exports.isProcessProfile = void 0; + var credential_provider_process_1 = require_dist_cjs41(); + var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string"; + exports.isProcessProfile = isProcessProfile; + var resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({ + ...options, + profile + })(); + exports.resolveProcessCredentials = resolveProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js +var require_isSsoProfile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isSsoProfile = void 0; + var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"); + exports.isSsoProfile = isSsoProfile; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "awsssoportal" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/package.json +var require_package3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sso", + description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", + version: "3.387.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sso" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sso" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js +var require_is_crt_available = __commonJS({ + "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isCrtAvailable = void 0; + var isCrtAvailable = () => { + try { + if (typeof require === "function" && typeof module2 !== "undefined" && require("aws-crt")) { + return ["md/crt-avail"]; + } + return null; + } catch (e) { + return null; + } + }; + exports.isCrtAvailable = isCrtAvailable; + } +}); + +// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +var require_dist_cjs42 = __commonJS({ + "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = void 0; + var node_config_provider_1 = require_dist_cjs39(); + var os_1 = require("os"); + var process_1 = require("process"); + var is_crt_available_1 = require_is_crt_available(); + exports.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; + exports.UA_APP_ID_INI_NAME = "sdk-ua-app-id"; + var defaultUserAgent = ({ serviceId, clientVersion }) => { + const sections = [ + ["aws-sdk-js", clientVersion], + ["ua", "2.0"], + [`os/${(0, os_1.platform)()}`, (0, os_1.release)()], + ["lang/js"], + ["md/nodejs", `${process_1.versions.node}`] + ]; + const crtAvailable = (0, is_crt_available_1.isCrtAvailable)(); + if (crtAvailable) { + sections.push(crtAvailable); + } + if (serviceId) { + sections.push([`api/${serviceId}`, clientVersion]); + } + if (process_1.env.AWS_EXECUTION_ENV) { + sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]); + } + const appIdPromise = (0, node_config_provider_1.loadConfig)({ + environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME], + configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME], + default: void 0 + })(); + let resolvedUserAgent = void 0; + return async () => { + if (!resolvedUserAgent) { + const appId = await appIdPromise; + resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; + } + return resolvedUserAgent; + }; + }; + exports.defaultUserAgent = defaultUserAgent; + } +}); + +// ../../../node_modules/@smithy/hash-node/dist-cjs/index.js +var require_dist_cjs43 = __commonJS({ + "../../../node_modules/@smithy/hash-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Hash = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var util_utf8_1 = require_dist_cjs13(); + var buffer_1 = require("buffer"); + var crypto_1 = require("crypto"); + var Hash = class { + constructor(algorithmIdentifier, secret) { + this.algorithmIdentifier = algorithmIdentifier; + this.secret = secret; + this.reset(); + } + update(toHash, encoding) { + this.hash.update((0, util_utf8_1.toUint8Array)(castSourceData(toHash, encoding))); + } + digest() { + return Promise.resolve(this.hash.digest()); + } + reset() { + this.hash = this.secret ? (0, crypto_1.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, crypto_1.createHash)(this.algorithmIdentifier); + } + }; + exports.Hash = Hash; + function castSourceData(toCast, encoding) { + if (buffer_1.Buffer.isBuffer(toCast)) { + return toCast; + } + if (typeof toCast === "string") { + return (0, util_buffer_from_1.fromString)(toCast, encoding); + } + if (ArrayBuffer.isView(toCast)) { + return (0, util_buffer_from_1.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength); + } + return (0, util_buffer_from_1.fromArrayBuffer)(toCast); + } + } +}); + +// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js +var require_calculateBodyLength = __commonJS({ + "../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.calculateBodyLength = void 0; + var fs_1 = require("fs"); + var calculateBodyLength = (body) => { + if (!body) { + return 0; + } + if (typeof body === "string") { + return Buffer.from(body).length; + } else if (typeof body.byteLength === "number") { + return body.byteLength; + } else if (typeof body.size === "number") { + return body.size; + } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) { + return (0, fs_1.lstatSync)(body.path).size; + } else if (typeof body.fd === "number") { + return (0, fs_1.fstatSync)(body.fd).size; + } + throw new Error(`Body Length computation failed for ${body}`); + }; + exports.calculateBodyLength = calculateBodyLength; + } +}); + +// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js +var require_dist_cjs44 = __commonJS({ + "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_calculateBodyLength(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js +var require_ruleset = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var p = "required"; + var q = "fn"; + var r = "argv"; + var s = "ref"; + var a = "PartitionResult"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = { [p]: false, "type": "String" }; + var f = { [p]: true, "default": false, "type": "Boolean" }; + var g = { [s]: "Endpoint" }; + var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; + var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; + var j = {}; + var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; + var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; + var m = [g]; + var n = [h]; + var o = [i]; + var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2019-06-10", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SSO", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js +var require_constants7 = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.IMDS_REGION_PATH = exports.DEFAULTS_MODE_OPTIONS = exports.ENV_IMDS_DISABLED = exports.AWS_DEFAULT_REGION_ENV = exports.AWS_REGION_ENV = exports.AWS_EXECUTION_ENV = void 0; + exports.AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; + exports.AWS_REGION_ENV = "AWS_REGION"; + exports.AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; + exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + exports.DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; + exports.IMDS_REGION_PATH = "/latest/meta-data/placement/region"; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js +var require_defaultsModeConfig = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = void 0; + var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; + var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; + exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => { + return env[AWS_DEFAULTS_MODE_ENV]; + }, + configFileSelector: (profile) => { + return profile[AWS_DEFAULTS_MODE_CONFIG]; + }, + default: "legacy" + }; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js +var require_resolveDefaultsModeConfig = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveDefaultsModeConfig = void 0; + var config_resolver_1 = require_dist_cjs21(); + var credential_provider_imds_1 = require_dist_cjs40(); + var node_config_provider_1 = require_dist_cjs39(); + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants7(); + var defaultsModeConfig_1 = require_defaultsModeConfig(); + var resolveDefaultsModeConfig = ({ region = (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS), defaultsMode = (0, node_config_provider_1.loadConfig)(defaultsModeConfig_1.NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => (0, property_provider_1.memoize)(async () => { + const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; + switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) { + case "auto": + return resolveNodeDefaultsModeAuto(region); + case "in-region": + case "cross-region": + case "mobile": + case "standard": + case "legacy": + return Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase()); + case void 0: + return Promise.resolve("legacy"); + default: + throw new Error(`Invalid parameter for "defaultsMode", expect ${constants_1.DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`); + } + }); + exports.resolveDefaultsModeConfig = resolveDefaultsModeConfig; + var resolveNodeDefaultsModeAuto = async (clientRegion) => { + if (clientRegion) { + const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; + const inferredRegion = await inferPhysicalRegion(); + if (!inferredRegion) { + return "standard"; + } + if (resolvedRegion === inferredRegion) { + return "in-region"; + } else { + return "cross-region"; + } + } + return "standard"; + }; + var inferPhysicalRegion = async () => { + var _a; + if (process.env[constants_1.AWS_EXECUTION_ENV] && (process.env[constants_1.AWS_REGION_ENV] || process.env[constants_1.AWS_DEFAULT_REGION_ENV])) { + return (_a = process.env[constants_1.AWS_REGION_ENV]) !== null && _a !== void 0 ? _a : process.env[constants_1.AWS_DEFAULT_REGION_ENV]; + } + if (!process.env[constants_1.ENV_IMDS_DISABLED]) { + try { + const endpoint = await (0, credential_provider_imds_1.getInstanceMetadataEndpoint)(); + return (await (0, credential_provider_imds_1.httpRequest)({ ...endpoint, path: constants_1.IMDS_REGION_PATH })).toString(); + } catch (e) { + } + } + }; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js +var require_dist_cjs45 = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_resolveDefaultsModeConfig(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js +var require_runtimeConfig = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package3()); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js +var require_SSOClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters3(); + var runtimeConfig_1 = require_runtimeConfig(); + var SSOClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SSOClient = SSOClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js +var require_SSOServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var SSOServiceException = class _SSOServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOServiceException.prototype); + } + }; + exports.SSOServiceException = SSOServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js +var require_models_02 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LogoutRequestFilterSensitiveLog = exports.ListAccountsRequestFilterSensitiveLog = exports.ListAccountRolesRequestFilterSensitiveLog = exports.GetRoleCredentialsResponseFilterSensitiveLog = exports.RoleCredentialsFilterSensitiveLog = exports.GetRoleCredentialsRequestFilterSensitiveLog = exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = void 0; + var smithy_client_1 = require_dist_cjs35(); + var SSOServiceException_1 = require_SSOServiceException(); + var InvalidRequestException = class _InvalidRequestException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + } + }; + exports.InvalidRequestException = InvalidRequestException; + var ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts + }); + this.name = "ResourceNotFoundException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFoundException.prototype); + } + }; + exports.ResourceNotFoundException = ResourceNotFoundException; + var TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "TooManyRequestsException", + $fault: "client", + ...opts + }); + this.name = "TooManyRequestsException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyRequestsException.prototype); + } + }; + exports.TooManyRequestsException = TooManyRequestsException; + var UnauthorizedException = class _UnauthorizedException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "UnauthorizedException", + $fault: "client", + ...opts + }); + this.name = "UnauthorizedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedException.prototype); + } + }; + exports.UnauthorizedException = UnauthorizedException; + var GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog; + var RoleCredentialsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }, + ...obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog; + var GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.roleCredentials && { roleCredentials: (0, exports.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) } + }); + exports.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog; + var ListAccountRolesRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog; + var ListAccountsRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog; + var LogoutRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js +var require_Aws_restJson1 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_LogoutCommand = exports.de_ListAccountsCommand = exports.de_ListAccountRolesCommand = exports.de_GetRoleCredentialsCommand = exports.se_LogoutCommand = exports.se_ListAccountsCommand = exports.se_ListAccountRolesCommand = exports.se_GetRoleCredentialsCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var models_0_1 = require_models_02(); + var SSOServiceException_1 = require_SSOServiceException(); + var se_GetRoleCredentialsCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/federation/credentials`; + const query = (0, smithy_client_1.map)({ + role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)], + account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_GetRoleCredentialsCommand = se_GetRoleCredentialsCommand; + var se_ListAccountRolesCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/roles`; + const query = (0, smithy_client_1.map)({ + next_token: [, input.nextToken], + max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()], + account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_ListAccountRolesCommand = se_ListAccountRolesCommand; + var se_ListAccountsCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/accounts`; + const query = (0, smithy_client_1.map)({ + next_token: [, input.nextToken], + max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_ListAccountsCommand = se_ListAccountsCommand; + var se_LogoutCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/logout`; + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + exports.se_LogoutCommand = se_LogoutCommand; + var de_GetRoleCredentialsCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetRoleCredentialsCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + roleCredentials: smithy_client_1._json + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_GetRoleCredentialsCommand = de_GetRoleCredentialsCommand; + var de_GetRoleCredentialsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListAccountRolesCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListAccountRolesCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + nextToken: smithy_client_1.expectString, + roleList: smithy_client_1._json + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_ListAccountRolesCommand = de_ListAccountRolesCommand; + var de_ListAccountRolesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListAccountsCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListAccountsCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + accountList: smithy_client_1._json, + nextToken: smithy_client_1.expectString + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_ListAccountsCommand = de_ListAccountsCommand; + var de_ListAccountsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_LogoutCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_LogoutCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + await (0, smithy_client_1.collectBody)(output.body, context); + return contents; + }; + exports.de_LogoutCommand = de_LogoutCommand; + var de_LogoutCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOServiceException_1.SSOServiceException); + var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.ResourceNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_TooManyRequestsExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.TooManyRequestsException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnauthorizedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.UnauthorizedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var isSerializableHeaderValue = (value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js +var require_GetRoleCredentialsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetRoleCredentialsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var GetRoleCredentialsCommand = class _GetRoleCredentialsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetRoleCredentialsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "GetRoleCredentialsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_GetRoleCredentialsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_GetRoleCredentialsCommand)(output, context); + } + }; + exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js +var require_ListAccountRolesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListAccountRolesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var ListAccountRolesCommand = class _ListAccountRolesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountRolesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "ListAccountRolesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_ListAccountRolesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_ListAccountRolesCommand)(output, context); + } + }; + exports.ListAccountRolesCommand = ListAccountRolesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js +var require_ListAccountsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListAccountsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var ListAccountsCommand = class _ListAccountsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "ListAccountsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_ListAccountsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_ListAccountsCommand)(output, context); + } + }; + exports.ListAccountsCommand = ListAccountsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js +var require_LogoutCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LogoutCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var LogoutCommand = class _LogoutCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _LogoutCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "LogoutCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_LogoutCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_LogoutCommand)(output, context); + } + }; + exports.LogoutCommand = LogoutCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js +var require_SSO = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSO = void 0; + var smithy_client_1 = require_dist_cjs35(); + var GetRoleCredentialsCommand_1 = require_GetRoleCredentialsCommand(); + var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); + var ListAccountsCommand_1 = require_ListAccountsCommand(); + var LogoutCommand_1 = require_LogoutCommand(); + var SSOClient_1 = require_SSOClient(); + var commands = { + GetRoleCredentialsCommand: GetRoleCredentialsCommand_1.GetRoleCredentialsCommand, + ListAccountRolesCommand: ListAccountRolesCommand_1.ListAccountRolesCommand, + ListAccountsCommand: ListAccountsCommand_1.ListAccountsCommand, + LogoutCommand: LogoutCommand_1.LogoutCommand + }; + var SSO = class extends SSOClient_1.SSOClient { + }; + exports.SSO = SSO; + (0, smithy_client_1.createAggregatedClient)(commands, SSO); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js +var require_commands = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_GetRoleCredentialsCommand(), exports); + tslib_1.__exportStar(require_ListAccountRolesCommand(), exports); + tslib_1.__exportStar(require_ListAccountsCommand(), exports); + tslib_1.__exportStar(require_LogoutCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js +var require_Interfaces = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js +var require_ListAccountRolesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListAccountRoles = void 0; + var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); + var SSOClient_1 = require_SSOClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args); + }; + async function* paginateListAccountRoles(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SSOClient_1.SSOClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSO | SSOClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListAccountRoles = paginateListAccountRoles; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js +var require_ListAccountsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListAccounts = void 0; + var ListAccountsCommand_1 = require_ListAccountsCommand(); + var SSOClient_1 = require_SSOClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args); + }; + async function* paginateListAccounts(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SSOClient_1.SSOClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSO | SSOClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListAccounts = paginateListAccounts; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js +var require_pagination3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Interfaces(), exports); + tslib_1.__exportStar(require_ListAccountRolesPaginator(), exports); + tslib_1.__exportStar(require_ListAccountsPaginator(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js +var require_models = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_02(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js +var require_dist_cjs46 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SSOClient(), exports); + tslib_1.__exportStar(require_SSO(), exports); + tslib_1.__exportStar(require_commands(), exports); + tslib_1.__exportStar(require_pagination3(), exports); + tslib_1.__exportStar(require_models(), exports); + var SSOServiceException_1 = require_SSOServiceException(); + Object.defineProperty(exports, "SSOServiceException", { enumerable: true, get: function() { + return SSOServiceException_1.SSOServiceException; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js +var require_dist_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + var resolveClientEndpointParameters = (options) => { + var _a, _b; + return { + ...options, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, + defaultSigningName: "awsssooidc" + }; + }; + var package_default = { + name: "@aws-sdk/client-sso-oidc", + description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", + version: "3.386.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "*", + "@aws-sdk/middleware-logger": "*", + "@aws-sdk/middleware-recursion-detection": "*", + "@aws-sdk/middleware-user-agent": "*", + "@aws-sdk/types": "*", + "@aws-sdk/util-endpoints": "*", + "@aws-sdk/util-user-agent-browser": "*", + "@aws-sdk/util-user-agent-node": "*", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sso-oidc" + } + }; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); + var p = "required"; + var q = "fn"; + var r = "argv"; + var s = "ref"; + var a = "PartitionResult"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = { [p]: false, "type": "String" }; + var f = { [p]: true, "default": false, "type": "Boolean" }; + var g = { [s]: "Endpoint" }; + var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; + var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; + var j = {}; + var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; + var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; + var m = [g]; + var n = [h]; + var o = [i]; + var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; + var ruleSet = _data; + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { + endpointParams, + logger: context.logger + }); + }; + var getRuntimeConfig = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + var SSOOIDCClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SSOOIDCClient = SSOOIDCClient; + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_5 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_6 = require_dist_cjs35(); + var smithy_client_7 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); + } + }; + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "AccessDeniedException", + $fault: "client", + ...opts + }); + this.name = "AccessDeniedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AccessDeniedException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.AccessDeniedException = AccessDeniedException; + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "AuthorizationPendingException", + $fault: "client", + ...opts + }); + this.name = "AuthorizationPendingException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AuthorizationPendingException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.AuthorizationPendingException = AuthorizationPendingException; + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + this.name = "ExpiredTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.ExpiredTokenException = ExpiredTokenException; + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts + }); + this.name = "InternalServerException"; + this.$fault = "server"; + Object.setPrototypeOf(this, _InternalServerException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InternalServerException = InternalServerException; + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidClientException = InvalidClientException; + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidGrantException", + $fault: "client", + ...opts + }); + this.name = "InvalidGrantException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidGrantException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidRequestException = InvalidRequestException; + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidScopeException", + $fault: "client", + ...opts + }); + this.name = "InvalidScopeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidScopeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidScopeException = InvalidScopeException; + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "SlowDownException", + $fault: "client", + ...opts + }); + this.name = "SlowDownException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _SlowDownException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.SlowDownException = SlowDownException; + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "UnauthorizedClientException", + $fault: "client", + ...opts + }); + this.name = "UnauthorizedClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.UnauthorizedClientException = UnauthorizedClientException; + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "UnsupportedGrantTypeException", + $fault: "client", + ...opts + }); + this.name = "UnsupportedGrantTypeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; + var se_CreateTokenCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; + let body; + body = JSON.stringify((0, smithy_client_6.take)(input, { + clientId: [], + clientSecret: [], + code: [], + deviceCode: [], + grantType: [], + redirectUri: [], + refreshToken: [], + scope: (_) => (0, smithy_client_6._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var de_CreateTokenCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CreateTokenCommandError(output, context); + } + const contents = (0, smithy_client_6.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_6.take)(data, { + accessToken: smithy_client_6.expectString, + expiresIn: smithy_client_6.expectInt32, + idToken: smithy_client_6.expectString, + refreshToken: smithy_client_6.expectString, + tokenType: smithy_client_6.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_CreateTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssooidc#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "AuthorizationPendingException": + case "com.amazonaws.ssooidc#AuthorizationPendingException": + throw await de_AuthorizationPendingExceptionRes(parsedOutput, context); + case "ExpiredTokenException": + case "com.amazonaws.ssooidc#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidGrantException": + case "com.amazonaws.ssooidc#InvalidGrantException": + throw await de_InvalidGrantExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + case "UnsupportedGrantTypeException": + case "com.amazonaws.ssooidc#UnsupportedGrantTypeException": + throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InternalServerExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new InternalServerException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidGrantException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidScopeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_SlowDownExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new SlowDownException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new UnauthorizedClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_6.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_6.take)(data, { + error: smithy_client_6.expectString, + error_description: smithy_client_6.expectString + }); + Object.assign(contents, doc); + const exception = new UnsupportedGrantTypeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + }; + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + var _a; + const value = await parseBody(errorBody, context); + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "CreateTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_CreateTokenCommand(input, context); + } + deserialize(output, context) { + return de_CreateTokenCommand(output, context); + } + }; + exports.CreateTokenCommand = CreateTokenCommand; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js +var require_getSsoOidcClient = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSsoOidcClient = void 0; + var dist_node_1 = require_dist_node(); + var ssoOidcClientsHash = {}; + var getSsoOidcClient = (ssoRegion) => { + if (ssoOidcClientsHash[ssoRegion]) { + return ssoOidcClientsHash[ssoRegion]; + } + const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); + ssoOidcClientsHash[ssoRegion] = ssoOidcClient; + return ssoOidcClient; + }; + exports.getSsoOidcClient = getSsoOidcClient; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js +var require_getNewSsoOidcToken = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getNewSsoOidcToken = void 0; + var dist_node_1 = require_dist_node(); + var getSsoOidcClient_1 = require_getSsoOidcClient(); + var getNewSsoOidcToken = (ssoToken, ssoRegion) => { + const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); + return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ + clientId: ssoToken.clientId, + clientSecret: ssoToken.clientSecret, + refreshToken: ssoToken.refreshToken, + grantType: "refresh_token" + })); + }; + exports.getNewSsoOidcToken = getNewSsoOidcToken; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js +var require_validateTokenExpiry = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateTokenExpiry = void 0; + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants8(); + var validateTokenExpiry = (token) => { + if (token.expiration && token.expiration.getTime() < Date.now()) { + throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false); + } + }; + exports.validateTokenExpiry = validateTokenExpiry; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js +var require_validateTokenKey = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateTokenKey = void 0; + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants8(); + var validateTokenKey = (key, value, forRefresh = false) => { + if (typeof value === "undefined") { + throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${constants_1.REFRESH_MESSAGE}`, false); + } + }; + exports.validateTokenKey = validateTokenKey; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js +var require_writeSSOTokenToFile = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.writeSSOTokenToFile = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var fs_1 = require("fs"); + var { writeFile } = fs_1.promises; + var writeSSOTokenToFile = (id, ssoToken) => { + const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id); + const tokenString = JSON.stringify(ssoToken, null, 2); + return writeFile(tokenFilepath, tokenString); + }; + exports.writeSSOTokenToFile = writeSSOTokenToFile; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js +var require_fromSso = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSso = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var constants_1 = require_constants8(); + var getNewSsoOidcToken_1 = require_getNewSsoOidcToken(); + var validateTokenExpiry_1 = require_validateTokenExpiry(); + var validateTokenKey_1 = require_validateTokenKey(); + var writeSSOTokenToFile_1 = require_writeSSOTokenToFile(); + var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0); + var fromSso = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); + } else if (!profile["sso_session"]) { + throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); + } + const ssoSessionName = profile["sso_session"]; + const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); + const ssoSession = ssoSessions[ssoSessionName]; + if (!ssoSession) { + throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false); + } + for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { + if (!ssoSession[ssoSessionRequiredKey]) { + throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false); + } + } + const ssoStartUrl = ssoSession["sso_start_url"]; + const ssoRegion = ssoSession["sso_region"]; + let ssoToken; + try { + ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName); + } catch (e) { + throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false); + } + (0, validateTokenKey_1.validateTokenKey)("accessToken", ssoToken.accessToken); + (0, validateTokenKey_1.validateTokenKey)("expiresAt", ssoToken.expiresAt); + const { accessToken, expiresAt } = ssoToken; + const existingToken = { token: accessToken, expiration: new Date(expiresAt) }; + if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) { + return existingToken; + } + if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1e3) { + (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); + return existingToken; + } + (0, validateTokenKey_1.validateTokenKey)("clientId", ssoToken.clientId, true); + (0, validateTokenKey_1.validateTokenKey)("clientSecret", ssoToken.clientSecret, true); + (0, validateTokenKey_1.validateTokenKey)("refreshToken", ssoToken.refreshToken, true); + try { + lastRefreshAttemptTime.setTime(Date.now()); + const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion); + (0, validateTokenKey_1.validateTokenKey)("accessToken", newSsoOidcToken.accessToken); + (0, validateTokenKey_1.validateTokenKey)("expiresIn", newSsoOidcToken.expiresIn); + const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); + try { + await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, { + ...ssoToken, + accessToken: newSsoOidcToken.accessToken, + expiresAt: newTokenExpiration.toISOString(), + refreshToken: newSsoOidcToken.refreshToken + }); + } catch (error) { + } + return { + token: newSsoOidcToken.accessToken, + expiration: newTokenExpiration + }; + } catch (error) { + (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); + return existingToken; + } + }; + exports.fromSso = fromSso; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js +var require_fromStatic3 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromStatic = ({ token }) => async () => { + if (!token || !token.token) { + throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false); + } + return token; + }; + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js +var require_nodeProvider = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.nodeProvider = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromSso_1 = require_fromSso(); + var nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => { + throw new property_provider_1.TokenProviderError("Could not load token from any providers", false); + }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0); + exports.nodeProvider = nodeProvider; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js +var require_dist_cjs47 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_dist_node(), exports); + tslib_1.__exportStar(require_fromSso(), exports); + tslib_1.__exportStar(require_fromStatic3(), exports); + tslib_1.__exportStar(require_nodeProvider(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js +var require_resolveSSOCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSSOCredentials = void 0; + var client_sso_1 = require_dist_cjs46(); + var token_providers_1 = require_dist_cjs47(); + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; + var SHOULD_FAIL_CREDENTIAL_CHAIN = false; + var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile }) => { + let token; + const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; + if (ssoSession) { + try { + const _token = await (0, token_providers_1.fromSso)({ profile })(); + token = { + accessToken: _token.token, + expiresAt: new Date(_token.expiration).toISOString() + }; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + } else { + try { + token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl); + } catch (e) { + throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + } + if (new Date(token.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) { + throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + const { accessToken } = token; + const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion }); + let ssoResp; + try { + ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({ + accountId: ssoAccountId, + roleName: ssoRoleName, + accessToken + })); + } catch (e) { + throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp; + if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { + throw new property_provider_1.CredentialsProviderError("SSO returns an invalid temporary credential.", SHOULD_FAIL_CREDENTIAL_CHAIN); + } + return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) }; + }; + exports.resolveSSOCredentials = resolveSSOCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js +var require_validateSsoProfile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateSsoProfile = void 0; + var property_provider_1 = require_dist_cjs6(); + var validateSsoProfile = (profile) => { + const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; + if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { + throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")} +Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false); + } + return profile; + }; + exports.validateSsoProfile = validateSsoProfile; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js +var require_fromSSO = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSSO = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var isSsoProfile_1 = require_isSsoProfile(); + var resolveSSOCredentials_1 = require_resolveSSOCredentials(); + var validateSsoProfile_1 = require_validateSsoProfile(); + var fromSSO = (init = {}) => async () => { + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init; + const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`); + } + if (!(0, isSsoProfile_1.isSsoProfile)(profile)) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`); + } + if (profile === null || profile === void 0 ? void 0 : profile.sso_session) { + const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); + const session = ssoSessions[profile.sso_session]; + const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; + if (ssoRegion && ssoRegion !== session.sso_region) { + throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false); + } + if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { + throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false); + } + profile.sso_region = session.sso_region; + profile.sso_start_url = session.sso_start_url; + } + const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile); + return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ + ssoStartUrl: sso_start_url, + ssoSession: sso_session, + ssoAccountId: sso_account_id, + ssoRegion: sso_region, + ssoRoleName: sso_role_name, + ssoClient, + profile: profileName + }); + } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { + throw new property_provider_1.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"'); + } else { + return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ + ssoStartUrl, + ssoSession, + ssoAccountId, + ssoRegion, + ssoRoleName, + ssoClient, + profile: profileName + }); + } + }; + exports.fromSSO = fromSSO; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js +var require_types7 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +var require_dist_cjs48 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromSSO(), exports); + tslib_1.__exportStar(require_isSsoProfile(), exports); + tslib_1.__exportStar(require_types7(), exports); + tslib_1.__exportStar(require_validateSsoProfile(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js +var require_resolveSsoCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSsoCredentials = exports.isSsoProfile = void 0; + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); + Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { + return credential_provider_sso_2.isSsoProfile; + } }); + var resolveSsoCredentials = (data) => { + const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data); + return (0, credential_provider_sso_1.fromSSO)({ + ssoStartUrl: sso_start_url, + ssoAccountId: sso_account_id, + ssoSession: sso_session, + ssoRegion: sso_region, + ssoRoleName: sso_role_name + })(); + }; + exports.resolveSsoCredentials = resolveSsoCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js +var require_resolveStaticCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0; + var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1; + exports.isStaticCredsProfile = isStaticCredsProfile; + var resolveStaticCredentials = (profile) => Promise.resolve({ + accessKeyId: profile.aws_access_key_id, + secretAccessKey: profile.aws_secret_access_key, + sessionToken: profile.aws_session_token + }); + exports.resolveStaticCredentials = resolveStaticCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +var require_fromWebToken = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromWebToken = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromWebToken = (init) => () => { + const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity } = init; + if (!roleAssumerWithWebIdentity) { + throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity, but no role assumption callback was provided.`, false); + } + return roleAssumerWithWebIdentity({ + RoleArn: roleArn, + RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`, + WebIdentityToken: webIdentityToken, + ProviderId: providerId, + PolicyArns: policyArns, + Policy: policy, + DurationSeconds: durationSeconds + }); + }; + exports.fromWebToken = fromWebToken; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +var require_fromTokenFile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromTokenFile = void 0; + var property_provider_1 = require_dist_cjs6(); + var fs_1 = require("fs"); + var fromWebToken_1 = require_fromWebToken(); + var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; + var ENV_ROLE_ARN = "AWS_ROLE_ARN"; + var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; + var fromTokenFile = (init = {}) => async () => { + var _a, _b, _c; + const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE]; + const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN]; + const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME]; + if (!webIdentityTokenFile || !roleArn) { + throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified"); + } + return (0, fromWebToken_1.fromWebToken)({ + ...init, + webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }), + roleArn, + roleSessionName + })(); + }; + exports.fromTokenFile = fromTokenFile; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +var require_dist_cjs49 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromTokenFile(), exports); + tslib_1.__exportStar(require_fromWebToken(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js +var require_resolveWebIdentityCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; + var credential_provider_web_identity_1 = require_dist_cjs49(); + var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; + exports.isWebIdentityProfile = isWebIdentityProfile; + var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ + webIdentityTokenFile: profile.web_identity_token_file, + roleArn: profile.role_arn, + roleSessionName: profile.role_session_name, + roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity + })(); + exports.resolveWebIdentityCredentials = resolveWebIdentityCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js +var require_resolveProfileData = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProfileData = void 0; + var property_provider_1 = require_dist_cjs6(); + var resolveAssumeRoleCredentials_1 = require_resolveAssumeRoleCredentials(); + var resolveProcessCredentials_1 = require_resolveProcessCredentials2(); + var resolveSsoCredentials_1 = require_resolveSsoCredentials(); + var resolveStaticCredentials_1 = require_resolveStaticCredentials(); + var resolveWebIdentityCredentials_1 = require_resolveWebIdentityCredentials(); + var resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => { + const data = profiles[profileName]; + if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { + return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); + } + if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) { + return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles); + } + if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { + return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); + } + if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) { + return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options); + } + if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) { + return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName); + } + if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) { + return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data); + } + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`); + }; + exports.resolveProfileData = resolveProfileData; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js +var require_fromIni = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromIni = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveProfileData_1 = require_resolveProfileData(); + var fromIni = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init); + }; + exports.fromIni = fromIni; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +var require_dist_cjs50 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromIni(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js +var require_remoteProvider = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.remoteProvider = exports.ENV_IMDS_DISABLED = void 0; + var credential_provider_imds_1 = require_dist_cjs40(); + var property_provider_1 = require_dist_cjs6(); + exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + var remoteProvider = (init) => { + if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) { + return (0, credential_provider_imds_1.fromContainerMetadata)(init); + } + if (process.env[exports.ENV_IMDS_DISABLED]) { + return async () => { + throw new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"); + }; + } + return (0, credential_provider_imds_1.fromInstanceMetadata)(init); + }; + exports.remoteProvider = remoteProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js +var require_defaultProvider = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultProvider = void 0; + var credential_provider_env_1 = require_dist_cjs37(); + var credential_provider_ini_1 = require_dist_cjs50(); + var credential_provider_process_1 = require_dist_cjs41(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var remoteProvider_1 = require_remoteProvider(); + var defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()], (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => { + throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false); + }), (credentials) => credentials.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, (credentials) => credentials.expiration !== void 0); + exports.defaultProvider = defaultProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +var require_dist_cjs51 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_defaultProvider(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js +var require_ruleset2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var F = "required"; + var G = "type"; + var H = "fn"; + var I = "argv"; + var J = "ref"; + var a = false; + var b = true; + var c = "booleanEquals"; + var d = "tree"; + var e = "stringEquals"; + var f = "sigv4"; + var g = "sts"; + var h = "us-east-1"; + var i = "endpoint"; + var j = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; + var k = "error"; + var l = "getAttr"; + var m = { [F]: false, [G]: "String" }; + var n = { [F]: true, "default": false, [G]: "Boolean" }; + var o = { [J]: "Endpoint" }; + var p = { [H]: "isSet", [I]: [{ [J]: "Region" }] }; + var q = { [J]: "Region" }; + var r = { [H]: "aws.partition", [I]: [q], "assign": "PartitionResult" }; + var s = { [J]: "UseFIPS" }; + var t = { [J]: "UseDualStack" }; + var u = { "url": "https://sts.amazonaws.com", "properties": { "authSchemes": [{ "name": f, "signingName": g, "signingRegion": h }] }, "headers": {} }; + var v = {}; + var w = { "conditions": [{ [H]: e, [I]: [q, "aws-global"] }], [i]: u, [G]: i }; + var x = { [H]: c, [I]: [s, true] }; + var y = { [H]: c, [I]: [t, true] }; + var z = { [H]: c, [I]: [true, { [H]: l, [I]: [{ [J]: "PartitionResult" }, "supportsFIPS"] }] }; + var A = { [J]: "PartitionResult" }; + var B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, "supportsDualStack"] }] }; + var C = [{ [H]: "isSet", [I]: [o] }]; + var D = [x]; + var E = [y]; + var _data = { version: "1.0", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: "UseGlobalEndpoint" }, b] }, { [H]: "not", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], [G]: d, rules: [{ conditions: [{ [H]: e, [I]: [q, "ap-northeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-south-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-2"] }], endpoint: u, [G]: i }, w, { conditions: [{ [H]: e, [I]: [q, "ca-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-north-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-3"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "sa-east-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, h] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-east-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-2"] }], endpoint: u, [G]: i }, { endpoint: { url: j, properties: { authSchemes: [{ name: f, signingName: g, signingRegion: "{Region}" }] }, headers: v }, [G]: i }] }, { conditions: C, [G]: d, rules: [{ conditions: D, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G]: k }, { [G]: d, rules: [{ conditions: E, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: i }] }] }, { [G]: d, rules: [{ conditions: [p], [G]: d, rules: [{ conditions: [r], [G]: d, rules: [{ conditions: [x, y], [G]: d, rules: [{ conditions: [z, B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G]: k }] }, { conditions: D, [G]: d, rules: [{ conditions: [z], [G]: d, rules: [{ [G]: d, rules: [{ conditions: [{ [H]: e, [I]: ["aws-us-gov", { [H]: l, [I]: [A, "name"] }] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v, headers: v }, [G]: i }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", [G]: k }] }, { conditions: E, [G]: d, rules: [{ conditions: [B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", [G]: k }] }, { [G]: d, rules: [w, { endpoint: { url: j, properties: v, headers: v }, [G]: i }] }] }] }, { error: "Invalid Configuration: Missing Region", [G]: k }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset2(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver2(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2011-06-15", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "STS", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +var require_runtimeConfig2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package2()); + var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); + var credential_provider_node_1 = require_dist_cjs51(); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js +var require_STSClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_sdk_sts_1 = require_dist_cjs36(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters2(); + var runtimeConfig_1 = require_runtimeConfig2(); + var STSClient = class _STSClient extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: _STSClient }); + const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); + super(_config_7); + this.config = _config_7; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.STSClient = STSClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js +var require_AssumeRoleWithSAMLCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleWithSAMLCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleWithSAMLCommand = class _AssumeRoleWithSAMLCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithSAMLCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleWithSAMLCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleWithSAMLCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleWithSAMLCommand)(output, context); + } + }; + exports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js +var require_DecodeAuthorizationMessageCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DecodeAuthorizationMessageCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var DecodeAuthorizationMessageCommand = class _DecodeAuthorizationMessageCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DecodeAuthorizationMessageCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "DecodeAuthorizationMessageCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_DecodeAuthorizationMessageCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_DecodeAuthorizationMessageCommand)(output, context); + } + }; + exports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js +var require_GetAccessKeyInfoCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetAccessKeyInfoCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var GetAccessKeyInfoCommand = class _GetAccessKeyInfoCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetAccessKeyInfoCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetAccessKeyInfoCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetAccessKeyInfoCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetAccessKeyInfoCommand)(output, context); + } + }; + exports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js +var require_GetCallerIdentityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetCallerIdentityCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var GetCallerIdentityCommand = class _GetCallerIdentityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetCallerIdentityCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetCallerIdentityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetCallerIdentityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetCallerIdentityCommand)(output, context); + } + }; + exports.GetCallerIdentityCommand = GetCallerIdentityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js +var require_GetFederationTokenCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetFederationTokenCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var GetFederationTokenCommand = class _GetFederationTokenCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetFederationTokenCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetFederationTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetFederationTokenCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetFederationTokenCommand)(output, context); + } + }; + exports.GetFederationTokenCommand = GetFederationTokenCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js +var require_GetSessionTokenCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetSessionTokenCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var GetSessionTokenCommand = class _GetSessionTokenCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetSessionTokenCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetSessionTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetSessionTokenCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetSessionTokenCommand)(output, context); + } + }; + exports.GetSessionTokenCommand = GetSessionTokenCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js +var require_STS = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STS = void 0; + var smithy_client_1 = require_dist_cjs35(); + var AssumeRoleCommand_1 = require_AssumeRoleCommand(); + var AssumeRoleWithSAMLCommand_1 = require_AssumeRoleWithSAMLCommand(); + var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); + var DecodeAuthorizationMessageCommand_1 = require_DecodeAuthorizationMessageCommand(); + var GetAccessKeyInfoCommand_1 = require_GetAccessKeyInfoCommand(); + var GetCallerIdentityCommand_1 = require_GetCallerIdentityCommand(); + var GetFederationTokenCommand_1 = require_GetFederationTokenCommand(); + var GetSessionTokenCommand_1 = require_GetSessionTokenCommand(); + var STSClient_1 = require_STSClient(); + var commands = { + AssumeRoleCommand: AssumeRoleCommand_1.AssumeRoleCommand, + AssumeRoleWithSAMLCommand: AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand, + AssumeRoleWithWebIdentityCommand: AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand, + DecodeAuthorizationMessageCommand: DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand, + GetAccessKeyInfoCommand: GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand, + GetCallerIdentityCommand: GetCallerIdentityCommand_1.GetCallerIdentityCommand, + GetFederationTokenCommand: GetFederationTokenCommand_1.GetFederationTokenCommand, + GetSessionTokenCommand: GetSessionTokenCommand_1.GetSessionTokenCommand + }; + var STS = class extends STSClient_1.STSClient { + }; + exports.STS = STS; + (0, smithy_client_1.createAggregatedClient)(commands, STS); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js +var require_commands2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AssumeRoleCommand(), exports); + tslib_1.__exportStar(require_AssumeRoleWithSAMLCommand(), exports); + tslib_1.__exportStar(require_AssumeRoleWithWebIdentityCommand(), exports); + tslib_1.__exportStar(require_DecodeAuthorizationMessageCommand(), exports); + tslib_1.__exportStar(require_GetAccessKeyInfoCommand(), exports); + tslib_1.__exportStar(require_GetCallerIdentityCommand(), exports); + tslib_1.__exportStar(require_GetFederationTokenCommand(), exports); + tslib_1.__exportStar(require_GetSessionTokenCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js +var require_models2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_0(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js +var require_defaultRoleAssumers = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; + var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); + var STSClient_1 = require_STSClient(); + var getCustomizableStsClientCtor = (baseCtor, customizations) => { + if (!customizations) + return baseCtor; + else + return class CustomizableSTSClient extends baseCtor { + constructor(config) { + super(config); + for (const customization of customizations) { + this.middlewareStack.use(customization); + } + } + }; + }; + var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); + exports.getDefaultRoleAssumer = getDefaultRoleAssumer; + var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); + exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; + var decorateDefaultCredentialProvider = (provider) => (input) => provider({ + roleAssumer: (0, exports.getDefaultRoleAssumer)(input), + roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input), + ...input + }); + exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js +var require_dist_cjs52 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_STSClient(), exports); + tslib_1.__exportStar(require_STS(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); + tslib_1.__exportStar(require_defaultRoleAssumers(), exports); + var STSServiceException_1 = require_STSServiceException(); + Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { + return STSServiceException_1.STSServiceException; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js +var require_ruleset3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var r = "required"; + var s = "fn"; + var t = "argv"; + var u = "ref"; + var a = "isSet"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = "PartitionResult"; + var f = { [r]: false, "type": "String" }; + var g = { [r]: true, "default": false, "type": "Boolean" }; + var h = { [u]: "Endpoint" }; + var i = { [s]: "booleanEquals", [t]: [{ [u]: "UseFIPS" }, true] }; + var j = { [s]: "booleanEquals", [t]: [{ [u]: "UseDualStack" }, true] }; + var k = {}; + var l = { [u]: "Region" }; + var m = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsFIPS"] }] }; + var n = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsDualStack"] }] }; + var o = [i]; + var p = [j]; + var q = [l]; + var _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [s]: a, [t]: [h] }], type: b, rules: [{ conditions: o, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: p, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [s]: a, [t]: q }], type: b, rules: [{ conditions: [{ [s]: "aws.partition", [t]: q, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [m, n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ type: b, rules: [{ conditions: [{ [s]: "stringEquals", [t]: [l, "us-gov-west-1"] }], endpoint: { url: "https://states.us-gov-west-1.amazonaws.com", properties: k, headers: k }, type: d }, { endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset3(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver3(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2016-11-23", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SFN", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js +var require_runtimeConfig3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package()); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js +var require_SFNClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_signing_1 = require_dist_cjs16(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters(); + var runtimeConfig_1 = require_runtimeConfig3(); + var SFNClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5); + const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); + super(_config_7); + this.config = _config_7; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SFNClient = SFNClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js +var require_SFNServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var SFNServiceException = class _SFNServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SFNServiceException.prototype); + } + }; + exports.SFNServiceException = SFNServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js +var require_models_03 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ExecutionStartedEventDetailsFilterSensitiveLog = exports.ExecutionFailedEventDetailsFilterSensitiveLog = exports.ExecutionAbortedEventDetailsFilterSensitiveLog = exports.GetActivityTaskOutputFilterSensitiveLog = exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = exports.DescribeStateMachineAliasOutputFilterSensitiveLog = exports.DescribeStateMachineOutputFilterSensitiveLog = exports.DescribeExecutionOutputFilterSensitiveLog = exports.CreateStateMachineAliasInputFilterSensitiveLog = exports.CreateStateMachineInputFilterSensitiveLog = exports.ActivityTimedOutEventDetailsFilterSensitiveLog = exports.ActivitySucceededEventDetailsFilterSensitiveLog = exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = exports.ActivityScheduledEventDetailsFilterSensitiveLog = exports.ActivityFailedEventDetailsFilterSensitiveLog = exports.MissingRequiredParameter = exports.SyncExecutionStatus = exports.InvalidExecutionInput = exports.ExecutionLimitExceeded = exports.ExecutionAlreadyExists = exports.InvalidOutput = exports.TaskTimedOut = exports.TaskDoesNotExist = exports.InvalidToken = exports.HistoryEventType = exports.StateMachineDoesNotExist = exports.StateMachineStatus = exports.MapRunStatus = exports.ExecutionDoesNotExist = exports.ExecutionStatus = exports.ServiceQuotaExceededException = exports.ResourceNotFound = exports.ValidationException = exports.ValidationExceptionReason = exports.StateMachineTypeNotSupported = exports.StateMachineLimitExceeded = exports.StateMachineDeleting = exports.StateMachineAlreadyExists = exports.InvalidTracingConfiguration = exports.InvalidLoggingConfiguration = exports.InvalidDefinition = exports.InvalidArn = exports.StateMachineType = exports.LogLevel = exports.ConflictException = exports.TooManyTags = exports.InvalidName = exports.ActivityWorkerLimitExceeded = exports.ActivityLimitExceeded = exports.ActivityDoesNotExist = void 0; + exports.UpdateStateMachineAliasInputFilterSensitiveLog = exports.UpdateStateMachineInputFilterSensitiveLog = exports.StopExecutionInputFilterSensitiveLog = exports.StartSyncExecutionOutputFilterSensitiveLog = exports.StartSyncExecutionInputFilterSensitiveLog = exports.StartExecutionInputFilterSensitiveLog = exports.SendTaskSuccessInputFilterSensitiveLog = exports.SendTaskFailureInputFilterSensitiveLog = exports.PublishStateMachineVersionInputFilterSensitiveLog = exports.GetExecutionHistoryOutputFilterSensitiveLog = exports.HistoryEventFilterSensitiveLog = exports.TaskTimedOutEventDetailsFilterSensitiveLog = exports.TaskSucceededEventDetailsFilterSensitiveLog = exports.TaskSubmittedEventDetailsFilterSensitiveLog = exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = exports.TaskStartFailedEventDetailsFilterSensitiveLog = exports.TaskScheduledEventDetailsFilterSensitiveLog = exports.TaskFailedEventDetailsFilterSensitiveLog = exports.StateExitedEventDetailsFilterSensitiveLog = exports.StateEnteredEventDetailsFilterSensitiveLog = exports.MapRunFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = exports.ExecutionSucceededEventDetailsFilterSensitiveLog = void 0; + var smithy_client_1 = require_dist_cjs35(); + var SFNServiceException_1 = require_SFNServiceException(); + var ActivityDoesNotExist = class _ActivityDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ActivityDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityDoesNotExist.prototype); + } + }; + exports.ActivityDoesNotExist = ActivityDoesNotExist; + var ActivityLimitExceeded = class _ActivityLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityLimitExceeded.prototype); + } + }; + exports.ActivityLimitExceeded = ActivityLimitExceeded; + var ActivityWorkerLimitExceeded = class _ActivityWorkerLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityWorkerLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityWorkerLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityWorkerLimitExceeded.prototype); + } + }; + exports.ActivityWorkerLimitExceeded = ActivityWorkerLimitExceeded; + var InvalidName = class _InvalidName extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidName", + $fault: "client", + ...opts + }); + this.name = "InvalidName"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidName.prototype); + } + }; + exports.InvalidName = InvalidName; + var TooManyTags = class _TooManyTags extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TooManyTags", + $fault: "client", + ...opts + }); + this.name = "TooManyTags"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyTags.prototype); + this.resourceName = opts.resourceName; + } + }; + exports.TooManyTags = TooManyTags; + var ConflictException = class _ConflictException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ConflictException", + $fault: "client", + ...opts + }); + this.name = "ConflictException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ConflictException.prototype); + } + }; + exports.ConflictException = ConflictException; + exports.LogLevel = { + ALL: "ALL", + ERROR: "ERROR", + FATAL: "FATAL", + OFF: "OFF" + }; + exports.StateMachineType = { + EXPRESS: "EXPRESS", + STANDARD: "STANDARD" + }; + var InvalidArn = class _InvalidArn extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidArn", + $fault: "client", + ...opts + }); + this.name = "InvalidArn"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidArn.prototype); + } + }; + exports.InvalidArn = InvalidArn; + var InvalidDefinition = class _InvalidDefinition extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidDefinition", + $fault: "client", + ...opts + }); + this.name = "InvalidDefinition"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidDefinition.prototype); + } + }; + exports.InvalidDefinition = InvalidDefinition; + var InvalidLoggingConfiguration = class _InvalidLoggingConfiguration extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidLoggingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidLoggingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidLoggingConfiguration.prototype); + } + }; + exports.InvalidLoggingConfiguration = InvalidLoggingConfiguration; + var InvalidTracingConfiguration = class _InvalidTracingConfiguration extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidTracingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidTracingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidTracingConfiguration.prototype); + } + }; + exports.InvalidTracingConfiguration = InvalidTracingConfiguration; + var StateMachineAlreadyExists = class _StateMachineAlreadyExists extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "StateMachineAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineAlreadyExists.prototype); + } + }; + exports.StateMachineAlreadyExists = StateMachineAlreadyExists; + var StateMachineDeleting = class _StateMachineDeleting extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineDeleting", + $fault: "client", + ...opts + }); + this.name = "StateMachineDeleting"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDeleting.prototype); + } + }; + exports.StateMachineDeleting = StateMachineDeleting; + var StateMachineLimitExceeded = class _StateMachineLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "StateMachineLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineLimitExceeded.prototype); + } + }; + exports.StateMachineLimitExceeded = StateMachineLimitExceeded; + var StateMachineTypeNotSupported = class _StateMachineTypeNotSupported extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineTypeNotSupported", + $fault: "client", + ...opts + }); + this.name = "StateMachineTypeNotSupported"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineTypeNotSupported.prototype); + } + }; + exports.StateMachineTypeNotSupported = StateMachineTypeNotSupported; + exports.ValidationExceptionReason = { + API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", + CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", + INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", + MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER" + }; + var ValidationException = class _ValidationException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ValidationException", + $fault: "client", + ...opts + }); + this.name = "ValidationException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ValidationException.prototype); + this.reason = opts.reason; + } + }; + exports.ValidationException = ValidationException; + var ResourceNotFound = class _ResourceNotFound extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ResourceNotFound", + $fault: "client", + ...opts + }); + this.name = "ResourceNotFound"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFound.prototype); + this.resourceName = opts.resourceName; + } + }; + exports.ResourceNotFound = ResourceNotFound; + var ServiceQuotaExceededException = class _ServiceQuotaExceededException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts + }); + this.name = "ServiceQuotaExceededException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ServiceQuotaExceededException.prototype); + } + }; + exports.ServiceQuotaExceededException = ServiceQuotaExceededException; + exports.ExecutionStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" + }; + var ExecutionDoesNotExist = class _ExecutionDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ExecutionDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionDoesNotExist.prototype); + } + }; + exports.ExecutionDoesNotExist = ExecutionDoesNotExist; + exports.MapRunStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED" + }; + exports.StateMachineStatus = { + ACTIVE: "ACTIVE", + DELETING: "DELETING" + }; + var StateMachineDoesNotExist = class _StateMachineDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "StateMachineDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDoesNotExist.prototype); + } + }; + exports.StateMachineDoesNotExist = StateMachineDoesNotExist; + exports.HistoryEventType = { + ActivityFailed: "ActivityFailed", + ActivityScheduleFailed: "ActivityScheduleFailed", + ActivityScheduled: "ActivityScheduled", + ActivityStarted: "ActivityStarted", + ActivitySucceeded: "ActivitySucceeded", + ActivityTimedOut: "ActivityTimedOut", + ChoiceStateEntered: "ChoiceStateEntered", + ChoiceStateExited: "ChoiceStateExited", + ExecutionAborted: "ExecutionAborted", + ExecutionFailed: "ExecutionFailed", + ExecutionStarted: "ExecutionStarted", + ExecutionSucceeded: "ExecutionSucceeded", + ExecutionTimedOut: "ExecutionTimedOut", + FailStateEntered: "FailStateEntered", + LambdaFunctionFailed: "LambdaFunctionFailed", + LambdaFunctionScheduleFailed: "LambdaFunctionScheduleFailed", + LambdaFunctionScheduled: "LambdaFunctionScheduled", + LambdaFunctionStartFailed: "LambdaFunctionStartFailed", + LambdaFunctionStarted: "LambdaFunctionStarted", + LambdaFunctionSucceeded: "LambdaFunctionSucceeded", + LambdaFunctionTimedOut: "LambdaFunctionTimedOut", + MapIterationAborted: "MapIterationAborted", + MapIterationFailed: "MapIterationFailed", + MapIterationStarted: "MapIterationStarted", + MapIterationSucceeded: "MapIterationSucceeded", + MapRunAborted: "MapRunAborted", + MapRunFailed: "MapRunFailed", + MapRunStarted: "MapRunStarted", + MapRunSucceeded: "MapRunSucceeded", + MapStateAborted: "MapStateAborted", + MapStateEntered: "MapStateEntered", + MapStateExited: "MapStateExited", + MapStateFailed: "MapStateFailed", + MapStateStarted: "MapStateStarted", + MapStateSucceeded: "MapStateSucceeded", + ParallelStateAborted: "ParallelStateAborted", + ParallelStateEntered: "ParallelStateEntered", + ParallelStateExited: "ParallelStateExited", + ParallelStateFailed: "ParallelStateFailed", + ParallelStateStarted: "ParallelStateStarted", + ParallelStateSucceeded: "ParallelStateSucceeded", + PassStateEntered: "PassStateEntered", + PassStateExited: "PassStateExited", + SucceedStateEntered: "SucceedStateEntered", + SucceedStateExited: "SucceedStateExited", + TaskFailed: "TaskFailed", + TaskScheduled: "TaskScheduled", + TaskStartFailed: "TaskStartFailed", + TaskStarted: "TaskStarted", + TaskStateAborted: "TaskStateAborted", + TaskStateEntered: "TaskStateEntered", + TaskStateExited: "TaskStateExited", + TaskSubmitFailed: "TaskSubmitFailed", + TaskSubmitted: "TaskSubmitted", + TaskSucceeded: "TaskSucceeded", + TaskTimedOut: "TaskTimedOut", + WaitStateAborted: "WaitStateAborted", + WaitStateEntered: "WaitStateEntered", + WaitStateExited: "WaitStateExited" + }; + var InvalidToken = class _InvalidToken extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidToken", + $fault: "client", + ...opts + }); + this.name = "InvalidToken"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidToken.prototype); + } + }; + exports.InvalidToken = InvalidToken; + var TaskDoesNotExist = class _TaskDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TaskDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "TaskDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskDoesNotExist.prototype); + } + }; + exports.TaskDoesNotExist = TaskDoesNotExist; + var TaskTimedOut = class _TaskTimedOut extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TaskTimedOut", + $fault: "client", + ...opts + }); + this.name = "TaskTimedOut"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskTimedOut.prototype); + } + }; + exports.TaskTimedOut = TaskTimedOut; + var InvalidOutput = class _InvalidOutput extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidOutput", + $fault: "client", + ...opts + }); + this.name = "InvalidOutput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidOutput.prototype); + } + }; + exports.InvalidOutput = InvalidOutput; + var ExecutionAlreadyExists = class _ExecutionAlreadyExists extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "ExecutionAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionAlreadyExists.prototype); + } + }; + exports.ExecutionAlreadyExists = ExecutionAlreadyExists; + var ExecutionLimitExceeded = class _ExecutionLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ExecutionLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionLimitExceeded.prototype); + } + }; + exports.ExecutionLimitExceeded = ExecutionLimitExceeded; + var InvalidExecutionInput = class _InvalidExecutionInput extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidExecutionInput", + $fault: "client", + ...opts + }); + this.name = "InvalidExecutionInput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidExecutionInput.prototype); + } + }; + exports.InvalidExecutionInput = InvalidExecutionInput; + exports.SyncExecutionStatus = { + FAILED: "FAILED", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" + }; + var MissingRequiredParameter = class _MissingRequiredParameter extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "MissingRequiredParameter", + $fault: "client", + ...opts + }); + this.name = "MissingRequiredParameter"; + this.$fault = "client"; + Object.setPrototypeOf(this, _MissingRequiredParameter.prototype); + } + }; + exports.MissingRequiredParameter = MissingRequiredParameter; + var ActivityFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityFailedEventDetailsFilterSensitiveLog = ActivityFailedEventDetailsFilterSensitiveLog; + var ActivityScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityScheduledEventDetailsFilterSensitiveLog = ActivityScheduledEventDetailsFilterSensitiveLog; + var ActivityScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = ActivityScheduleFailedEventDetailsFilterSensitiveLog; + var ActivitySucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivitySucceededEventDetailsFilterSensitiveLog = ActivitySucceededEventDetailsFilterSensitiveLog; + var ActivityTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityTimedOutEventDetailsFilterSensitiveLog = ActivityTimedOutEventDetailsFilterSensitiveLog; + var CreateStateMachineInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } + }); + exports.CreateStateMachineInputFilterSensitiveLog = CreateStateMachineInputFilterSensitiveLog; + var CreateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.CreateStateMachineAliasInputFilterSensitiveLog = CreateStateMachineAliasInputFilterSensitiveLog; + var DescribeExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING }, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeExecutionOutputFilterSensitiveLog = DescribeExecutionOutputFilterSensitiveLog; + var DescribeStateMachineOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineOutputFilterSensitiveLog = DescribeStateMachineOutputFilterSensitiveLog; + var DescribeStateMachineAliasOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineAliasOutputFilterSensitiveLog = DescribeStateMachineAliasOutputFilterSensitiveLog; + var DescribeStateMachineForExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = DescribeStateMachineForExecutionOutputFilterSensitiveLog; + var GetActivityTaskOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.GetActivityTaskOutputFilterSensitiveLog = GetActivityTaskOutputFilterSensitiveLog; + var ExecutionAbortedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionAbortedEventDetailsFilterSensitiveLog = ExecutionAbortedEventDetailsFilterSensitiveLog; + var ExecutionFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionFailedEventDetailsFilterSensitiveLog = ExecutionFailedEventDetailsFilterSensitiveLog; + var ExecutionStartedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionStartedEventDetailsFilterSensitiveLog = ExecutionStartedEventDetailsFilterSensitiveLog; + var ExecutionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionSucceededEventDetailsFilterSensitiveLog = ExecutionSucceededEventDetailsFilterSensitiveLog; + var ExecutionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = ExecutionTimedOutEventDetailsFilterSensitiveLog; + var LambdaFunctionFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = LambdaFunctionFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = LambdaFunctionScheduledEventDetailsFilterSensitiveLog; + var LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = LambdaFunctionStartFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = LambdaFunctionSucceededEventDetailsFilterSensitiveLog; + var LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = LambdaFunctionTimedOutEventDetailsFilterSensitiveLog; + var MapRunFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.MapRunFailedEventDetailsFilterSensitiveLog = MapRunFailedEventDetailsFilterSensitiveLog; + var StateEnteredEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StateEnteredEventDetailsFilterSensitiveLog = StateEnteredEventDetailsFilterSensitiveLog; + var StateExitedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.StateExitedEventDetailsFilterSensitiveLog = StateExitedEventDetailsFilterSensitiveLog; + var TaskFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskFailedEventDetailsFilterSensitiveLog = TaskFailedEventDetailsFilterSensitiveLog; + var TaskScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.parameters && { parameters: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskScheduledEventDetailsFilterSensitiveLog = TaskScheduledEventDetailsFilterSensitiveLog; + var TaskStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskStartFailedEventDetailsFilterSensitiveLog = TaskStartFailedEventDetailsFilterSensitiveLog; + var TaskSubmitFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = TaskSubmitFailedEventDetailsFilterSensitiveLog; + var TaskSubmittedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSubmittedEventDetailsFilterSensitiveLog = TaskSubmittedEventDetailsFilterSensitiveLog; + var TaskSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSucceededEventDetailsFilterSensitiveLog = TaskSucceededEventDetailsFilterSensitiveLog; + var TaskTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskTimedOutEventDetailsFilterSensitiveLog = TaskTimedOutEventDetailsFilterSensitiveLog; + var HistoryEventFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.activityFailedEventDetails && { + activityFailedEventDetails: (0, exports.ActivityFailedEventDetailsFilterSensitiveLog)(obj.activityFailedEventDetails) + }, + ...obj.activityScheduleFailedEventDetails && { + activityScheduleFailedEventDetails: (0, exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog)(obj.activityScheduleFailedEventDetails) + }, + ...obj.activityScheduledEventDetails && { + activityScheduledEventDetails: (0, exports.ActivityScheduledEventDetailsFilterSensitiveLog)(obj.activityScheduledEventDetails) + }, + ...obj.activitySucceededEventDetails && { + activitySucceededEventDetails: (0, exports.ActivitySucceededEventDetailsFilterSensitiveLog)(obj.activitySucceededEventDetails) + }, + ...obj.activityTimedOutEventDetails && { + activityTimedOutEventDetails: (0, exports.ActivityTimedOutEventDetailsFilterSensitiveLog)(obj.activityTimedOutEventDetails) + }, + ...obj.taskFailedEventDetails && { + taskFailedEventDetails: (0, exports.TaskFailedEventDetailsFilterSensitiveLog)(obj.taskFailedEventDetails) + }, + ...obj.taskScheduledEventDetails && { + taskScheduledEventDetails: (0, exports.TaskScheduledEventDetailsFilterSensitiveLog)(obj.taskScheduledEventDetails) + }, + ...obj.taskStartFailedEventDetails && { + taskStartFailedEventDetails: (0, exports.TaskStartFailedEventDetailsFilterSensitiveLog)(obj.taskStartFailedEventDetails) + }, + ...obj.taskSubmitFailedEventDetails && { + taskSubmitFailedEventDetails: (0, exports.TaskSubmitFailedEventDetailsFilterSensitiveLog)(obj.taskSubmitFailedEventDetails) + }, + ...obj.taskSubmittedEventDetails && { + taskSubmittedEventDetails: (0, exports.TaskSubmittedEventDetailsFilterSensitiveLog)(obj.taskSubmittedEventDetails) + }, + ...obj.taskSucceededEventDetails && { + taskSucceededEventDetails: (0, exports.TaskSucceededEventDetailsFilterSensitiveLog)(obj.taskSucceededEventDetails) + }, + ...obj.taskTimedOutEventDetails && { + taskTimedOutEventDetails: (0, exports.TaskTimedOutEventDetailsFilterSensitiveLog)(obj.taskTimedOutEventDetails) + }, + ...obj.executionFailedEventDetails && { + executionFailedEventDetails: (0, exports.ExecutionFailedEventDetailsFilterSensitiveLog)(obj.executionFailedEventDetails) + }, + ...obj.executionStartedEventDetails && { + executionStartedEventDetails: (0, exports.ExecutionStartedEventDetailsFilterSensitiveLog)(obj.executionStartedEventDetails) + }, + ...obj.executionSucceededEventDetails && { + executionSucceededEventDetails: (0, exports.ExecutionSucceededEventDetailsFilterSensitiveLog)(obj.executionSucceededEventDetails) + }, + ...obj.executionAbortedEventDetails && { + executionAbortedEventDetails: (0, exports.ExecutionAbortedEventDetailsFilterSensitiveLog)(obj.executionAbortedEventDetails) + }, + ...obj.executionTimedOutEventDetails && { + executionTimedOutEventDetails: (0, exports.ExecutionTimedOutEventDetailsFilterSensitiveLog)(obj.executionTimedOutEventDetails) + }, + ...obj.lambdaFunctionFailedEventDetails && { + lambdaFunctionFailedEventDetails: (0, exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionFailedEventDetails) + }, + ...obj.lambdaFunctionScheduleFailedEventDetails && { + lambdaFunctionScheduleFailedEventDetails: (0, exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduleFailedEventDetails) + }, + ...obj.lambdaFunctionScheduledEventDetails && { + lambdaFunctionScheduledEventDetails: (0, exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduledEventDetails) + }, + ...obj.lambdaFunctionStartFailedEventDetails && { + lambdaFunctionStartFailedEventDetails: (0, exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionStartFailedEventDetails) + }, + ...obj.lambdaFunctionSucceededEventDetails && { + lambdaFunctionSucceededEventDetails: (0, exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog)(obj.lambdaFunctionSucceededEventDetails) + }, + ...obj.lambdaFunctionTimedOutEventDetails && { + lambdaFunctionTimedOutEventDetails: (0, exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog)(obj.lambdaFunctionTimedOutEventDetails) + }, + ...obj.stateEnteredEventDetails && { + stateEnteredEventDetails: (0, exports.StateEnteredEventDetailsFilterSensitiveLog)(obj.stateEnteredEventDetails) + }, + ...obj.stateExitedEventDetails && { + stateExitedEventDetails: (0, exports.StateExitedEventDetailsFilterSensitiveLog)(obj.stateExitedEventDetails) + }, + ...obj.mapRunFailedEventDetails && { + mapRunFailedEventDetails: (0, exports.MapRunFailedEventDetailsFilterSensitiveLog)(obj.mapRunFailedEventDetails) + } + }); + exports.HistoryEventFilterSensitiveLog = HistoryEventFilterSensitiveLog; + var GetExecutionHistoryOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.events && { events: obj.events.map((item) => (0, exports.HistoryEventFilterSensitiveLog)(item)) } + }); + exports.GetExecutionHistoryOutputFilterSensitiveLog = GetExecutionHistoryOutputFilterSensitiveLog; + var PublishStateMachineVersionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.PublishStateMachineVersionInputFilterSensitiveLog = PublishStateMachineVersionInputFilterSensitiveLog; + var SendTaskFailureInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.SendTaskFailureInputFilterSensitiveLog = SendTaskFailureInputFilterSensitiveLog; + var SendTaskSuccessInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.SendTaskSuccessInputFilterSensitiveLog = SendTaskSuccessInputFilterSensitiveLog; + var StartExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartExecutionInputFilterSensitiveLog = StartExecutionInputFilterSensitiveLog; + var StartSyncExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartSyncExecutionInputFilterSensitiveLog = StartSyncExecutionInputFilterSensitiveLog; + var StartSyncExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING }, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartSyncExecutionOutputFilterSensitiveLog = StartSyncExecutionOutputFilterSensitiveLog; + var StopExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.StopExecutionInputFilterSensitiveLog = StopExecutionInputFilterSensitiveLog; + var UpdateStateMachineInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } + }); + exports.UpdateStateMachineInputFilterSensitiveLog = UpdateStateMachineInputFilterSensitiveLog; + var UpdateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.UpdateStateMachineAliasInputFilterSensitiveLog = UpdateStateMachineAliasInputFilterSensitiveLog; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js +var require_Aws_json1_0 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_ListActivitiesCommand = exports.de_GetExecutionHistoryCommand = exports.de_GetActivityTaskCommand = exports.de_DescribeStateMachineForExecutionCommand = exports.de_DescribeStateMachineAliasCommand = exports.de_DescribeStateMachineCommand = exports.de_DescribeMapRunCommand = exports.de_DescribeExecutionCommand = exports.de_DescribeActivityCommand = exports.de_DeleteStateMachineVersionCommand = exports.de_DeleteStateMachineAliasCommand = exports.de_DeleteStateMachineCommand = exports.de_DeleteActivityCommand = exports.de_CreateStateMachineAliasCommand = exports.de_CreateStateMachineCommand = exports.de_CreateActivityCommand = exports.se_UpdateStateMachineAliasCommand = exports.se_UpdateStateMachineCommand = exports.se_UpdateMapRunCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_StopExecutionCommand = exports.se_StartSyncExecutionCommand = exports.se_StartExecutionCommand = exports.se_SendTaskSuccessCommand = exports.se_SendTaskHeartbeatCommand = exports.se_SendTaskFailureCommand = exports.se_PublishStateMachineVersionCommand = exports.se_ListTagsForResourceCommand = exports.se_ListStateMachineVersionsCommand = exports.se_ListStateMachinesCommand = exports.se_ListStateMachineAliasesCommand = exports.se_ListMapRunsCommand = exports.se_ListExecutionsCommand = exports.se_ListActivitiesCommand = exports.se_GetExecutionHistoryCommand = exports.se_GetActivityTaskCommand = exports.se_DescribeStateMachineForExecutionCommand = exports.se_DescribeStateMachineAliasCommand = exports.se_DescribeStateMachineCommand = exports.se_DescribeMapRunCommand = exports.se_DescribeExecutionCommand = exports.se_DescribeActivityCommand = exports.se_DeleteStateMachineVersionCommand = exports.se_DeleteStateMachineAliasCommand = exports.se_DeleteStateMachineCommand = exports.se_DeleteActivityCommand = exports.se_CreateStateMachineAliasCommand = exports.se_CreateStateMachineCommand = exports.se_CreateActivityCommand = void 0; + exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var models_0_1 = require_models_03(); + var SFNServiceException_1 = require_SFNServiceException(); + var se_CreateActivityCommand = async (input, context) => { + const headers = sharedHeaders("CreateActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateActivityCommand = se_CreateActivityCommand; + var se_CreateStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("CreateStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateStateMachineCommand = se_CreateStateMachineCommand; + var se_CreateStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("CreateStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateStateMachineAliasCommand = se_CreateStateMachineAliasCommand; + var se_DeleteActivityCommand = async (input, context) => { + const headers = sharedHeaders("DeleteActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteActivityCommand = se_DeleteActivityCommand; + var se_DeleteStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineCommand = se_DeleteStateMachineCommand; + var se_DeleteStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineAliasCommand = se_DeleteStateMachineAliasCommand; + var se_DeleteStateMachineVersionCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineVersion"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineVersionCommand = se_DeleteStateMachineVersionCommand; + var se_DescribeActivityCommand = async (input, context) => { + const headers = sharedHeaders("DescribeActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeActivityCommand = se_DescribeActivityCommand; + var se_DescribeExecutionCommand = async (input, context) => { + const headers = sharedHeaders("DescribeExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeExecutionCommand = se_DescribeExecutionCommand; + var se_DescribeMapRunCommand = async (input, context) => { + const headers = sharedHeaders("DescribeMapRun"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeMapRunCommand = se_DescribeMapRunCommand; + var se_DescribeStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineCommand = se_DescribeStateMachineCommand; + var se_DescribeStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineAliasCommand = se_DescribeStateMachineAliasCommand; + var se_DescribeStateMachineForExecutionCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineForExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineForExecutionCommand = se_DescribeStateMachineForExecutionCommand; + var se_GetActivityTaskCommand = async (input, context) => { + const headers = sharedHeaders("GetActivityTask"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetActivityTaskCommand = se_GetActivityTaskCommand; + var se_GetExecutionHistoryCommand = async (input, context) => { + const headers = sharedHeaders("GetExecutionHistory"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetExecutionHistoryCommand = se_GetExecutionHistoryCommand; + var se_ListActivitiesCommand = async (input, context) => { + const headers = sharedHeaders("ListActivities"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListActivitiesCommand = se_ListActivitiesCommand; + var se_ListExecutionsCommand = async (input, context) => { + const headers = sharedHeaders("ListExecutions"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListExecutionsCommand = se_ListExecutionsCommand; + var se_ListMapRunsCommand = async (input, context) => { + const headers = sharedHeaders("ListMapRuns"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListMapRunsCommand = se_ListMapRunsCommand; + var se_ListStateMachineAliasesCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachineAliases"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachineAliasesCommand = se_ListStateMachineAliasesCommand; + var se_ListStateMachinesCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachines"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachinesCommand = se_ListStateMachinesCommand; + var se_ListStateMachineVersionsCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachineVersions"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachineVersionsCommand = se_ListStateMachineVersionsCommand; + var se_ListTagsForResourceCommand = async (input, context) => { + const headers = sharedHeaders("ListTagsForResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListTagsForResourceCommand = se_ListTagsForResourceCommand; + var se_PublishStateMachineVersionCommand = async (input, context) => { + const headers = sharedHeaders("PublishStateMachineVersion"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_PublishStateMachineVersionCommand = se_PublishStateMachineVersionCommand; + var se_SendTaskFailureCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskFailure"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskFailureCommand = se_SendTaskFailureCommand; + var se_SendTaskHeartbeatCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskHeartbeat"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskHeartbeatCommand = se_SendTaskHeartbeatCommand; + var se_SendTaskSuccessCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskSuccess"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskSuccessCommand = se_SendTaskSuccessCommand; + var se_StartExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StartExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_StartExecutionCommand = se_StartExecutionCommand; + var se_StartSyncExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StartSyncExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "sync-" + resolvedHostname; + if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); + }; + exports.se_StartSyncExecutionCommand = se_StartSyncExecutionCommand; + var se_StopExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StopExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_StopExecutionCommand = se_StopExecutionCommand; + var se_TagResourceCommand = async (input, context) => { + const headers = sharedHeaders("TagResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_TagResourceCommand = se_TagResourceCommand; + var se_UntagResourceCommand = async (input, context) => { + const headers = sharedHeaders("UntagResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UntagResourceCommand = se_UntagResourceCommand; + var se_UpdateMapRunCommand = async (input, context) => { + const headers = sharedHeaders("UpdateMapRun"); + let body; + body = JSON.stringify(se_UpdateMapRunInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateMapRunCommand = se_UpdateMapRunCommand; + var se_UpdateStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("UpdateStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateStateMachineCommand = se_UpdateStateMachineCommand; + var se_UpdateStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("UpdateStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateStateMachineAliasCommand = se_UpdateStateMachineAliasCommand; + var de_CreateActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateActivityCommand = de_CreateActivityCommand; + var de_CreateActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityLimitExceeded": + case "com.amazonaws.sfn#ActivityLimitExceeded": + throw await de_ActivityLimitExceededRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_CreateStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateStateMachineCommand = de_CreateStateMachineCommand; + var de_CreateStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidDefinition": + case "com.amazonaws.sfn#InvalidDefinition": + throw await de_InvalidDefinitionRes(parsedOutput, context); + case "InvalidLoggingConfiguration": + case "com.amazonaws.sfn#InvalidLoggingConfiguration": + throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + throw await de_InvalidTracingConfigurationRes(parsedOutput, context); + case "StateMachineAlreadyExists": + case "com.amazonaws.sfn#StateMachineAlreadyExists": + throw await de_StateMachineAlreadyExistsRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineLimitExceeded": + case "com.amazonaws.sfn#StateMachineLimitExceeded": + throw await de_StateMachineLimitExceededRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_CreateStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateStateMachineAliasCommand = de_CreateStateMachineAliasCommand; + var de_CreateStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteActivityCommand = de_DeleteActivityCommand; + var de_DeleteActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineCommand = de_DeleteStateMachineCommand; + var de_DeleteStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineAliasCommand = de_DeleteStateMachineAliasCommand; + var de_DeleteStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineVersionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineVersionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineVersionCommand = de_DeleteStateMachineVersionCommand; + var de_DeleteStateMachineVersionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeActivityCommand = de_DescribeActivityCommand; + var de_DescribeActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityDoesNotExist": + case "com.amazonaws.sfn#ActivityDoesNotExist": + throw await de_ActivityDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeExecutionCommand = de_DescribeExecutionCommand; + var de_DescribeExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeMapRunCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeMapRunCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeMapRunOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeMapRunCommand = de_DescribeMapRunCommand; + var de_DescribeMapRunCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineCommand = de_DescribeStateMachineCommand; + var de_DescribeStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineAliasCommand = de_DescribeStateMachineAliasCommand; + var de_DescribeStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineForExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineForExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineForExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineForExecutionCommand = de_DescribeStateMachineForExecutionCommand; + var de_DescribeStateMachineForExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_GetActivityTaskCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetActivityTaskCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetActivityTaskCommand = de_GetActivityTaskCommand; + var de_GetActivityTaskCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityDoesNotExist": + case "com.amazonaws.sfn#ActivityDoesNotExist": + throw await de_ActivityDoesNotExistRes(parsedOutput, context); + case "ActivityWorkerLimitExceeded": + case "com.amazonaws.sfn#ActivityWorkerLimitExceeded": + throw await de_ActivityWorkerLimitExceededRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_GetExecutionHistoryCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetExecutionHistoryCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetExecutionHistoryOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetExecutionHistoryCommand = de_GetExecutionHistoryCommand; + var de_GetExecutionHistoryCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListActivitiesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListActivitiesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListActivitiesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListActivitiesCommand = de_ListActivitiesCommand; + var de_ListActivitiesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListExecutionsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListExecutionsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListExecutionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListExecutionsCommand = de_ListExecutionsCommand; + var de_ListExecutionsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListMapRunsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListMapRunsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListMapRunsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListMapRunsCommand = de_ListMapRunsCommand; + var de_ListMapRunsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachineAliasesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachineAliasesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachineAliasesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachineAliasesCommand = de_ListStateMachineAliasesCommand; + var de_ListStateMachineAliasesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachinesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachinesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachinesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachinesCommand = de_ListStateMachinesCommand; + var de_ListStateMachinesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachineVersionsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachineVersionsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachineVersionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachineVersionsCommand = de_ListStateMachineVersionsCommand; + var de_ListStateMachineVersionsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListTagsForResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListTagsForResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListTagsForResourceCommand = de_ListTagsForResourceCommand; + var de_ListTagsForResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_PublishStateMachineVersionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_PublishStateMachineVersionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_PublishStateMachineVersionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_PublishStateMachineVersionCommand = de_PublishStateMachineVersionCommand; + var de_PublishStateMachineVersionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskFailureCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskFailureCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskFailureCommand = de_SendTaskFailureCommand; + var de_SendTaskFailureCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskHeartbeatCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskHeartbeatCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskHeartbeatCommand = de_SendTaskHeartbeatCommand; + var de_SendTaskHeartbeatCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskSuccessCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskSuccessCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskSuccessCommand = de_SendTaskSuccessCommand; + var de_SendTaskSuccessCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidOutput": + case "com.amazonaws.sfn#InvalidOutput": + throw await de_InvalidOutputRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StartExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StartExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StartExecutionCommand = de_StartExecutionCommand; + var de_StartExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionAlreadyExists": + case "com.amazonaws.sfn#ExecutionAlreadyExists": + throw await de_ExecutionAlreadyExistsRes(parsedOutput, context); + case "ExecutionLimitExceeded": + case "com.amazonaws.sfn#ExecutionLimitExceeded": + throw await de_ExecutionLimitExceededRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + throw await de_InvalidExecutionInputRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartSyncExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StartSyncExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StartSyncExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StartSyncExecutionCommand = de_StartSyncExecutionCommand; + var de_StartSyncExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + throw await de_InvalidExecutionInputRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StopExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StopExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StopExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StopExecutionCommand = de_StopExecutionCommand; + var de_StopExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_TagResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_TagResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_TagResourceCommand = de_TagResourceCommand; + var de_TagResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UntagResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UntagResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UntagResourceCommand = de_UntagResourceCommand; + var de_UntagResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateMapRunCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateMapRunCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateMapRunCommand = de_UpdateMapRunCommand; + var de_UpdateMapRunCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateStateMachineCommand = de_UpdateStateMachineCommand; + var de_UpdateStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidDefinition": + case "com.amazonaws.sfn#InvalidDefinition": + throw await de_InvalidDefinitionRes(parsedOutput, context); + case "InvalidLoggingConfiguration": + case "com.amazonaws.sfn#InvalidLoggingConfiguration": + throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + throw await de_InvalidTracingConfigurationRes(parsedOutput, context); + case "MissingRequiredParameter": + case "com.amazonaws.sfn#MissingRequiredParameter": + throw await de_MissingRequiredParameterRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateStateMachineAliasCommand = de_UpdateStateMachineAliasCommand; + var de_UpdateStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ActivityDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ActivityLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ActivityWorkerLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityWorkerLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ConflictExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ConflictException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionAlreadyExistsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidArnRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidArn({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidDefinitionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidDefinition({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidExecutionInputRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidExecutionInput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidLoggingConfigurationRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidLoggingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidNameRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidName({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidOutputRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidOutput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidTokenRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidToken({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidTracingConfigurationRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidTracingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_MissingRequiredParameterRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.MissingRequiredParameter({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ResourceNotFoundRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ResourceNotFound({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ServiceQuotaExceededException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineAlreadyExistsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineDeletingRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineDeleting({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineTypeNotSupportedRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineTypeNotSupported({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TaskDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TaskDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TaskTimedOutRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TaskTimedOut({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TooManyTagsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TooManyTags({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ValidationExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ValidationException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var se_UpdateMapRunInput = (input, context) => { + return (0, smithy_client_1.take)(input, { + mapRunArn: [], + maxConcurrency: [], + toleratedFailureCount: [], + toleratedFailurePercentage: smithy_client_1.serializeFloat + }); + }; + var de_ActivityList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ActivityListItem(entry, context); + }); + return retVal; + }; + var de_ActivityListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString + }); + }; + var de_CreateActivityOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_CreateStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString + }); + }; + var de_CreateStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_DescribeActivityOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString + }); + }; + var de_DescribeExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + cause: smithy_client_1.expectString, + error: smithy_client_1.expectString, + executionArn: smithy_client_1.expectString, + input: smithy_client_1.expectString, + inputDetails: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + output: smithy_client_1.expectString, + outputDetails: smithy_client_1._json, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + traceHeader: smithy_client_1.expectString + }); + }; + var de_DescribeMapRunOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + executionCounts: smithy_client_1._json, + itemCounts: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + maxConcurrency: smithy_client_1.expectInt32, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + toleratedFailureCount: smithy_client_1.expectLong, + toleratedFailurePercentage: smithy_client_1.limitedParseFloat32 + }); + }; + var de_DescribeStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + description: smithy_client_1.expectString, + name: smithy_client_1.expectString, + routingConfiguration: smithy_client_1._json, + stateMachineAliasArn: smithy_client_1.expectString, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_DescribeStateMachineForExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + definition: smithy_client_1.expectString, + label: smithy_client_1.expectString, + loggingConfiguration: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + revisionId: smithy_client_1.expectString, + roleArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + tracingConfiguration: smithy_client_1._json, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_DescribeStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + definition: smithy_client_1.expectString, + description: smithy_client_1.expectString, + label: smithy_client_1.expectString, + loggingConfiguration: smithy_client_1._json, + name: smithy_client_1.expectString, + revisionId: smithy_client_1.expectString, + roleArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + tracingConfiguration: smithy_client_1._json, + type: smithy_client_1.expectString + }); + }; + var de_ExecutionList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ExecutionListItem(entry, context); + }); + return retVal; + }; + var de_ExecutionListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + itemCount: smithy_client_1.expectInt32, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_GetExecutionHistoryOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + events: (_) => de_HistoryEventList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_HistoryEvent = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityFailedEventDetails: smithy_client_1._json, + activityScheduleFailedEventDetails: smithy_client_1._json, + activityScheduledEventDetails: smithy_client_1._json, + activityStartedEventDetails: smithy_client_1._json, + activitySucceededEventDetails: smithy_client_1._json, + activityTimedOutEventDetails: smithy_client_1._json, + executionAbortedEventDetails: smithy_client_1._json, + executionFailedEventDetails: smithy_client_1._json, + executionStartedEventDetails: smithy_client_1._json, + executionSucceededEventDetails: smithy_client_1._json, + executionTimedOutEventDetails: smithy_client_1._json, + id: smithy_client_1.expectLong, + lambdaFunctionFailedEventDetails: smithy_client_1._json, + lambdaFunctionScheduleFailedEventDetails: smithy_client_1._json, + lambdaFunctionScheduledEventDetails: smithy_client_1._json, + lambdaFunctionStartFailedEventDetails: smithy_client_1._json, + lambdaFunctionSucceededEventDetails: smithy_client_1._json, + lambdaFunctionTimedOutEventDetails: smithy_client_1._json, + mapIterationAbortedEventDetails: smithy_client_1._json, + mapIterationFailedEventDetails: smithy_client_1._json, + mapIterationStartedEventDetails: smithy_client_1._json, + mapIterationSucceededEventDetails: smithy_client_1._json, + mapRunFailedEventDetails: smithy_client_1._json, + mapRunStartedEventDetails: smithy_client_1._json, + mapStateStartedEventDetails: smithy_client_1._json, + previousEventId: smithy_client_1.expectLong, + stateEnteredEventDetails: smithy_client_1._json, + stateExitedEventDetails: smithy_client_1._json, + taskFailedEventDetails: smithy_client_1._json, + taskScheduledEventDetails: smithy_client_1._json, + taskStartFailedEventDetails: smithy_client_1._json, + taskStartedEventDetails: smithy_client_1._json, + taskSubmitFailedEventDetails: smithy_client_1._json, + taskSubmittedEventDetails: smithy_client_1._json, + taskSucceededEventDetails: smithy_client_1._json, + taskTimedOutEventDetails: smithy_client_1._json, + timestamp: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + type: smithy_client_1.expectString + }); + }; + var de_HistoryEventList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_HistoryEvent(entry, context); + }); + return retVal; + }; + var de_ListActivitiesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activities: (_) => de_ActivityList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListExecutionsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executions: (_) => de_ExecutionList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListMapRunsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + mapRuns: (_) => de_MapRunList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListStateMachineAliasesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachineAliases: (_) => de_StateMachineAliasList(_, context) + }); + }; + var de_ListStateMachinesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachines: (_) => de_StateMachineList(_, context) + }); + }; + var de_ListStateMachineVersionsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachineVersions: (_) => de_StateMachineVersionList(_, context) + }); + }; + var de_MapRunList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_MapRunListItem(entry, context); + }); + return retVal; + }; + var de_MapRunListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + mapRunArn: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_PublishStateMachineVersionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_StartExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_StartSyncExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + billingDetails: smithy_client_1._json, + cause: smithy_client_1.expectString, + error: smithy_client_1.expectString, + executionArn: smithy_client_1.expectString, + input: smithy_client_1.expectString, + inputDetails: smithy_client_1._json, + name: smithy_client_1.expectString, + output: smithy_client_1.expectString, + outputDetails: smithy_client_1._json, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + traceHeader: smithy_client_1.expectString + }); + }; + var de_StateMachineAliasList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineAliasListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineAliasListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString + }); + }; + var de_StateMachineList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + type: smithy_client_1.expectString + }); + }; + var de_StateMachineVersionList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineVersionListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineVersionListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_StopExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_UpdateStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_UpdateStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + revisionId: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var throwDefaultError = (0, smithy_client_1.withBaseException)(SFNServiceException_1.SFNServiceException); + var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers + }; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; + } + if (body !== void 0) { + contents.body = body; + } + return new protocol_http_1.HttpRequest(contents); + }; + function sharedHeaders(operation) { + return { + "content-type": "application/x-amz-json-1.0", + "x-amz-target": `AWSStepFunctions.${operation}` + }; + } + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js +var require_CreateActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateActivityCommand = class _CreateActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateActivityCommand)(output, context); + } + }; + exports.CreateActivityCommand = CreateActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js +var require_CreateStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.CreateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateStateMachineAliasCommand)(output, context); + } + }; + exports.CreateStateMachineAliasCommand = CreateStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js +var require_CreateStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.CreateStateMachineInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateStateMachineCommand)(output, context); + } + }; + exports.CreateStateMachineCommand = CreateStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js +var require_DeleteActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteActivityCommand = class _DeleteActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteActivityCommand)(output, context); + } + }; + exports.DeleteActivityCommand = DeleteActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js +var require_DeleteStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineAliasCommand = class _DeleteStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineAliasCommand)(output, context); + } + }; + exports.DeleteStateMachineAliasCommand = DeleteStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js +var require_DeleteStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineCommand = class _DeleteStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineCommand)(output, context); + } + }; + exports.DeleteStateMachineCommand = DeleteStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js +var require_DeleteStateMachineVersionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineVersionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineVersionCommand = class _DeleteStateMachineVersionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineVersionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineVersionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineVersionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineVersionCommand)(output, context); + } + }; + exports.DeleteStateMachineVersionCommand = DeleteStateMachineVersionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js +var require_DescribeActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeActivityCommand = class _DescribeActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeActivityCommand)(output, context); + } + }; + exports.DescribeActivityCommand = DescribeActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js +var require_DescribeExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeExecutionCommand)(output, context); + } + }; + exports.DescribeExecutionCommand = DescribeExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js +var require_DescribeMapRunCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeMapRunCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeMapRunCommand = class _DescribeMapRunCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeMapRunCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeMapRunCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeMapRunCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeMapRunCommand)(output, context); + } + }; + exports.DescribeMapRunCommand = DescribeMapRunCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js +var require_DescribeStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineAliasOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineAliasCommand)(output, context); + } + }; + exports.DescribeStateMachineAliasCommand = DescribeStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js +var require_DescribeStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineCommand)(output, context); + } + }; + exports.DescribeStateMachineCommand = DescribeStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js +var require_DescribeStateMachineForExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineForExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineForExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineForExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineForExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineForExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineForExecutionCommand)(output, context); + } + }; + exports.DescribeStateMachineForExecutionCommand = DescribeStateMachineForExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js +var require_GetActivityTaskCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetActivityTaskCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetActivityTaskCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "GetActivityTaskCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetActivityTaskOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_GetActivityTaskCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_GetActivityTaskCommand)(output, context); + } + }; + exports.GetActivityTaskCommand = GetActivityTaskCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js +var require_GetExecutionHistoryCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetExecutionHistoryCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetExecutionHistoryCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "GetExecutionHistoryCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetExecutionHistoryOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_GetExecutionHistoryCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_GetExecutionHistoryCommand)(output, context); + } + }; + exports.GetExecutionHistoryCommand = GetExecutionHistoryCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js +var require_ListActivitiesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListActivitiesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListActivitiesCommand = class _ListActivitiesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListActivitiesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListActivitiesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListActivitiesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListActivitiesCommand)(output, context); + } + }; + exports.ListActivitiesCommand = ListActivitiesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js +var require_ListExecutionsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListExecutionsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListExecutionsCommand = class _ListExecutionsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListExecutionsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListExecutionsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListExecutionsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListExecutionsCommand)(output, context); + } + }; + exports.ListExecutionsCommand = ListExecutionsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js +var require_ListMapRunsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListMapRunsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListMapRunsCommand = class _ListMapRunsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListMapRunsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListMapRunsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListMapRunsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListMapRunsCommand)(output, context); + } + }; + exports.ListMapRunsCommand = ListMapRunsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js +var require_ListStateMachineAliasesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachineAliasesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachineAliasesCommand = class _ListStateMachineAliasesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineAliasesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineAliasesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachineAliasesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachineAliasesCommand)(output, context); + } + }; + exports.ListStateMachineAliasesCommand = ListStateMachineAliasesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js +var require_ListStateMachinesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachinesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachinesCommand = class _ListStateMachinesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachinesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachinesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachinesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachinesCommand)(output, context); + } + }; + exports.ListStateMachinesCommand = ListStateMachinesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js +var require_ListStateMachineVersionsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachineVersionsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachineVersionsCommand = class _ListStateMachineVersionsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineVersionsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineVersionsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachineVersionsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachineVersionsCommand)(output, context); + } + }; + exports.ListStateMachineVersionsCommand = ListStateMachineVersionsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js +var require_ListTagsForResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListTagsForResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListTagsForResourceCommand = class _ListTagsForResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListTagsForResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListTagsForResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListTagsForResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListTagsForResourceCommand)(output, context); + } + }; + exports.ListTagsForResourceCommand = ListTagsForResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js +var require_PublishStateMachineVersionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.PublishStateMachineVersionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _PublishStateMachineVersionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "PublishStateMachineVersionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.PublishStateMachineVersionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_PublishStateMachineVersionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_PublishStateMachineVersionCommand)(output, context); + } + }; + exports.PublishStateMachineVersionCommand = PublishStateMachineVersionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js +var require_SendTaskFailureCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskFailureCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskFailureCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskFailureCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.SendTaskFailureInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskFailureCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskFailureCommand)(output, context); + } + }; + exports.SendTaskFailureCommand = SendTaskFailureCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js +var require_SendTaskHeartbeatCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskHeartbeatCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskHeartbeatCommand = class _SendTaskHeartbeatCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskHeartbeatCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskHeartbeatCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskHeartbeatCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskHeartbeatCommand)(output, context); + } + }; + exports.SendTaskHeartbeatCommand = SendTaskHeartbeatCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js +var require_SendTaskSuccessCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskSuccessCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskSuccessCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskSuccessCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.SendTaskSuccessInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskSuccessCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskSuccessCommand)(output, context); + } + }; + exports.SendTaskSuccessCommand = SendTaskSuccessCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js +var require_StartExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StartExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StartExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StartExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StartExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StartExecutionCommand)(output, context); + } + }; + exports.StartExecutionCommand = StartExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js +var require_StartSyncExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StartSyncExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartSyncExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StartSyncExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StartSyncExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.StartSyncExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StartSyncExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StartSyncExecutionCommand)(output, context); + } + }; + exports.StartSyncExecutionCommand = StartSyncExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js +var require_StopExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StopExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StopExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StopExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StopExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StopExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StopExecutionCommand)(output, context); + } + }; + exports.StopExecutionCommand = StopExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js +var require_TagResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TagResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var TagResourceCommand = class _TagResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _TagResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_TagResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_TagResourceCommand)(output, context); + } + }; + exports.TagResourceCommand = TagResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js +var require_UntagResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UntagResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UntagResourceCommand = class _UntagResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UntagResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UntagResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UntagResourceCommand)(output, context); + } + }; + exports.UntagResourceCommand = UntagResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js +var require_UpdateMapRunCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateMapRunCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateMapRunCommand = class _UpdateMapRunCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateMapRunCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateMapRunCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateMapRunCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateMapRunCommand)(output, context); + } + }; + exports.UpdateMapRunCommand = UpdateMapRunCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js +var require_UpdateStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.UpdateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateStateMachineAliasCommand)(output, context); + } + }; + exports.UpdateStateMachineAliasCommand = UpdateStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js +var require_UpdateStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.UpdateStateMachineInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateStateMachineCommand)(output, context); + } + }; + exports.UpdateStateMachineCommand = UpdateStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js +var require_SFN = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFN = void 0; + var smithy_client_1 = require_dist_cjs35(); + var CreateActivityCommand_1 = require_CreateActivityCommand(); + var CreateStateMachineAliasCommand_1 = require_CreateStateMachineAliasCommand(); + var CreateStateMachineCommand_1 = require_CreateStateMachineCommand(); + var DeleteActivityCommand_1 = require_DeleteActivityCommand(); + var DeleteStateMachineAliasCommand_1 = require_DeleteStateMachineAliasCommand(); + var DeleteStateMachineCommand_1 = require_DeleteStateMachineCommand(); + var DeleteStateMachineVersionCommand_1 = require_DeleteStateMachineVersionCommand(); + var DescribeActivityCommand_1 = require_DescribeActivityCommand(); + var DescribeExecutionCommand_1 = require_DescribeExecutionCommand(); + var DescribeMapRunCommand_1 = require_DescribeMapRunCommand(); + var DescribeStateMachineAliasCommand_1 = require_DescribeStateMachineAliasCommand(); + var DescribeStateMachineCommand_1 = require_DescribeStateMachineCommand(); + var DescribeStateMachineForExecutionCommand_1 = require_DescribeStateMachineForExecutionCommand(); + var GetActivityTaskCommand_1 = require_GetActivityTaskCommand(); + var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); + var ListActivitiesCommand_1 = require_ListActivitiesCommand(); + var ListExecutionsCommand_1 = require_ListExecutionsCommand(); + var ListMapRunsCommand_1 = require_ListMapRunsCommand(); + var ListStateMachineAliasesCommand_1 = require_ListStateMachineAliasesCommand(); + var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); + var ListStateMachineVersionsCommand_1 = require_ListStateMachineVersionsCommand(); + var ListTagsForResourceCommand_1 = require_ListTagsForResourceCommand(); + var PublishStateMachineVersionCommand_1 = require_PublishStateMachineVersionCommand(); + var SendTaskFailureCommand_1 = require_SendTaskFailureCommand(); + var SendTaskHeartbeatCommand_1 = require_SendTaskHeartbeatCommand(); + var SendTaskSuccessCommand_1 = require_SendTaskSuccessCommand(); + var StartExecutionCommand_1 = require_StartExecutionCommand(); + var StartSyncExecutionCommand_1 = require_StartSyncExecutionCommand(); + var StopExecutionCommand_1 = require_StopExecutionCommand(); + var TagResourceCommand_1 = require_TagResourceCommand(); + var UntagResourceCommand_1 = require_UntagResourceCommand(); + var UpdateMapRunCommand_1 = require_UpdateMapRunCommand(); + var UpdateStateMachineAliasCommand_1 = require_UpdateStateMachineAliasCommand(); + var UpdateStateMachineCommand_1 = require_UpdateStateMachineCommand(); + var SFNClient_1 = require_SFNClient(); + var commands = { + CreateActivityCommand: CreateActivityCommand_1.CreateActivityCommand, + CreateStateMachineCommand: CreateStateMachineCommand_1.CreateStateMachineCommand, + CreateStateMachineAliasCommand: CreateStateMachineAliasCommand_1.CreateStateMachineAliasCommand, + DeleteActivityCommand: DeleteActivityCommand_1.DeleteActivityCommand, + DeleteStateMachineCommand: DeleteStateMachineCommand_1.DeleteStateMachineCommand, + DeleteStateMachineAliasCommand: DeleteStateMachineAliasCommand_1.DeleteStateMachineAliasCommand, + DeleteStateMachineVersionCommand: DeleteStateMachineVersionCommand_1.DeleteStateMachineVersionCommand, + DescribeActivityCommand: DescribeActivityCommand_1.DescribeActivityCommand, + DescribeExecutionCommand: DescribeExecutionCommand_1.DescribeExecutionCommand, + DescribeMapRunCommand: DescribeMapRunCommand_1.DescribeMapRunCommand, + DescribeStateMachineCommand: DescribeStateMachineCommand_1.DescribeStateMachineCommand, + DescribeStateMachineAliasCommand: DescribeStateMachineAliasCommand_1.DescribeStateMachineAliasCommand, + DescribeStateMachineForExecutionCommand: DescribeStateMachineForExecutionCommand_1.DescribeStateMachineForExecutionCommand, + GetActivityTaskCommand: GetActivityTaskCommand_1.GetActivityTaskCommand, + GetExecutionHistoryCommand: GetExecutionHistoryCommand_1.GetExecutionHistoryCommand, + ListActivitiesCommand: ListActivitiesCommand_1.ListActivitiesCommand, + ListExecutionsCommand: ListExecutionsCommand_1.ListExecutionsCommand, + ListMapRunsCommand: ListMapRunsCommand_1.ListMapRunsCommand, + ListStateMachineAliasesCommand: ListStateMachineAliasesCommand_1.ListStateMachineAliasesCommand, + ListStateMachinesCommand: ListStateMachinesCommand_1.ListStateMachinesCommand, + ListStateMachineVersionsCommand: ListStateMachineVersionsCommand_1.ListStateMachineVersionsCommand, + ListTagsForResourceCommand: ListTagsForResourceCommand_1.ListTagsForResourceCommand, + PublishStateMachineVersionCommand: PublishStateMachineVersionCommand_1.PublishStateMachineVersionCommand, + SendTaskFailureCommand: SendTaskFailureCommand_1.SendTaskFailureCommand, + SendTaskHeartbeatCommand: SendTaskHeartbeatCommand_1.SendTaskHeartbeatCommand, + SendTaskSuccessCommand: SendTaskSuccessCommand_1.SendTaskSuccessCommand, + StartExecutionCommand: StartExecutionCommand_1.StartExecutionCommand, + StartSyncExecutionCommand: StartSyncExecutionCommand_1.StartSyncExecutionCommand, + StopExecutionCommand: StopExecutionCommand_1.StopExecutionCommand, + TagResourceCommand: TagResourceCommand_1.TagResourceCommand, + UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand, + UpdateMapRunCommand: UpdateMapRunCommand_1.UpdateMapRunCommand, + UpdateStateMachineCommand: UpdateStateMachineCommand_1.UpdateStateMachineCommand, + UpdateStateMachineAliasCommand: UpdateStateMachineAliasCommand_1.UpdateStateMachineAliasCommand + }; + var SFN2 = class extends SFNClient_1.SFNClient { + }; + exports.SFN = SFN2; + (0, smithy_client_1.createAggregatedClient)(commands, SFN2); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js +var require_commands3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_CreateActivityCommand(), exports); + tslib_1.__exportStar(require_CreateStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_CreateStateMachineCommand(), exports); + tslib_1.__exportStar(require_DeleteActivityCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineVersionCommand(), exports); + tslib_1.__exportStar(require_DescribeActivityCommand(), exports); + tslib_1.__exportStar(require_DescribeExecutionCommand(), exports); + tslib_1.__exportStar(require_DescribeMapRunCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineForExecutionCommand(), exports); + tslib_1.__exportStar(require_GetActivityTaskCommand(), exports); + tslib_1.__exportStar(require_GetExecutionHistoryCommand(), exports); + tslib_1.__exportStar(require_ListActivitiesCommand(), exports); + tslib_1.__exportStar(require_ListExecutionsCommand(), exports); + tslib_1.__exportStar(require_ListMapRunsCommand(), exports); + tslib_1.__exportStar(require_ListStateMachineAliasesCommand(), exports); + tslib_1.__exportStar(require_ListStateMachineVersionsCommand(), exports); + tslib_1.__exportStar(require_ListStateMachinesCommand(), exports); + tslib_1.__exportStar(require_ListTagsForResourceCommand(), exports); + tslib_1.__exportStar(require_PublishStateMachineVersionCommand(), exports); + tslib_1.__exportStar(require_SendTaskFailureCommand(), exports); + tslib_1.__exportStar(require_SendTaskHeartbeatCommand(), exports); + tslib_1.__exportStar(require_SendTaskSuccessCommand(), exports); + tslib_1.__exportStar(require_StartExecutionCommand(), exports); + tslib_1.__exportStar(require_StartSyncExecutionCommand(), exports); + tslib_1.__exportStar(require_StopExecutionCommand(), exports); + tslib_1.__exportStar(require_TagResourceCommand(), exports); + tslib_1.__exportStar(require_UntagResourceCommand(), exports); + tslib_1.__exportStar(require_UpdateMapRunCommand(), exports); + tslib_1.__exportStar(require_UpdateStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_UpdateStateMachineCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js +var require_GetExecutionHistoryPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateGetExecutionHistory = void 0; + var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new GetExecutionHistoryCommand_1.GetExecutionHistoryCommand(input), ...args); + }; + async function* paginateGetExecutionHistory(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateGetExecutionHistory = paginateGetExecutionHistory; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js +var require_Interfaces2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js +var require_ListActivitiesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListActivities = void 0; + var ListActivitiesCommand_1 = require_ListActivitiesCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListActivitiesCommand_1.ListActivitiesCommand(input), ...args); + }; + async function* paginateListActivities(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListActivities = paginateListActivities; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js +var require_ListExecutionsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListExecutions = void 0; + var ListExecutionsCommand_1 = require_ListExecutionsCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListExecutionsCommand_1.ListExecutionsCommand(input), ...args); + }; + async function* paginateListExecutions(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListExecutions = paginateListExecutions; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js +var require_ListMapRunsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListMapRuns = void 0; + var ListMapRunsCommand_1 = require_ListMapRunsCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListMapRunsCommand_1.ListMapRunsCommand(input), ...args); + }; + async function* paginateListMapRuns(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListMapRuns = paginateListMapRuns; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js +var require_ListStateMachinesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListStateMachines = void 0; + var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListStateMachinesCommand_1.ListStateMachinesCommand(input), ...args); + }; + async function* paginateListStateMachines(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListStateMachines = paginateListStateMachines; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js +var require_pagination4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_GetExecutionHistoryPaginator(), exports); + tslib_1.__exportStar(require_Interfaces2(), exports); + tslib_1.__exportStar(require_ListActivitiesPaginator(), exports); + tslib_1.__exportStar(require_ListExecutionsPaginator(), exports); + tslib_1.__exportStar(require_ListMapRunsPaginator(), exports); + tslib_1.__exportStar(require_ListStateMachinesPaginator(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js +var require_models3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_03(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js +var require_dist_cjs53 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SFNClient(), exports); + tslib_1.__exportStar(require_SFN(), exports); + tslib_1.__exportStar(require_commands3(), exports); + tslib_1.__exportStar(require_pagination4(), exports); + tslib_1.__exportStar(require_models3(), exports); + var SFNServiceException_1 = require_SFNServiceException(); + Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { + return SFNServiceException_1.SFNServiceException; + } }); + } +}); + +// ../../../node_modules/webidl-conversions/lib/index.js +var require_lib2 = __commonJS({ + "../../../node_modules/webidl-conversions/lib/index.js"(exports, module2) { + "use strict"; + var conversions = {}; + module2.exports = conversions; + function sign(x) { + return x < 0 ? -1 : 1; + } + function evenRound(x) { + if (x % 1 === 0.5 && (x & 1) === 0) { + return Math.floor(x); + } else { + return Math.round(x); + } + } + function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + return function(V, opts) { + if (!opts) + opts = {}; + let x = +V; + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + return x; + } + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + if (x < lowerBound) + x = lowerBound; + if (x > upperBound) + x = upperBound; + return x; + } + if (!Number.isFinite(x) || x === 0) { + return 0; + } + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { + return 0; + } + } + return x; + }; + } + conversions["void"] = function() { + return void 0; + }; + conversions["boolean"] = function(val2) { + return !!val2; + }; + conversions["byte"] = createNumberConversion(8, { unsigned: false }); + conversions["octet"] = createNumberConversion(8, { unsigned: true }); + conversions["short"] = createNumberConversion(16, { unsigned: false }); + conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + conversions["long"] = createNumberConversion(32, { unsigned: false }); + conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); + conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + conversions["double"] = function(V) { + const x = +V; + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + return x; + }; + conversions["unrestricted double"] = function(V) { + const x = +V; + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + return x; + }; + conversions["float"] = conversions["double"]; + conversions["unrestricted float"] = conversions["unrestricted double"]; + conversions["DOMString"] = function(V, opts) { + if (!opts) + opts = {}; + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + return String(V); + }; + conversions["ByteString"] = function(V, opts) { + const x = String(V); + let c = void 0; + for (let i = 0; (c = x.codePointAt(i)) !== void 0; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + return x; + }; + conversions["USVString"] = function(V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 55296 || c > 57343) { + U.push(String.fromCodePoint(c)); + } else if (56320 <= c && c <= 57343) { + U.push(String.fromCodePoint(65533)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(65533)); + } else { + const d = S.charCodeAt(i + 1); + if (56320 <= d && d <= 57343) { + const a = c & 1023; + const b = d & 1023; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(65533)); + } + } + } + } + return U.join(""); + }; + conversions["Date"] = function(V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return void 0; + } + return V; + }; + conversions["RegExp"] = function(V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + return V; + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/utils.js +var require_utils2 = __commonJS({ + "../../../node_modules/whatwg-url/lib/utils.js"(exports, module2) { + "use strict"; + module2.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } + }; + module2.exports.wrapperSymbol = Symbol("wrapper"); + module2.exports.implSymbol = Symbol("impl"); + module2.exports.wrapperForImpl = function(impl) { + return impl[module2.exports.wrapperSymbol]; + }; + module2.exports.implForWrapper = function(wrapper) { + return wrapper[module2.exports.implSymbol]; + }; + } +}); + +// ../../../node_modules/tr46/lib/mappingTable.json +var require_mappingTable = __commonJS({ + "../../../node_modules/tr46/lib/mappingTable.json"(exports, module2) { + module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; + } +}); + +// ../../../node_modules/tr46/index.js +var require_tr46 = __commonJS({ + "../../../node_modules/tr46/index.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var mappingTable = require_mappingTable(); + var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 + }; + function normalize(str) { + return str.split("\0").map(function(s) { + return s.normalize("NFC"); + }).join("\0"); + } + function findStatus(val2) { + var start = 0; + var end = mappingTable.length - 1; + while (start <= end) { + var mid = Math.floor((start + end) / 2); + var target = mappingTable[mid]; + if (target[0][0] <= val2 && target[0][1] >= val2) { + return target; + } else if (target[0][0] > val2) { + end = mid - 1; + } else { + start = mid + 1; + } + } + return null; + } + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + function countSymbols(string) { + return string.replace(regexAstralSymbols, "_").length; + } + function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + processed += String.fromCodePoint(codePoint); + break; + } + } + return { + string: processed, + error: hasError + }; + } + var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + var error = false; + if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { + error = true; + } + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { + error = true; + break; + } + } + return { + label, + error + }; + } + function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch (e) { + result.error = true; + } + } + return { + string: labels.join("."), + error: result.error + }; + } + module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch (e) { + result.error = true; + return l; + } + }); + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + for (var i = 0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + if (result.error) + return null; + return labels.join("."); + }; + module2.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + return { + domain: result.string, + error: result.error + }; + }; + module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + } +}); + +// ../../../node_modules/whatwg-url/lib/url-state-machine.js +var require_url_state_machine = __commonJS({ + "../../../node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var tr46 = require_tr46(); + var specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 + }; + var failure = Symbol("failure"); + function countSymbols(str) { + return punycode.ucs2.decode(str).length; + } + function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? void 0 : String.fromCodePoint(c); + } + function isASCIIDigit(c) { + return c >= 48 && c <= 57; + } + function isASCIIAlpha(c) { + return c >= 65 && c <= 90 || c >= 97 && c <= 122; + } + function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); + } + function isASCIIHex(c) { + return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; + } + function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; + } + function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; + } + function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); + } + function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); + } + function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; + } + function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== void 0; + } + function isSpecial(url2) { + return isSpecialScheme(url2.scheme); + } + function defaultPort(scheme) { + return specialSchemes[scheme]; + } + function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + return "%" + hex; + } + function utf8PercentEncode(c) { + const buf = new Buffer(c); + let str = ""; + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + return str; + } + function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); + } + function isC0ControlPercentEncode(c) { + return c <= 31 || c > 126; + } + var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); + function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + } + var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); + function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); + } + function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + return cStr; + } + function parseIPv4Number(input) { + let R = 10; + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + if (input === "") { + return 0; + } + const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; + if (regex.test(input)) { + return failure; + } + return parseInt(input, R); + } + function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + if (parts.length > 4) { + return input; + } + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + numbers.push(n); + } + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + let ipv4 = numbers.pop(); + let counter = 0; + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + return ipv4; + } + function serializeIPv4(address) { + let output = ""; + let n = address; + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + return output; + } + function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + input = punycode.ucs2.decode(input); + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + let value = 0; + let length = 0; + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 16 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + pointer -= length; + if (pieceIndex > 6) { + return failure; + } + let numbersSeen = 0; + while (input[pointer] !== void 0) { + let ipv4Piece = null; + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + if (!isASCIIDigit(input[pointer])) { + return failure; + } + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + ++numbersSeen; + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + if (numbersSeen !== 4) { + return failure; + } + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === void 0) { + return failure; + } + } else if (input[pointer] !== void 0) { + return failure; + } + address[pieceIndex] = value; + ++pieceIndex; + } + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + return address; + } + function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + output += address[pieceIndex].toString(16); + if (pieceIndex !== 7) { + output += ":"; + } + } + return output; + } + function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + return parseIPv6(input.substring(1, input.length - 1)); + } + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + return asciiDomain; + } + function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; + } + function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; + let currStart = null; + let currLen = 0; + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + return { + idx: maxIdx, + len: maxLen + }; + } + function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + return host; + } + function trimControlChars(url2) { + return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); + } + function trimTabAndNewline(url2) { + return url2.replace(/\u0009|\u000A|\u000D/g, ""); + } + function shortenPath(url2) { + const path = url2.path; + if (path.length === 0) { + return; + } + if (url2.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + path.pop(); + } + function includesCredentials(url2) { + return url2.username !== "" || url2.password !== ""; + } + function cannotHaveAUsernamePasswordPort(url2) { + return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; + } + function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); + } + function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url2; + this.failure = false; + this.parseError = false; + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + cannotBeABaseURL: false + }; + const res2 = trimControlChars(this.input); + if (res2 !== this.input) { + this.parseError = true; + } + this.input = res2; + } + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + this.state = stateOverride || "scheme start"; + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + this.input = punycode.ucs2.decode(this.input); + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; + } else if (ret === failure) { + this.failure = true; + break; + } + } + } + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + return true; + }; + URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); + URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + if (this.stateOverride) { + return false; + } + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== void 0) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + return true; + }; + URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + return true; + }; + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + return true; + }; + URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || !this.stateOverride && c === 35) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + const buffer = new Buffer(this.buffer); + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 33 || buffer[i] > 126 || buffer[i] === 34 || buffer[i] === 35 || buffer[i] === 60 || buffer[i] === 62) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { + } else if (c === 0) { + this.parseError = true; + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + return true; + }; + function serializeURL(url2, excludeFragment) { + let output = url2.scheme + ":"; + if (url2.host !== null) { + output += "//"; + if (url2.username !== "" || url2.password !== "") { + output += url2.username; + if (url2.password !== "") { + output += ":" + url2.password; + } + output += "@"; + } + output += serializeHost(url2.host); + if (url2.port !== null) { + output += ":" + url2.port; + } + } else if (url2.host === null && url2.scheme === "file") { + output += "//"; + } + if (url2.cannotBeABaseURL) { + output += url2.path[0]; + } else { + for (const string of url2.path) { + output += "/" + string; + } + } + if (url2.query !== null) { + output += "?" + url2.query; + } + if (!excludeFragment && url2.fragment !== null) { + output += "#" + url2.fragment; + } + return output; + } + function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + if (tuple.port !== null) { + result += ":" + tuple.port; + } + return result; + } + module2.exports.serializeURL = serializeURL; + module2.exports.serializeURLOrigin = function(url2) { + switch (url2.scheme) { + case "blob": + try { + return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); + } catch (e) { + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url2.scheme, + host: url2.host, + port: url2.port + }); + case "file": + return "file://"; + default: + return "null"; + } + }; + module2.exports.basicURLParse = function(input, options) { + if (options === void 0) { + options = {}; + } + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + return usm.url; + }; + module2.exports.setTheUsername = function(url2, username) { + url2.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url2.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } + }; + module2.exports.setThePassword = function(url2, password) { + url2.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url2.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } + }; + module2.exports.serializeHost = serializeHost; + module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + module2.exports.serializeInteger = function(integer) { + return String(integer); + }; + module2.exports.parseURL = function(input, options) { + if (options === void 0) { + options = {}; + } + return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/URL-impl.js +var require_URL_impl = __commonJS({ + "../../../node_modules/whatwg-url/lib/URL-impl.js"(exports) { + "use strict"; + var usm = require_url_state_machine(); + exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url2 = constructorArgs[0]; + const base = constructorArgs[1]; + let parsedBase = null; + if (base !== void 0) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get href() { + return usm.serializeURL(this._url); + } + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get origin() { + return usm.serializeURLOrigin(this._url); + } + get protocol() { + return this._url.scheme + ":"; + } + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + get username() { + return this._url.username; + } + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setTheUsername(this._url, v); + } + get password() { + return this._url.password; + } + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setThePassword(this._url, v); + } + get host() { + const url2 = this._url; + if (url2.host === null) { + return ""; + } + if (url2.port === null) { + return usm.serializeHost(url2.host); + } + return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); + } + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + get hostname() { + if (this._url.host === null) { + return ""; + } + return usm.serializeHost(this._url.host); + } + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + get port() { + if (this._url.port === null) { + return ""; + } + return usm.serializeInteger(this._url.port); + } + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + if (this._url.path.length === 0) { + return ""; + } + return "/" + this._url.path.join("/"); + } + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + return "?" + this._url.query; + } + set search(v) { + const url2 = this._url; + if (v === "") { + url2.query = null; + return; + } + const input = v[0] === "?" ? v.substring(1) : v; + url2.query = ""; + usm.basicURLParse(input, { url: url2, stateOverride: "query" }); + } + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + return "#" + this._url.fragment; + } + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + toJSON() { + return this.href; + } + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/URL.js +var require_URL = __commonJS({ + "../../../node_modules/whatwg-url/lib/URL.js"(exports, module2) { + "use strict"; + var conversions = require_lib2(); + var utils = require_utils2(); + var Impl = require_URL_impl(); + var impl = utils.implSymbol; + function URL3(url2) { + if (!this || this[impl] || !(this instanceof URL3)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== void 0) { + args[1] = conversions["USVString"](args[1]); + } + module2.exports.setup(this, args); + } + URL3.prototype.toJSON = function toJSON() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); + }; + Object.defineProperty(URL3.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true + }); + URL3.prototype.toString = function() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; + }; + Object.defineProperty(URL3.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true + }); + module2.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL3.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) + privateData = {}; + privateData.wrapper = obj; + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL3, + expose: { + Window: { URL: URL3 }, + Worker: { URL: URL3 } + } + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/public-api.js +var require_public_api = __commonJS({ + "../../../node_modules/whatwg-url/lib/public-api.js"(exports) { + "use strict"; + exports.URL = require_URL().interface; + exports.serializeURL = require_url_state_machine().serializeURL; + exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; + exports.basicURLParse = require_url_state_machine().basicURLParse; + exports.setTheUsername = require_url_state_machine().setTheUsername; + exports.setThePassword = require_url_state_machine().setThePassword; + exports.serializeHost = require_url_state_machine().serializeHost; + exports.serializeInteger = require_url_state_machine().serializeInteger; + exports.parseURL = require_url_state_machine().parseURL; + } +}); + +// ../../../node_modules/safer-buffer/safer.js +var require_safer = __commonJS({ + "../../../node_modules/safer-buffer/safer.js"(exports, module2) { + "use strict"; + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + var safer = {}; + var key; + for (key in buffer) { + if (!buffer.hasOwnProperty(key)) + continue; + if (key === "SlowBuffer" || key === "Buffer") + continue; + safer[key] = buffer[key]; + } + var Safer = safer.Buffer = {}; + for (key in Buffer2) { + if (!Buffer2.hasOwnProperty(key)) + continue; + if (key === "allocUnsafe" || key === "allocUnsafeSlow") + continue; + Safer[key] = Buffer2[key]; + } + safer.Buffer.prototype = Buffer2.prototype; + if (!Safer.from || Safer.from === Uint8Array.from) { + Safer.from = function(value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); + } + if (value && typeof value.length === "undefined") { + throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + } + return Buffer2(value, encodingOrOffset, length); + }; + } + if (!Safer.alloc) { + Safer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } + var buf = Buffer2(size); + if (!fill || fill.length === 0) { + buf.fill(0); + } else if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + return buf; + }; + } + if (!safer.kStringMaxLength) { + try { + safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; + } catch (e) { + } + } + if (!safer.constants) { + safer.constants = { + MAX_LENGTH: safer.kMaxLength + }; + if (safer.kStringMaxLength) { + safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; + } + } + module2.exports = safer; + } +}); + +// ../../../node_modules/iconv-lite/lib/bom-handling.js +var require_bom_handling = __commonJS({ + "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports) { + "use strict"; + var BOMChar = "\uFEFF"; + exports.PrependBOM = PrependBOMWrapper; + function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; + } + PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + return this.encoder.write(str); + }; + PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); + }; + exports.StripBOM = StripBOMWrapper; + function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; + } + StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === "function") + this.options.stripBOM(); + } + this.pass = true; + return res; + }; + StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/internal.js +var require_internal = __commonJS({ + "../../../node_modules/iconv-lite/encodings/internal.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true }, + cesu8: { type: "_internal", bomAware: true }, + unicode11utf8: "utf8", + ucs2: { type: "_internal", bomAware: true }, + utf16le: "ucs2", + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + // Codec. + _internal: InternalCodec + }; + function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; + this.encoder = InternalEncoderCesu8; + if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } + } + InternalCodec.prototype.encoder = InternalEncoder; + InternalCodec.prototype.decoder = InternalDecoder; + var StringDecoder = require("string_decoder").StringDecoder; + if (!StringDecoder.prototype.end) + StringDecoder.prototype.end = function() { + }; + function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); + } + InternalDecoder.prototype.write = function(buf) { + if (!Buffer2.isBuffer(buf)) { + buf = Buffer2.from(buf); + } + return this.decoder.write(buf); + }; + InternalDecoder.prototype.end = function() { + return this.decoder.end(); + }; + function InternalEncoder(options, codec) { + this.enc = codec.enc; + } + InternalEncoder.prototype.write = function(str) { + return Buffer2.from(str, this.enc); + }; + InternalEncoder.prototype.end = function() { + }; + function InternalEncoderBase64(options, codec) { + this.prevStr = ""; + } + InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - str.length % 4; + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + return Buffer2.from(str, "base64"); + }; + InternalEncoderBase64.prototype.end = function() { + return Buffer2.from(this.prevStr, "base64"); + }; + function InternalEncoderCesu8(options, codec) { + } + InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + if (charCode < 128) + buf[bufIdx++] = charCode; + else if (charCode < 2048) { + buf[bufIdx++] = 192 + (charCode >>> 6); + buf[bufIdx++] = 128 + (charCode & 63); + } else { + buf[bufIdx++] = 224 + (charCode >>> 12); + buf[bufIdx++] = 128 + (charCode >>> 6 & 63); + buf[bufIdx++] = 128 + (charCode & 63); + } + } + return buf.slice(0, bufIdx); + }; + InternalEncoderCesu8.prototype.end = function() { + }; + function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; + } + InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 192) !== 128) { + if (contBytes > 0) { + res += this.defaultCharUnicode; + contBytes = 0; + } + if (curByte < 128) { + res += String.fromCharCode(curByte); + } else if (curByte < 224) { + acc = curByte & 31; + contBytes = 1; + accBytes = 1; + } else if (curByte < 240) { + acc = curByte & 15; + contBytes = 2; + accBytes = 1; + } else { + res += this.defaultCharUnicode; + } + } else { + if (contBytes > 0) { + acc = acc << 6 | curByte & 63; + contBytes--; + accBytes++; + if (contBytes === 0) { + if (accBytes === 2 && acc < 128 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 2048) + res += this.defaultCharUnicode; + else + res += String.fromCharCode(acc); + } + } else { + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; + this.contBytes = contBytes; + this.accBytes = accBytes; + return res; + }; + InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf32.js +var require_utf32 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf32.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._utf32 = Utf32Codec; + function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; + } + exports.utf32le = { type: "_utf32", isLE: true }; + exports.utf32be = { type: "_utf32", isLE: false }; + exports.ucs4le = "utf32le"; + exports.ucs4be = "utf32be"; + Utf32Codec.prototype.encoder = Utf32Encoder; + Utf32Codec.prototype.decoder = Utf32Decoder; + function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; + } + Utf32Encoder.prototype.write = function(str) { + var src = Buffer2.from(str, "ucs2"); + var dst = Buffer2.alloc(src.length * 2); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = 55296 <= code && code < 56320; + var isLowSurrogate = 56320 <= code && code < 57344; + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } else { + var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + continue; + } + } + if (isHighSurrogate) + this.highSurrogate = code; + else { + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } + } + if (offset < dst.length) + dst = dst.slice(0, offset); + return dst; + }; + Utf32Encoder.prototype.end = function() { + if (!this.highSurrogate) + return; + var buf = Buffer2.alloc(4); + if (this.isLE) + buf.writeUInt32LE(this.highSurrogate, 0); + else + buf.writeUInt32BE(this.highSurrogate, 0); + this.highSurrogate = 0; + return buf; + }; + function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; + } + Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) + return ""; + var i = 0; + var codepoint = 0; + var dst = Buffer2.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) + overflow.push(src[i]); + if (overflow.length === 4) { + if (isLE) { + codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24; + } else { + codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24; + } + overflow.length = 0; + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + } + for (; i < src.length - 3; i += 4) { + if (isLE) { + codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; + } else { + codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + for (; i < src.length; i++) { + overflow.push(src[i]); + } + return dst.slice(0, offset).toString("ucs2"); + }; + function _writeCodepoint(dst, offset, codepoint, badChar) { + if (codepoint < 0 || codepoint > 1114111) { + codepoint = badChar; + } + if (codepoint >= 65536) { + codepoint -= 65536; + var high = 55296 | codepoint >> 10; + dst[offset++] = high & 255; + dst[offset++] = high >> 8; + var codepoint = 56320 | codepoint & 1023; + } + dst[offset++] = codepoint & 255; + dst[offset++] = codepoint >> 8; + return offset; + } + Utf32Decoder.prototype.end = function() { + this.overflow.length = 0; + }; + exports.utf32 = Utf32AutoCodec; + exports.ucs4 = "utf32"; + function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; + } + Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; + Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + function Utf32AutoEncoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); + } + Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 32) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0, invalidBE = 0; + var bmpCharsLE = 0, bmpCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { + return "utf-32le"; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { + return "utf-32be"; + } + } + if (b[0] !== 0 || b[1] > 16) + invalidBE++; + if (b[3] !== 0 || b[2] > 16) + invalidLE++; + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) + bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) + bmpCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) + return "utf-32be"; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) + return "utf-32le"; + return defaultEncoding || "utf-32le"; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf16.js +var require_utf16 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf16.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf16be = Utf16BECodec; + function Utf16BECodec() { + } + Utf16BECodec.prototype.encoder = Utf16BEEncoder; + Utf16BECodec.prototype.decoder = Utf16BEDecoder; + Utf16BECodec.prototype.bomAware = true; + function Utf16BEEncoder() { + } + Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer2.from(str, "ucs2"); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; + buf[i] = buf[i + 1]; + buf[i + 1] = tmp; + } + return buf; + }; + Utf16BEEncoder.prototype.end = function() { + }; + function Utf16BEDecoder() { + this.overflowByte = -1; + } + Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ""; + var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; + j = 2; + } + for (; i < buf.length - 1; i += 2, j += 2) { + buf2[j] = buf[i + 1]; + buf2[j + 1] = buf[i]; + } + this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; + return buf2.slice(0, j).toString("ucs2"); + }; + Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; + }; + exports.utf16 = Utf16Codec; + function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf16Codec.prototype.encoder = Utf16Encoder; + Utf16Codec.prototype.decoder = Utf16Decoder; + function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder("utf-16le", options); + } + Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf16Encoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 16) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0, asciiCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254) + return "utf-16le"; + if (b[0] === 254 && b[1] === 255) + return "utf-16be"; + } + if (b[0] === 0 && b[1] !== 0) + asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) + asciiCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (asciiCharsBE > asciiCharsLE) + return "utf-16be"; + if (asciiCharsBE < asciiCharsLE) + return "utf-16le"; + return defaultEncoding || "utf-16le"; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf7.js +var require_utf7 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf7.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf7 = Utf7Codec; + exports.unicode11utf7 = "utf7"; + function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7Codec.prototype.encoder = Utf7Encoder; + Utf7Codec.prototype.decoder = Utf7Decoder; + Utf7Codec.prototype.bomAware = true; + var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; + } + Utf7Encoder.prototype.write = function(str) { + return Buffer2.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; + }.bind(this))); + }; + Utf7Encoder.prototype.end = function() { + }; + function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64Regex = /[A-Za-z0-9\/+]/; + var base64Chars = []; + for (i = 0; i < 256; i++) + base64Chars[i] = base64Regex.test(String.fromCharCode(i)); + var i; + var plusChar = "+".charCodeAt(0); + var minusChar = "-".charCodeAt(0); + var andChar = "&".charCodeAt(0); + Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64Chars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + exports.utf7imap = Utf7IMAPCodec; + function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; + Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; + Utf7IMAPCodec.prototype.bomAware = true; + function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer2.alloc(6); + this.base64AccumIdx = 0; + } + Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; + for (var i2 = 0; i2 < str.length; i2++) { + var uChar = str.charCodeAt(i2); + if (32 <= uChar && uChar <= 126) { + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + inBase64 = false; + } + if (!inBase64) { + buf[bufIdx++] = uChar; + if (uChar === andChar) + buf[bufIdx++] = minusChar; + } + } else { + if (!inBase64) { + buf[bufIdx++] = andChar; + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 255; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); + base64AccumIdx = 0; + } + } + } + } + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + return buf.slice(0, bufIdx); + }; + Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer2.alloc(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + this.base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + this.inBase64 = false; + } + return buf.slice(0, bufIdx); + }; + function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64IMAPChars = base64Chars.slice(); + base64IMAPChars[",".charCodeAt(0)] = true; + Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64IMAPChars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js +var require_sbcs_codec = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._sbcs = SBCSCodec; + function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data."); + if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) + throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); + var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + this.encodeBuf = encodeBuf; + } + SBCSCodec.prototype.encoder = SBCSEncoder; + SBCSCodec.prototype.decoder = SBCSDecoder; + function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; + } + SBCSEncoder.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + return buf; + }; + SBCSEncoder.prototype.end = function() { + }; + function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; + } + SBCSDecoder.prototype.write = function(buf) { + var decodeBuf = this.decodeBuf; + var newBuf = Buffer2.alloc(buf.length * 2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i] * 2; + idx2 = i * 2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; + } + return newBuf.toString("ucs2"); + }; + SBCSDecoder.prototype.end = function() { + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-data.js +var require_sbcs_data = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module2) { + "use strict"; + module2.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" + }, + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" + }, + "mik": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "cp720": { + "type": "_sbcs", + "chars": "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek": "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + "cp819": "iso88591", + "ibm819": "iso88591", + "cyrillic": "iso88595", + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + "greek": "iso88597", + "greek8": "iso88597", + "ecma118": "iso88597", + "elot928": "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + "strk10482002": "rk1048", + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", + "gb198880": "iso646cn", + "cn": "iso646cn", + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", + "mac": "macintosh", + "csmacintosh": "macintosh" + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js +var require_sbcs_data_generated = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module2) { + "use strict"; + module2.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "macgreek": { + "type": "_sbcs", + "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + }, + "maciceland": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macroman": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macromania": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macthai": { + "type": "_sbcs", + "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "macturkish": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macukraine": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "koi8r": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8u": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8t": { + "type": "_sbcs", + "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "armscii8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" + }, + "rk1048": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "georgianps": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "pt154": { + "type": "_sbcs", + "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "viscii": { + "type": "_sbcs", + "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "hproman8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" + }, + "macintosh": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "ascii": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "tis620": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + } + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js +var require_dbcs_codec = __commonJS({ + "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._dbcs = DBCSCodec; + var UNASSIGNED = -1; + var GB18030_CODE = -2; + var SEQ_START = -10; + var NODE_START = -1e3; + var UNASSIGNED_NODE = new Array(256); + var DEF_CHAR = -1; + for (i = 0; i < 256; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; + var i; + function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data."); + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); + var mappingTable = codecOptions.table(); + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); + this.decodeTableSeq = []; + for (var i2 = 0; i2 < mappingTable.length; i2++) + this._addDecodeChunk(mappingTable[i2]); + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030(); + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var firstByteNode = this.decodeTables[0]; + for (var i2 = 129; i2 <= 254; i2++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; + for (var j = 48; j <= 57; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); + } + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 129; k <= 254; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); + } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 48; l <= 57; l++) { + if (fourthByteNode[l] === UNASSIGNED) + fourthByteNode[l] = GB18030_CODE; + } + } + } + } + } + this.defaultCharUnicode = iconv.defaultCharUnicode; + this.encodeTable = []; + this.encodeTableSeq = []; + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { + var val2 = codecOptions.encodeSkipVals[i2]; + if (typeof val2 === "number") + skipEncodeChars[val2] = true; + else + for (var j = val2.from; j <= val2.to; j++) + skipEncodeChars[j] = true; + } + this._fillEncodeTable(0, 0, skipEncodeChars); + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) + this.defCharSB = this.encodeTable[0]["?"]; + if (this.defCharSB === UNASSIGNED) + this.defCharSB = "?".charCodeAt(0); + } + DBCSCodec.prototype.encoder = DBCSEncoder; + DBCSCodec.prototype.decoder = DBCSDecoder; + DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) + bytes.push(addr & 255); + if (bytes.length == 0) + bytes.push(0); + var node = this.decodeTables[0]; + for (var i2 = bytes.length - 1; i2 > 0; i2--) { + var val2 = node[bytes[i2]]; + if (val2 == UNASSIGNED) { + node[bytes[i2]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } else if (val2 <= NODE_START) { + node = this.decodeTables[NODE_START - val2]; + } else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + return node; + }; + DBCSCodec.prototype._addDecodeChunk = function(chunk) { + var curAddr = parseInt(chunk[0], 16); + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 255; + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { + for (var l = 0; l < part.length; ) { + var code = part.charCodeAt(l++); + if (55296 <= code && code < 56320) { + var codeTrail = part.charCodeAt(l++); + if (56320 <= codeTrail && codeTrail < 57344) + writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } else if (4080 < code && code <= 4095) { + var len = 4095 - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } else + writeTable[curAddr++] = code; + } + } else if (typeof part === "number") { + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; + } else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + if (curAddr > 255) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); + }; + DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; + if (this.encodeTable[high] === void 0) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); + return this.encodeTable[high]; + }; + DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; + }; + DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + var node; + if (bucket[low] <= SEQ_START) { + node = this.encodeTableSeq[SEQ_START - bucket[low]]; + } else { + node = {}; + if (bucket[low] !== UNASSIGNED) + node[DEF_CHAR] = bucket[low]; + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === "object") + node = oldVal; + else { + node = node[uCode] = {}; + if (oldVal !== void 0) + node[DEF_CHAR] = oldVal; + } + } + uCode = seq[seq.length - 1]; + node[uCode] = dbcsCode; + }; + DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i2 = 0; i2 < 256; i2++) { + var uCode = node[i2]; + var mbCode = prefix + i2; + if (skipEncodeChars[mbCode]) + continue; + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { + var newPrefix = mbCode << 8 >>> 0; + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) + hasValues = true; + else + subNodeEmpty[subNodeIdx] = true; + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } + } + return hasValues; + }; + function DBCSEncoder(options, codec) { + this.leadSurrogate = -1; + this.seqObj = void 0; + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; + } + DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; + while (true) { + if (nextChar === -1) { + if (i2 == str.length) + break; + var uCode = str.charCodeAt(i2++); + } else { + var uCode = nextChar; + nextChar = -1; + } + if (55296 <= uCode && uCode < 57344) { + if (uCode < 56320) { + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + uCode = UNASSIGNED; + } + } else { + if (leadSurrogate !== -1) { + uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); + leadSurrogate = -1; + } else { + uCode = UNASSIGNED; + } + } + } else if (leadSurrogate !== -1) { + nextChar = uCode; + uCode = UNASSIGNED; + leadSurrogate = -1; + } + var dbcsCode = UNASSIGNED; + if (seqObj !== void 0 && uCode != UNASSIGNED) { + var resCode = seqObj[uCode]; + if (typeof resCode === "object") { + seqObj = resCode; + continue; + } else if (typeof resCode == "number") { + dbcsCode = resCode; + } else if (resCode == void 0) { + resCode = seqObj[DEF_CHAR]; + if (resCode !== void 0) { + dbcsCode = resCode; + nextChar = uCode; + } else { + } + } + seqObj = void 0; + } else if (uCode >= 0) { + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== void 0) + dbcsCode = subtable[uCode & 255]; + if (dbcsCode <= SEQ_START) { + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; + continue; + } + if (dbcsCode == UNASSIGNED && this.gb18030) { + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); + dbcsCode = dbcsCode % 12600; + newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); + dbcsCode = dbcsCode % 1260; + newBuf[j++] = 129 + Math.floor(dbcsCode / 10); + dbcsCode = dbcsCode % 10; + newBuf[j++] = 48 + dbcsCode; + continue; + } + } + } + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else if (dbcsCode < 65536) { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } else if (dbcsCode < 16777216) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = dbcsCode >> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = dbcsCode >>> 16 & 255; + newBuf[j++] = dbcsCode >>> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } + } + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === void 0) + return; + var newBuf = Buffer2.alloc(10), j = 0; + if (this.seqObj) { + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== void 0) { + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } + } else { + } + this.seqObj = void 0; + } + if (this.leadSurrogate !== -1) { + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.findIdx = findIdx; + function DBCSDecoder(options, codec) { + this.nodeIdx = 0; + this.prevBytes = []; + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; + } + DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode; + for (var i2 = 0, j = 0; i2 < buf.length; i2++) { + var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; + var uCode = this.decodeTables[nodeIdx][curByte]; + if (uCode >= 0) { + } else if (uCode === UNASSIGNED) { + uCode = this.defaultCharUnicode.charCodeAt(0); + i2 = seqStart; + } else if (uCode === GB18030_CODE) { + if (i2 >= 3) { + var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); + } else { + var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } else if (uCode <= NODE_START) { + nodeIdx = NODE_START - uCode; + continue; + } else if (uCode <= SEQ_START) { + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length - 1]; + } else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + if (uCode >= 65536) { + uCode -= 65536; + var uCodeLead = 55296 | uCode >> 10; + newBuf[j++] = uCodeLead & 255; + newBuf[j++] = uCodeLead >> 8; + uCode = 56320 | uCode & 1023; + } + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + nodeIdx = 0; + seqStart = i2 + 1; + } + this.nodeIdx = nodeIdx; + this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString("ucs2"); + }; + DBCSDecoder.prototype.end = function() { + var ret = ""; + while (this.prevBytes.length > 0) { + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) + ret += this.write(bytesArr); + } + this.prevBytes = []; + this.nodeIdx = 0; + return ret; + }; + function findIdx(table, val2) { + if (table[0] > val2) + return -1; + var l = 0, r = table.length; + while (l < r - 1) { + var mid = l + (r - l + 1 >> 1); + if (table[mid] <= val2) + l = mid; + else + r = mid; + } + return l; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json +var require_shiftjis = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 128], + ["a1", "\uFF61", 62], + ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], + ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["81fc", "\u25EF"], + ["824f", "\uFF10", 9], + ["8260", "\uFF21", 25], + ["8281", "\uFF41", 25], + ["829f", "\u3041", 82], + ["8340", "\u30A1", 62], + ["8380", "\u30E0", 22], + ["839f", "\u0391", 16, "\u03A3", 6], + ["83bf", "\u03B1", 16, "\u03C3", 6], + ["8440", "\u0410", 5, "\u0401\u0416", 25], + ["8470", "\u0430", 5, "\u0451\u0436", 7], + ["8480", "\u043E", 17], + ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["8740", "\u2460", 19, "\u2160", 9], + ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["877e", "\u337B"], + ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], + ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], + ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], + ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], + ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], + ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], + ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], + ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], + ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], + ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], + ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], + ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], + ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], + ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], + ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], + ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], + ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], + ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], + ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], + ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], + ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], + ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], + ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], + ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], + ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], + ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], + ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], + ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], + ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], + ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], + ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], + ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], + ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], + ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], + ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], + ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["f040", "\uE000", 62], + ["f080", "\uE03F", 124], + ["f140", "\uE0BC", 62], + ["f180", "\uE0FB", 124], + ["f240", "\uE178", 62], + ["f280", "\uE1B7", 124], + ["f340", "\uE234", 62], + ["f380", "\uE273", 124], + ["f440", "\uE2F0", 62], + ["f480", "\uE32F", 124], + ["f540", "\uE3AC", 62], + ["f580", "\uE3EB", 124], + ["f640", "\uE468", 62], + ["f680", "\uE4A7", 124], + ["f740", "\uE524", 62], + ["f780", "\uE563", 124], + ["f840", "\uE5E0", 62], + ["f880", "\uE61F", 124], + ["f940", "\uE69C"], + ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], + ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], + ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], + ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], + ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json +var require_eucjp = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8ea1", "\uFF61", 62], + ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], + ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["a2fe", "\u25EF"], + ["a3b0", "\uFF10", 9], + ["a3c1", "\uFF21", 25], + ["a3e1", "\uFF41", 25], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["ada1", "\u2460", 19, "\u2160", 9], + ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], + ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], + ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], + ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], + ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], + ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], + ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], + ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], + ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], + ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], + ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], + ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], + ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], + ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], + ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], + ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], + ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], + ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], + ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], + ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], + ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], + ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], + ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], + ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], + ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], + ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], + ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], + ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], + ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], + ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], + ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], + ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], + ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], + ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], + ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], + ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], + ["8fa2c2", "\xA1\xA6\xBF"], + ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], + ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], + ["8fa6e7", "\u038C"], + ["8fa6e9", "\u038E\u03AB"], + ["8fa6ec", "\u038F"], + ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], + ["8fa7c2", "\u0402", 10, "\u040E\u040F"], + ["8fa7f2", "\u0452", 10, "\u045E\u045F"], + ["8fa9a1", "\xC6\u0110"], + ["8fa9a4", "\u0126"], + ["8fa9a6", "\u0132"], + ["8fa9a8", "\u0141\u013F"], + ["8fa9ab", "\u014A\xD8\u0152"], + ["8fa9af", "\u0166\xDE"], + ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], + ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], + ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], + ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], + ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], + ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], + ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], + ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], + ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], + ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], + ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], + ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], + ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], + ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], + ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], + ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], + ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], + ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], + ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], + ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], + ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], + ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], + ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], + ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], + ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], + ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], + ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], + ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], + ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], + ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], + ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], + ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], + ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], + ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], + ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], + ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], + ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], + ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], + ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], + ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], + ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], + ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], + ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], + ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], + ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], + ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], + ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], + ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], + ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], + ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], + ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], + ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], + ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], + ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], + ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], + ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], + ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], + ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], + ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], + ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], + ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], + ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], + ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], + ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], + ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], + ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], + ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], + ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp936.json +var require_cp936 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127, "\u20AC"], + ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], + ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], + ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], + ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], + ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], + ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], + ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], + ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], + ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], + ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], + ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], + ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], + ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], + ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], + ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], + ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], + ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], + ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], + ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], + ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], + ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], + ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], + ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], + ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], + ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], + ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], + ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], + ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], + ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], + ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], + ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], + ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], + ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], + ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], + ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], + ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], + ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], + ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], + ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], + ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], + ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], + ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], + ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], + ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], + ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], + ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], + ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], + ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], + ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], + ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], + ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], + ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], + ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], + ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], + ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], + ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], + ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], + ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], + ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], + ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], + ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], + ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], + ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], + ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], + ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], + ["a2a1", "\u2170", 9], + ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], + ["a2e5", "\u3220", 9], + ["a2f1", "\u2160", 11], + ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], + ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], + ["a6f4", "\uFE33\uFE34"], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], + ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], + ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], + ["a8bd", "\u0144\u0148"], + ["a8c0", "\u0261"], + ["a8c5", "\u3105", 36], + ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], + ["a959", "\u2121\u3231"], + ["a95c", "\u2010"], + ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], + ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], + ["a996", "\u3007"], + ["a9a4", "\u2500", 75], + ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], + ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], + ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], + ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], + ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], + ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], + ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], + ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], + ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], + ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], + ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], + ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], + ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], + ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], + ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], + ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], + ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], + ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], + ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], + ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], + ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], + ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], + ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], + ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], + ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], + ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], + ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], + ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], + ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], + ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], + ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], + ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], + ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], + ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], + ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], + ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], + ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], + ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], + ["bd40", "\u7D37", 54, "\u7D6F", 7], + ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], + ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], + ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], + ["bf40", "\u7DFB", 62], + ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], + ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], + ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], + ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], + ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], + ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], + ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], + ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], + ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], + ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], + ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], + ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], + ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], + ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], + ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], + ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], + ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], + ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], + ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], + ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], + ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], + ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], + ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], + ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], + ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], + ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], + ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], + ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], + ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], + ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], + ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], + ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], + ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], + ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], + ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], + ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], + ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], + ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], + ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], + ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], + ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], + ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], + ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], + ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], + ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], + ["d640", "\u8AE4", 34, "\u8B08", 27], + ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], + ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], + ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], + ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], + ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], + ["d940", "\u8CAE", 62], + ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], + ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], + ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], + ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], + ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], + ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], + ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], + ["dd40", "\u8EE5", 62], + ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], + ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], + ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], + ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], + ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], + ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], + ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], + ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], + ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], + ["e240", "\u91E6", 62], + ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], + ["e340", "\u9246", 45, "\u9275", 16], + ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], + ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], + ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], + ["e540", "\u930A", 51, "\u933F", 10], + ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], + ["e640", "\u936C", 34, "\u9390", 27], + ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], + ["e740", "\u93CE", 7, "\u93D7", 54], + ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], + ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], + ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], + ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], + ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], + ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], + ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], + ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], + ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], + ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], + ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], + ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], + ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], + ["ee40", "\u980F", 62], + ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], + ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], + ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], + ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], + ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], + ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], + ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], + ["f240", "\u99FA", 62], + ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], + ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], + ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], + ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], + ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], + ["f540", "\u9B7C", 62], + ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], + ["f640", "\u9BDC", 62], + ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], + ["f740", "\u9C3C", 62], + ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], + ["f840", "\u9CE3", 62], + ["f880", "\u9D22", 32], + ["f940", "\u9D43", 62], + ["f980", "\u9D82", 32], + ["fa40", "\u9DA3", 62], + ["fa80", "\u9DE2", 32], + ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], + ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], + ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], + ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], + ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], + ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], + ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json +var require_gbk_added = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module2) { + module2.exports = [ + ["a140", "\uE4C6", 62], + ["a180", "\uE505", 32], + ["a240", "\uE526", 62], + ["a280", "\uE565", 32], + ["a2ab", "\uE766", 5], + ["a2e3", "\u20AC\uE76D"], + ["a2ef", "\uE76E\uE76F"], + ["a2fd", "\uE770\uE771"], + ["a340", "\uE586", 62], + ["a380", "\uE5C5", 31, "\u3000"], + ["a440", "\uE5E6", 62], + ["a480", "\uE625", 32], + ["a4f4", "\uE772", 10], + ["a540", "\uE646", 62], + ["a580", "\uE685", 32], + ["a5f7", "\uE77D", 7], + ["a640", "\uE6A6", 62], + ["a680", "\uE6E5", 32], + ["a6b9", "\uE785", 7], + ["a6d9", "\uE78D", 6], + ["a6ec", "\uE794\uE795"], + ["a6f3", "\uE796"], + ["a6f6", "\uE797", 8], + ["a740", "\uE706", 62], + ["a780", "\uE745", 32], + ["a7c2", "\uE7A0", 14], + ["a7f2", "\uE7AF", 12], + ["a896", "\uE7BC", 10], + ["a8bc", "\u1E3F"], + ["a8bf", "\u01F9"], + ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], + ["a8ea", "\uE7CD", 20], + ["a958", "\uE7E2"], + ["a95b", "\uE7E3"], + ["a95d", "\uE7E4\uE7E5\uE7E6"], + ["a989", "\u303E\u2FF0", 11], + ["a997", "\uE7F4", 12], + ["a9f0", "\uE801", 14], + ["aaa1", "\uE000", 93], + ["aba1", "\uE05E", 93], + ["aca1", "\uE0BC", 93], + ["ada1", "\uE11A", 93], + ["aea1", "\uE178", 93], + ["afa1", "\uE1D6", 93], + ["d7fa", "\uE810", 4], + ["f8a1", "\uE234", 93], + ["f9a1", "\uE292", 93], + ["faa1", "\uE2F0", 93], + ["fba1", "\uE34E", 93], + ["fca1", "\uE3AC", 93], + ["fda1", "\uE40A", 93], + ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], + ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], + ["8135f437", "\uE7C7"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +var require_gb18030_ranges = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module2) { + module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp949.json +var require_cp949 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], + ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], + ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], + ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], + ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], + ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], + ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], + ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], + ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], + ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], + ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], + ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], + ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], + ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], + ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], + ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], + ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], + ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], + ["8741", "\uB19E", 9, "\uB1A9", 15], + ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], + ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], + ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], + ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], + ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], + ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], + ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], + ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], + ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], + ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], + ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], + ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], + ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], + ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], + ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], + ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], + ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], + ["8d41", "\uB6C3", 16, "\uB6D5", 8], + ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], + ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], + ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], + ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], + ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], + ["8f41", "\uB885", 7, "\uB88E", 17], + ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], + ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], + ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], + ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], + ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], + ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], + ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], + ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], + ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], + ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], + ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], + ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], + ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], + ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], + ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], + ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], + ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], + ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], + ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], + ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], + ["9641", "\uBEB8", 23, "\uBED2\uBED3"], + ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], + ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], + ["9741", "\uBF83", 16, "\uBF95", 8], + ["9761", "\uBF9E", 17, "\uBFB1", 7], + ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], + ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], + ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], + ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], + ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], + ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], + ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], + ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], + ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], + ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], + ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], + ["9b61", "\uC333", 17, "\uC346", 7], + ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], + ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], + ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], + ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], + ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], + ["9d61", "\uC4C6", 25], + ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], + ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], + ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], + ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], + ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], + ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], + ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], + ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], + ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], + ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], + ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], + ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], + ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], + ["a241", "\uC910\uC912", 5, "\uC919", 18], + ["a261", "\uC92D", 6, "\uC935", 18], + ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], + ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], + ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], + ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], + ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], + ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], + ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], + ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], + ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], + ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], + ["a5b0", "\u2160", 9], + ["a5c1", "\u0391", 16, "\u03A3", 6], + ["a5e1", "\u03B1", 16, "\u03C3", 6], + ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], + ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], + ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], + ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], + ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], + ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], + ["a841", "\uCB6D", 10, "\uCB7A", 14], + ["a861", "\uCB89", 18, "\uCB9D", 6], + ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], + ["a8a6", "\u0132"], + ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], + ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], + ["a941", "\uCBC5", 14, "\uCBD5", 10], + ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], + ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], + ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], + ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], + ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], + ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], + ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], + ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], + ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], + ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], + ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], + ["acd1", "\u0430", 5, "\u0451\u0436", 25], + ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], + ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], + ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], + ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], + ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], + ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], + ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], + ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], + ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], + ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], + ["b061", "\uCEBB", 5, "\uCEC2", 19], + ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], + ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], + ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], + ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], + ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], + ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], + ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], + ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], + ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], + ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], + ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], + ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], + ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], + ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], + ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], + ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], + ["b641", "\uD105", 7, "\uD10E", 17], + ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], + ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], + ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], + ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], + ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], + ["b841", "\uD1D0", 7, "\uD1D9", 17], + ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], + ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], + ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], + ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], + ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], + ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], + ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], + ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], + ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], + ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], + ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], + ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], + ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], + ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], + ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], + ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], + ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], + ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], + ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], + ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], + ["bf41", "\uD49E", 10, "\uD4AA", 14], + ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], + ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], + ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], + ["c061", "\uD51E", 25], + ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], + ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], + ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], + ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], + ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], + ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], + ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], + ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], + ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], + ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], + ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], + ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], + ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], + ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], + ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], + ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], + ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], + ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], + ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], + ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], + ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], + ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], + ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], + ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], + ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], + ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], + ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], + ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], + ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], + ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], + ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], + ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], + ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], + ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], + ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], + ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], + ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], + ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], + ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], + ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], + ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], + ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], + ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], + ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], + ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], + ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], + ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], + ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], + ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], + ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], + ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], + ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], + ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], + ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], + ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], + ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], + ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], + ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], + ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], + ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], + ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], + ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], + ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], + ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], + ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], + ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], + ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], + ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], + ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], + ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], + ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], + ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp950.json +var require_cp950 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], + ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], + ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], + ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], + ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], + ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], + ["a3e1", "\u20AC"], + ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], + ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], + ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], + ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], + ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], + ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], + ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], + ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], + ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], + ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], + ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], + ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], + ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], + ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], + ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], + ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], + ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], + ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], + ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], + ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], + ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], + ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], + ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], + ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], + ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], + ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], + ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], + ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], + ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], + ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], + ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], + ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], + ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], + ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], + ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], + ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], + ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], + ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], + ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], + ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], + ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], + ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], + ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], + ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], + ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], + ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], + ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], + ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], + ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], + ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], + ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], + ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], + ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], + ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], + ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], + ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], + ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], + ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], + ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], + ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], + ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], + ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], + ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], + ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], + ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], + ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], + ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], + ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], + ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], + ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], + ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], + ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], + ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], + ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], + ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], + ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], + ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], + ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], + ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], + ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], + ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], + ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], + ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], + ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], + ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], + ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], + ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], + ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], + ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], + ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], + ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], + ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], + ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], + ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], + ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], + ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], + ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], + ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], + ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], + ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], + ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], + ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], + ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], + ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], + ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], + ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], + ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], + ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], + ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], + ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], + ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], + ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], + ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], + ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], + ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], + ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], + ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], + ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], + ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], + ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], + ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], + ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], + ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], + ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], + ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], + ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], + ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], + ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], + ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], + ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], + ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], + ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], + ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], + ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], + ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], + ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], + ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], + ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], + ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], + ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], + ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], + ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], + ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], + ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], + ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], + ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], + ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], + ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], + ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], + ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], + ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], + ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], + ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], + ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], + ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], + ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], + ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], + ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], + ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], + ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], + ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], + ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], + ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], + ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], + ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], + ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], + ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json +var require_big5_added = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module2) { + module2.exports = [ + ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], + ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], + ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], + ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], + ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], + ["8940", "\u{2A3A9}\u{21145}"], + ["8943", "\u650A"], + ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], + ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], + ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], + ["89ab", "\u918C\u78B8\u915E\u80BC"], + ["89b0", "\u8D0B\u80F6\u{209E7}"], + ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], + ["89c1", "\u6E9A\u823E\u7519"], + ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], + ["8a40", "\u{27D84}\u5525"], + ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], + ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], + ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], + ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], + ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], + ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], + ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], + ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], + ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], + ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], + ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], + ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], + ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], + ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], + ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], + ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], + ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], + ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], + ["8cc9", "\u9868\u676B\u4276\u573D"], + ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], + ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], + ["8d40", "\u{20B9F}"], + ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], + ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], + ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], + ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], + ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], + ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], + ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], + ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], + ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], + ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], + ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], + ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], + ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], + ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], + ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], + ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], + ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], + ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], + ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], + ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], + ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], + ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], + ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], + ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], + ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], + ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], + ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], + ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], + ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], + ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], + ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], + ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], + ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], + ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], + ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], + ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], + ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], + ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], + ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], + ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], + ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], + ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], + ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], + ["9fae", "\u9159\u9681\u915C"], + ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], + ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], + ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], + ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], + ["9fe7", "\u6BFA\u8818\u7F78"], + ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], + ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], + ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], + ["a055", "\u{2183B}\u{26E05}"], + ["a058", "\u8A7E\u{2251B}"], + ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], + ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], + ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], + ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], + ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], + ["a0ae", "\u77FE"], + ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], + ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], + ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], + ["a3c0", "\u2400", 31, "\u2421"], + ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], + ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], + ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], + ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], + ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], + ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], + ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], + ["f9fe", "\uFFED"], + ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], + ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], + ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], + ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], + ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], + ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], + ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], + ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], + ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], + ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/dbcs-data.js +var require_dbcs_data = __commonJS({ + "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module2) { + "use strict"; + module2.exports = { + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + "shiftjis": { + type: "_dbcs", + table: function() { + return require_shiftjis(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 }, + encodeSkipVals: [{ from: 60736, to: 63808 }] + }, + "csshiftjis": "shiftjis", + "mskanji": "shiftjis", + "sjis": "shiftjis", + "windows31j": "shiftjis", + "ms31j": "shiftjis", + "xsjis": "shiftjis", + "windows932": "shiftjis", + "ms932": "shiftjis", + "932": "shiftjis", + "cp932": "shiftjis", + "eucjp": { + type: "_dbcs", + table: function() { + return require_eucjp(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 } + }, + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + "gb2312": "cp936", + "gb231280": "cp936", + "gb23121980": "cp936", + "csgb2312": "cp936", + "csiso58gb231280": "cp936", + "euccn": "cp936", + // Microsoft's CP936 is a subset and approximation of GBK. + "windows936": "cp936", + "ms936": "cp936", + "936": "cp936", + "cp936": { + type: "_dbcs", + table: function() { + return require_cp936(); + } + }, + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + "gbk": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + } + }, + "xgbk": "gbk", + "isoir58": "gbk", + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + "gb18030": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + }, + gb18030: function() { + return require_gb18030_ranges(); + }, + encodeSkipVals: [128], + encodeAdd: { "\u20AC": 41699 } + }, + "chinese": "gb18030", + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + "windows949": "cp949", + "ms949": "cp949", + "949": "cp949", + "cp949": { + type: "_dbcs", + table: function() { + return require_cp949(); + } + }, + "cseuckr": "cp949", + "csksc56011987": "cp949", + "euckr": "cp949", + "isoir149": "cp949", + "korean": "cp949", + "ksc56011987": "cp949", + "ksc56011989": "cp949", + "ksc5601": "cp949", + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + "windows950": "cp950", + "ms950": "cp950", + "950": "cp950", + "cp950": { + type: "_dbcs", + table: function() { + return require_cp950(); + } + }, + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + "big5": "big5hkscs", + "big5hkscs": { + type: "_dbcs", + table: function() { + return require_cp950().concat(require_big5_added()); + }, + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 36457, + 36463, + 36478, + 36523, + 36532, + 36557, + 36560, + 36695, + 36713, + 36718, + 36811, + 36862, + 36973, + 36986, + 37060, + 37084, + 37105, + 37311, + 37551, + 37552, + 37553, + 37554, + 37585, + 37959, + 38090, + 38361, + 38652, + 39285, + 39798, + 39800, + 39803, + 39878, + 39902, + 39916, + 39926, + 40002, + 40019, + 40034, + 40040, + 40043, + 40055, + 40124, + 40125, + 40144, + 40279, + 40282, + 40388, + 40431, + 40443, + 40617, + 40687, + 40701, + 40800, + 40907, + 41079, + 41180, + 41183, + 36812, + 37576, + 38468, + 38637, + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 41636, + 41637, + 41639, + 41638, + 41676, + 41678 + ] + }, + "cnbig5": "big5hkscs", + "csbig5": "big5hkscs", + "xxbig5": "big5hkscs" + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/index.js +var require_encodings = __commonJS({ + "../../../node_modules/iconv-lite/encodings/index.js"(exports, module2) { + "use strict"; + var modules = [ + require_internal(), + require_utf32(), + require_utf16(), + require_utf7(), + require_sbcs_codec(), + require_sbcs_data(), + require_sbcs_data_generated(), + require_dbcs_codec(), + require_dbcs_data() + ]; + for (i = 0; i < modules.length; i++) { + module2 = modules[i]; + for (enc in module2) + if (Object.prototype.hasOwnProperty.call(module2, enc)) + exports[enc] = module2[enc]; + } + var module2; + var enc; + var i; + } +}); + +// ../../../node_modules/iconv-lite/lib/streams.js +var require_streams = __commonJS({ + "../../../node_modules/iconv-lite/lib/streams.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = function(stream_module) { + var Transform = stream_module.Transform; + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; + Transform.call(this, options); + } + IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != "string") + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) + this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) + this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on("error", cb); + this.on("data", function(chunk) { + chunks.push(chunk); + }); + this.on("end", function() { + cb(null, Buffer2.concat(chunks)); + }); + return this; + }; + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = "utf8"; + Transform.call(this, options); + } + IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) + this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) + this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ""; + this.on("error", cb); + this.on("data", function(chunk) { + res += chunk; + }); + this.on("end", function() { + cb(null, res); + }); + return this; + }; + return { + IconvLiteEncoderStream, + IconvLiteDecoderStream + }; + }; + } +}); + +// ../../../node_modules/iconv-lite/lib/index.js +var require_lib3 = __commonJS({ + "../../../node_modules/iconv-lite/lib/index.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + var bomHandling = require_bom_handling(); + var iconv = module2.exports; + iconv.encodings = null; + iconv.defaultCharUnicode = "\uFFFD"; + iconv.defaultCharSingleByte = "?"; + iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); + var encoder = iconv.getEncoder(encoding, options); + var res = encoder.write(str); + var trail = encoder.end(); + return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; + }; + iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === "string") { + if (!iconv.skipDecodeWarning) { + console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); + iconv.skipDecodeWarning = true; + } + buf = Buffer2.from("" + (buf || ""), "binary"); + } + var decoder = iconv.getDecoder(encoding, options); + var res = decoder.write(buf); + var trail = decoder.end(); + return trail ? res + trail : res; + }; + iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; + } + }; + iconv.toEncoding = iconv.encode; + iconv.fromEncoding = iconv.decode; + iconv._codecDataCache = {}; + iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = require_encodings(); + var enc = iconv._canonicalizeEncoding(encoding); + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + var codecDef = iconv.encodings[enc]; + switch (typeof codecDef) { + case "string": + enc = codecDef; + break; + case "object": + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + enc = codecDef.type; + break; + case "function": + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + codec = new codecDef(codecOptions, iconv); + iconv._codecDataCache[codecOptions.encodingName] = codec; + return codec; + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); + } + } + }; + iconv._canonicalizeEncoding = function(encoding) { + return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); + }; + iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + return encoder; + }; + iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + return decoder; + }; + iconv.enableStreamingAPI = function enableStreamingAPI(stream_module2) { + if (iconv.supportsStreams) + return; + var streams = require_streams()(stream_module2); + iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + iconv.encodeStream = function encodeStream(encoding, options) { + return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); + }; + iconv.decodeStream = function decodeStream(encoding, options) { + return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); + }; + iconv.supportsStreams = true; + }; + var stream_module; + try { + stream_module = require("stream"); + } catch (e) { + } + if (stream_module && stream_module.Transform) { + iconv.enableStreamingAPI(stream_module); + } else { + iconv.encodeStream = iconv.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; + } + if (false) { + console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); + } + } +}); + +// ../../../node_modules/encoding/lib/encoding.js +var require_encoding = __commonJS({ + "../../../node_modules/encoding/lib/encoding.js"(exports, module2) { + "use strict"; + var iconvLite = require_lib3(); + module2.exports.convert = convert; + function convert(str, to, from) { + from = checkEncoding(from || "UTF-8"); + to = checkEncoding(to || "UTF-8"); + str = str || ""; + var result; + if (from !== "UTF-8" && typeof str === "string") { + str = Buffer.from(str, "binary"); + } + if (from === to) { + if (typeof str === "string") { + result = Buffer.from(str); + } else { + result = str; + } + } else { + try { + result = convertIconvLite(str, to, from); + } catch (E) { + console.error(E); + result = str; + } + } + if (typeof result === "string") { + result = Buffer.from(result, "utf-8"); + } + return result; + } + function convertIconvLite(str, to, from) { + if (to === "UTF-8") { + return iconvLite.decode(str, from); + } else if (from === "UTF-8") { + return iconvLite.encode(str, to); + } else { + return iconvLite.encode(iconvLite.decode(str, from), to); + } + } + function checkEncoding(name) { + return (name || "").toString().trim().replace(/^latin[\-_]?(\d+)$/i, "ISO-8859-$1").replace(/^win(?:dows)?[\-_]?(\d+)$/i, "WINDOWS-$1").replace(/^utf[\-_]?(\d+)$/i, "UTF-$1").replace(/^ks_c_5601\-1987$/i, "CP949").replace(/^us[\-_]?ascii$/i, "ASCII").toUpperCase(); + } + } +}); + +// ../../../node_modules/node-fetch/lib/index.js +var require_lib4 = __commonJS({ + "../../../node_modules/node-fetch/lib/index.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function _interopDefault(ex) { + return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; + } + var Stream = _interopDefault(require("stream")); + var http = _interopDefault(require("http")); + var Url = _interopDefault(require("url")); + var whatwgUrl = _interopDefault(require_public_api()); + var https2 = _interopDefault(require("https")); + var zlib = _interopDefault(require("zlib")); + var Readable = Stream.Readable; + var BUFFER = Symbol("buffer"); + var TYPE = Symbol("type"); + var Blob = class _Blob { + constructor() { + this[TYPE] = ""; + const blobParts = arguments[0]; + const options = arguments[1]; + const buffers = []; + let size = 0; + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof _Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === "string" ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + this[BUFFER] = Buffer.concat(buffers); + let type = options && options.type !== void 0 && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function() { + }; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return "[object Blob]"; + } + slice() { + const size = this.size; + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === void 0) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === void 0) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new _Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } + }; + Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } + }); + Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: "Blob", + writable: false, + enumerable: false, + configurable: true + }); + function FetchError(message, type, systemError) { + Error.call(this, message); + this.message = message; + this.type = type; + if (systemError) { + this.code = this.errno = systemError.code; + } + Error.captureStackTrace(this, this.constructor); + } + FetchError.prototype = Object.create(Error.prototype); + FetchError.prototype.constructor = FetchError; + FetchError.prototype.name = "FetchError"; + var convert; + try { + convert = require_encoding().convert; + } catch (e) { + } + var INTERNALS = Symbol("Body internals"); + var PassThrough = Stream.PassThrough; + function Body(body) { + var _this = this; + var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; + let size = _ref$size === void 0 ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; + if (body == null) { + body = null; + } else if (isURLSearchParams(body)) { + body = Buffer.from(body.toString()); + } else if (isBlob(body)) + ; + else if (Buffer.isBuffer(body)) + ; + else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) + ; + else { + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + if (body instanceof Stream) { + body.on("error", function(err) { + const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); + _this[INTERNALS].error = error; + }); + } + } + Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function(buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get("content-type") || ""; + return consumeBody.call(this).then(function(buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), + { + [BUFFER]: buf + } + ); + }); + }, + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + return consumeBody.call(this).then(function(buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); + } + }); + }, + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function(buffer) { + return buffer.toString(); + }); + }, + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + return consumeBody.call(this).then(function(buffer) { + return convertBody(buffer, _this3.headers); + }); + } + }; + Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } + }); + Body.mixIn = function(proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } + }; + function consumeBody() { + var _this4 = this; + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + this[INTERNALS].disturbed = true; + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + let body = this.body; + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + if (isBlob(body)) { + body = body.stream(); + } + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + let accum = []; + let accumBytes = 0; + let abort = false; + return new Body.Promise(function(resolve, reject) { + let resTimeout; + if (_this4.timeout) { + resTimeout = setTimeout(function() { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); + }, _this4.timeout); + } + body.on("error", function(err) { + if (err.name === "AbortError") { + abort = true; + reject(err); + } else { + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); + } + }); + body.on("data", function(chunk) { + if (abort || chunk === null) { + return; + } + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); + return; + } + accumBytes += chunk.length; + accum.push(chunk); + }); + body.on("end", function() { + if (abort) { + return; + } + clearTimeout(resTimeout); + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); + } + }); + }); + } + function convertBody(buffer, headers) { + if (typeof convert !== "function") { + throw new Error("The package `encoding` must be installed to use the textConverted() function"); + } + const ct = headers.get("content-type"); + let charset = "utf-8"; + let res, str; + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + str = buffer.slice(0, 1024).toString(); + if (!res && str) { + res = / 0 && arguments[0] !== void 0 ? arguments[0] : void 0; + this[MAP] = /* @__PURE__ */ Object.create(null); + if (init instanceof _Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + return; + } + if (init == null) + ; + else if (typeof init === "object") { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== "function") { + throw new TypeError("Header pairs must be iterable"); + } + const pairs = []; + for (const pair of init) { + if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { + throw new TypeError("Each header pair must be iterable"); + } + pairs.push(Array.from(pair)); + } + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError("Each header pair must be a name/value tuple"); + } + this.append(pair[0], pair[1]); + } + } else { + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError("Provided initializer must be an object"); + } + } + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === void 0) { + return null; + } + return this[MAP][key].join(", "); + } + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], value = _pairs$i[1]; + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== void 0 ? key : name] = [value]; + } + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== void 0) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== void 0; + } + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== void 0) { + delete this[MAP][key]; + } + } + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, "key"); + } + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, "value"); + } + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, "key+value"); + } + }; + Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: "Headers", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } + }); + function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === "key" ? function(k) { + return k.toLowerCase(); + } : kind === "value" ? function(k) { + return headers[MAP][k].join(", "); + } : function(k) { + return [k.toLowerCase(), headers[MAP][k].join(", ")]; + }); + } + var INTERNAL = Symbol("internal"); + function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; + } + var HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError("Value of `this` is not a HeadersIterator"); + } + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: void 0, + done: true + }; + } + this[INTERNAL].index = index + 1; + return { + value: values[index], + done: false + }; + } + }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: "HeadersIterator", + writable: false, + enumerable: false, + configurable: true + }); + function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + const hostHeaderKey = find(headers[MAP], "Host"); + if (hostHeaderKey !== void 0) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + return obj; + } + function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val2 of obj[name]) { + if (invalidHeaderCharRegex.test(val2)) { + continue; + } + if (headers[MAP][name] === void 0) { + headers[MAP][name] = [val2]; + } else { + headers[MAP][name].push(val2); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; + } + var INTERNALS$1 = Symbol("Response internals"); + var STATUS_CODES = http.STATUS_CODES; + var Response2 = class _Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + Body.call(this, body, opts); + const status = opts.status || 200; + const headers = new Headers(opts.headers); + if (body != null && !headers.has("Content-Type")) { + const contentType = extractContentType(body); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + get url() { + return this[INTERNALS$1].url || ""; + } + get status() { + return this[INTERNALS$1].status; + } + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + get redirected() { + return this[INTERNALS$1].counter > 0; + } + get statusText() { + return this[INTERNALS$1].statusText; + } + get headers() { + return this[INTERNALS$1].headers; + } + /** + * Clone this response + * + * @return Response + */ + clone() { + return new _Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } + }; + Body.mixIn(Response2.prototype); + Object.defineProperties(Response2.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } + }); + Object.defineProperty(Response2.prototype, Symbol.toStringTag, { + value: "Response", + writable: false, + enumerable: false, + configurable: true + }); + var INTERNALS$2 = Symbol("Request internals"); + var URL3 = Url.URL || whatwgUrl.URL; + var parse_url = Url.parse; + var format_url = Url.format; + function parseURL(urlStr) { + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL3(urlStr).toString(); + } + return parse_url(urlStr); + } + var streamDestructionSupported = "destroy" in Stream.Readable.prototype; + function isRequest(input) { + return typeof input === "object" && typeof input[INTERNALS$2] === "object"; + } + function isAbortSignal(signal) { + const proto = signal && typeof signal === "object" && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === "AbortSignal"); + } + var Request = class _Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + let parsedURL; + if (!isRequest(input)) { + if (input && input.href) { + parsedURL = parseURL(input.href); + } else { + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + let method = init.method || input.method || "GET"; + method = method.toUpperCase(); + if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body"); + } + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + const headers = new Headers(init.headers || input.headers || {}); + if (inputBody != null && !headers.has("Content-Type")) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + let signal = isRequest(input) ? input.signal : null; + if ("signal" in init) + signal = init.signal; + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError("Expected signal to be an instanceof AbortSignal"); + } + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || "follow", + headers, + parsedURL, + signal + }; + this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; + this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + get method() { + return this[INTERNALS$2].method; + } + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + get headers() { + return this[INTERNALS$2].headers; + } + get redirect() { + return this[INTERNALS$2].redirect; + } + get signal() { + return this[INTERNALS$2].signal; + } + /** + * Clone this request + * + * @return Request + */ + clone() { + return new _Request(this); + } + }; + Body.mixIn(Request.prototype); + Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: "Request", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } + }); + function getNodeRequestOptions(request2) { + const parsedURL = request2[INTERNALS$2].parsedURL; + const headers = new Headers(request2[INTERNALS$2].headers); + if (!headers.has("Accept")) { + headers.set("Accept", "*/*"); + } + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError("Only absolute URLs are supported"); + } + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError("Only HTTP(S) protocols are supported"); + } + if (request2.signal && request2.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); + } + let contentLengthValue = null; + if (request2.body == null && /^(POST|PUT)$/i.test(request2.method)) { + contentLengthValue = "0"; + } + if (request2.body != null) { + const totalBytes = getTotalBytes(request2); + if (typeof totalBytes === "number") { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set("Content-Length", contentLengthValue); + } + if (!headers.has("User-Agent")) { + headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); + } + if (request2.compress && !headers.has("Accept-Encoding")) { + headers.set("Accept-Encoding", "gzip,deflate"); + } + let agent = request2.agent; + if (typeof agent === "function") { + agent = agent(parsedURL); + } + if (!headers.has("Connection") && !agent) { + headers.set("Connection", "close"); + } + return Object.assign({}, parsedURL, { + method: request2.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); + } + function AbortError(message) { + Error.call(this, message); + this.type = "aborted"; + this.message = message; + Error.captureStackTrace(this, this.constructor); + } + AbortError.prototype = Object.create(Error.prototype); + AbortError.prototype.constructor = AbortError; + AbortError.prototype.name = "AbortError"; + var URL$1 = Url.URL || whatwgUrl.URL; + var PassThrough$1 = Stream.PassThrough; + var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); + }; + var isSameProtocol = function isSameProtocol2(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + return orig === dest; + }; + function fetch2(url2, opts) { + if (!fetch2.Promise) { + throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); + } + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request2 = new Request(url2, opts); + const options = getNodeRequestOptions(request2); + const send = (options.protocol === "https:" ? https2 : http).request; + const signal = request2.signal; + let response = null; + const abort = function abort2() { + let error = new AbortError("The user aborted a request."); + reject(error); + if (request2.body && request2.body instanceof Stream.Readable) { + destroyStream(request2.body, error); + } + if (!response || !response.body) + return; + response.body.emit("error", error); + }; + if (signal && signal.aborted) { + abort(); + return; + } + const abortAndFinalize = function abortAndFinalize2() { + abort(); + finalize(); + }; + const req = send(options); + let reqTimeout; + if (signal) { + signal.addEventListener("abort", abortAndFinalize); + } + function finalize() { + req.abort(); + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + clearTimeout(reqTimeout); + } + if (request2.timeout) { + req.once("socket", function(socket) { + reqTimeout = setTimeout(function() { + reject(new FetchError(`network timeout at: ${request2.url}`, "request-timeout")); + finalize(); + }, request2.timeout); + }); + } + req.on("error", function(err) { + reject(new FetchError(`request to ${request2.url} failed, reason: ${err.message}`, "system", err)); + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); + }); + fixResponseChunkedTransferBadEnding(req, function(err) { + if (signal && signal.aborted) { + return; + } + if (response && response.body) { + destroyStream(response.body, err); + } + }); + if (parseInt(process.version.substring(1)) < 14) { + req.on("socket", function(s) { + s.addListener("close", function(hadError) { + const hasDataListener = s.listenerCount("data") > 0; + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + response.body.emit("error", err); + } + }); + }); + } + req.on("response", function(res) { + clearTimeout(reqTimeout); + const headers = createHeadersLenient(res.headers); + if (fetch2.isRedirect(res.statusCode)) { + const location = headers.get("Location"); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request2.url).toString(); + } catch (err) { + if (request2.redirect !== "manual") { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); + finalize(); + return; + } + } + switch (request2.redirect) { + case "error": + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request2.url}`, "no-redirect")); + finalize(); + return; + case "manual": + if (locationURL !== null) { + try { + headers.set("Location", locationURL); + } catch (err) { + reject(err); + } + } + break; + case "follow": + if (locationURL === null) { + break; + } + if (request2.counter >= request2.follow) { + reject(new FetchError(`maximum redirect reached at: ${request2.url}`, "max-redirect")); + finalize(); + return; + } + const requestOpts = { + headers: new Headers(request2.headers), + follow: request2.follow, + counter: request2.counter + 1, + agent: request2.agent, + compress: request2.compress, + method: request2.method, + body: request2.body, + signal: request2.signal, + timeout: request2.timeout, + size: request2.size + }; + if (!isDomainOrSubdomain(request2.url, locationURL) || !isSameProtocol(request2.url, locationURL)) { + for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { + requestOpts.headers.delete(name); + } + } + if (res.statusCode !== 303 && request2.body && getTotalBytes(request2) === null) { + reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); + finalize(); + return; + } + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request2.method === "POST") { + requestOpts.method = "GET"; + requestOpts.body = void 0; + requestOpts.headers.delete("content-length"); + } + resolve(fetch2(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + res.once("end", function() { + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + const response_options = { + url: request2.url, + status: res.statusCode, + statusText: res.statusMessage, + headers, + size: request2.size, + timeout: request2.timeout, + counter: request2.counter + }; + const codings = headers.get("Content-Encoding"); + if (!request2.compress || request2.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response2(body, response_options); + resolve(response); + return; + } + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + if (codings == "gzip" || codings == "x-gzip") { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response2(body, response_options); + resolve(response); + return; + } + if (codings == "deflate" || codings == "x-deflate") { + const raw = res.pipe(new PassThrough$1()); + raw.once("data", function(chunk) { + if ((chunk[0] & 15) === 8) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response2(body, response_options); + resolve(response); + }); + raw.on("end", function() { + if (!response) { + response = new Response2(body, response_options); + resolve(response); + } + }); + return; + } + if (codings == "br" && typeof zlib.createBrotliDecompress === "function") { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response2(body, response_options); + resolve(response); + return; + } + response = new Response2(body, response_options); + resolve(response); + }); + writeToStream(req, request2); + }); + } + function fixResponseChunkedTransferBadEnding(request2, errorCallback) { + let socket; + request2.on("socket", function(s) { + socket = s; + }); + request2.on("response", function(response) { + const headers = response.headers; + if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { + response.once("close", function(hadError) { + const hasDataListener = socket && socket.listenerCount("data") > 0; + if (hasDataListener && !hadError) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + errorCallback(err); + } + }); + } + }); + } + function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + stream.emit("error", err); + stream.end(); + } + } + fetch2.isRedirect = function(code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + }; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = exports; + exports.Headers = Headers; + exports.Request = Request; + exports.Response = Response2; + exports.FetchError = FetchError; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/index.js +var require_lib5 = __commonJS({ + "../sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// lib/assertions/providers/lambda-handler/index.ts +var lambda_handler_exports = {}; +__export(lambda_handler_exports, { + handler: () => handler, + isComplete: () => isComplete, + onTimeout: () => onTimeout +}); +module.exports = __toCommonJS(lambda_handler_exports); + +// lib/assertions/providers/lambda-handler/assertion.ts +var import_helpers_internal = __toESM(require_helpers_internal()); + +// lib/assertions/providers/lambda-handler/base.ts +var https = __toESM(require("https")); +var url = __toESM(require("url")); +var import_client_sfn = __toESM(require_dist_cjs53()); +var CustomResourceHandler = class { + constructor(event, context) { + this.event = event; + this.context = context; + this.timeout = setTimeout(async () => { + await this.respond({ + status: "FAILED", + reason: "Lambda Function Timeout", + data: this.context.logStreamName + }); + this.timedOut = true; + }, context.getRemainingTimeInMillis() - 1200); + this.event = event; + this.physicalResourceId = extractPhysicalResourceId(event); + } + physicalResourceId; + timeout; + timedOut = false; + /** + * Handles executing the custom resource event. If `stateMachineArn` is present + * in the props then trigger the waiter statemachine + */ + async handle() { + try { + if ("stateMachineArn" in this.event.ResourceProperties) { + const req = { + stateMachineArn: this.event.ResourceProperties.stateMachineArn, + name: this.event.RequestId, + input: JSON.stringify(this.event) + }; + await this.startExecution(req); + return; + } else { + const response = await this.processEvent(this.event.ResourceProperties); + return response; + } + } catch (e) { + console.log(e); + throw e; + } finally { + clearTimeout(this.timeout); + } + } + /** + * Handle async requests from the waiter state machine + */ + async handleIsComplete() { + try { + const result = await this.processEvent(this.event.ResourceProperties); + return result; + } catch (e) { + console.log(e); + return; + } finally { + clearTimeout(this.timeout); + } + } + /** + * Start a step function state machine which will wait for the request + * to be successful. + */ + async startExecution(req) { + try { + const sfn = new import_client_sfn.SFN({}); + await sfn.startExecution(req); + } finally { + clearTimeout(this.timeout); + } + } + respond(response) { + if (this.timedOut) { + return; + } + const cfResponse = { + Status: response.status, + Reason: response.reason, + PhysicalResourceId: this.physicalResourceId, + StackId: this.event.StackId, + RequestId: this.event.RequestId, + LogicalResourceId: this.event.LogicalResourceId, + NoEcho: false, + Data: response.data + }; + const responseBody = JSON.stringify(cfResponse); + console.log("Responding to CloudFormation", responseBody); + const parsedUrl = url.parse(this.event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request2 = https.request(requestOptions, resolve); + request2.on("error", reject); + request2.write(responseBody); + request2.end(); + } catch (e) { + reject(e); + } finally { + clearTimeout(this.timeout); + } + }); + } +}; +function extractPhysicalResourceId(event) { + switch (event.RequestType) { + case "Create": + return event.LogicalResourceId; + case "Update": + case "Delete": + return event.PhysicalResourceId; + } +} + +// lib/assertions/providers/lambda-handler/assertion.ts +var AssertionHandler = class extends CustomResourceHandler { + async processEvent(request2) { + let actual = decodeCall(request2.actual); + const expected = decodeCall(request2.expected); + let result; + const matcher = new MatchCreator(expected).getMatcher(); + console.log(`Testing equality between ${JSON.stringify(request2.actual)} and ${JSON.stringify(request2.expected)}`); + const matchResult = matcher.test(actual); + matchResult.finished(); + if (matchResult.hasFailed()) { + result = { + failed: true, + assertion: JSON.stringify({ + status: "fail", + message: matchResult.renderMismatch() + }) + }; + if (request2.failDeployment) { + throw new Error(result.assertion); + } + } else { + result = { + assertion: JSON.stringify({ + status: "success" + }) + }; + } + return result; + } +}; +var MatchCreator = class { + parsedObj; + constructor(obj) { + this.parsedObj = { + matcher: obj + }; + } + /** + * Return a Matcher that can be tested against the actual results. + * This will convert the encoded matchers into their corresponding + * assertions matcher. + * + * For example: + * + * ExpectedResult.objectLike({ + * Messages: [{ + * Body: Match.objectLike({ + * Elements: Match.arrayWith([{ Asdf: 3 }]), + * Payload: Match.serializedJson({ key: 'value' }), + * }), + * }], + * }); + * + * Will be encoded as: + * { + * $ObjectLike: { + * Messages: [{ + * Body: { + * $ObjectLike: { + * Elements: { + * $ArrayWith: [{ Asdf: 3 }], + * }, + * Payload: { + * $SerializedJson: { key: 'value' } + * } + * }, + * }, + * }], + * }, + * } + * + * Which can then be parsed by this function. For each key (recursively) + * the parser will check if the value has one of the encoded matchers as a key + * and if so, it will set the value as the Matcher. So, + * + * { + * Body: { + * $ObjectLike: { + * Elements: { + * $ArrayWith: [{ Asdf: 3 }], + * }, + * Payload: { + * $SerializedJson: { key: 'value' } + * } + * }, + * }, + * } + * + * Will be converted to + * { + * Body: Match.objectLike({ + * Elements: Match.arrayWith([{ Asdf: 3 }]), + * Payload: Match.serializedJson({ key: 'value' }), + * }), + * } + */ + getMatcher() { + try { + const final = JSON.parse(JSON.stringify(this.parsedObj), function(_k, v) { + const nested = Object.keys(v)[0]; + switch (nested) { + case "$ArrayWith": + return import_helpers_internal.Match.arrayWith(v[nested]); + case "$ObjectLike": + return import_helpers_internal.Match.objectLike(v[nested]); + case "$StringLike": + return import_helpers_internal.Match.stringLikeRegexp(v[nested]); + case "$SerializedJson": + return import_helpers_internal.Match.serializedJson(v[nested]); + default: + return v; + } + }); + if (import_helpers_internal.Matcher.isMatcher(final.matcher)) { + return final.matcher; + } + return import_helpers_internal.Match.exact(final.matcher); + } catch { + return import_helpers_internal.Match.exact(this.parsedObj.matcher); + } + } +}; +function decodeCall(call) { + if (!call) { + return void 0; + } + try { + const parsed = JSON.parse(call); + return parsed; + } catch { + return call; + } +} + +// lib/assertions/providers/lambda-handler/http.ts +var import_node_fetch = __toESM(require_lib4()); +var HttpHandler = class extends CustomResourceHandler { + async processEvent(request2) { + console.log("request", request2); + const response = await (0, import_node_fetch.default)(request2.parameters.url, request2.parameters.fetchOptions); + const result = { + ok: response.ok, + status: response.status, + statusText: response.statusText, + headers: response.headers.raw() + }; + try { + const jsonResponse = await response.json(); + result.body = jsonResponse; + } catch (e) { + result.body = {}; + } + return { + apiCallResponse: result + }; + } +}; + +// lib/assertions/providers/lambda-handler/sdk.ts +var import_sdk_v2_to_v3_adapter = __toESM(require_lib5()); + +// lib/assertions/providers/lambda-handler/utils.ts +function parseJsonPayload(payload) { + try { + const buffer = Buffer.from(payload); + return JSON.parse(new TextDecoder().decode(buffer)); + } catch { + return payload; + } +} +function decodeParameters(obj) { + return Object.fromEntries(Object.entries(obj).map(([key, value]) => { + try { + return [key, JSON.parse(value)]; + } catch { + return [key, value]; + } + })); +} + +// lib/assertions/providers/lambda-handler/sdk.ts +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + let childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + if (typeof childKey === "string") { + childKey = isJsonString(childKey); + } + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function getServicePackage(service) { + const packageName = (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(service); + try { + const pkg = require(packageName); + return { + service, + pkg, + packageName + }; + } catch (e) { + throw Error(`Service ${service} client package with name '${packageName}' does not exist.`); + } +} +function getServiceClient(sdkPkg) { + try { + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(sdkPkg.pkg); + return new ServiceClient({}); + } catch (e) { + console.error(e); + throw Error(`No client constructor found within package: ${sdkPkg.packageName}`); + } +} +function getSdkCommand(sdkPkg, api) { + const commandName = api.endsWith("Command") ? api : `${api}Command`; + const command = Object.entries(sdkPkg.pkg).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + if (!command) { + throw new Error(`Unable to find command named: ${commandName} for api: ${api} in service package`); + } + return command; +} +var AwsApiCallHandler = class extends CustomResourceHandler { + async processEvent(request2) { + const sdkPkg = getServicePackage(request2.service); + const client = getServiceClient(sdkPkg); + const Command = getSdkCommand(sdkPkg, request2.api); + const commandInput = (request2.parameters && decodeParameters(request2.parameters)) ?? {}; + console.log(`SDK request to ${sdkPkg.service}.${request2.api} with parameters ${JSON.stringify(commandInput)}`); + const response = await client.send(new Command(commandInput)); + if (response.Payload) { + response.Payload = parseJsonPayload(response.Payload); + } + console.log(`SDK response received ${JSON.stringify(response)}`); + delete response.$metadata; + const respond = { + apiCallResponse: response + }; + const flatData = { + ...flatten(respond) + }; + let resp = respond; + if (request2.outputPaths) { + resp = filterKeys(flatData, request2.outputPaths); + } else if (request2.flattenResponse === "true") { + resp = flatData; + } + console.log(`Returning result ${JSON.stringify(resp)}`); + return resp; + } +}; +function filterKeys(object, searchStrings) { + return Object.entries(object).reduce((filteredObject, [key, value]) => { + for (const searchString of searchStrings) { + if (key.startsWith(`apiCallResponse.${searchString}`)) { + filteredObject[key] = value; + } + } + return filteredObject; + }, {}); +} +function isJsonString(value) { + try { + return JSON.parse(value); + } catch { + return value; + } +} + +// lib/assertions/providers/lambda-handler/types.ts +var ASSERT_RESOURCE_TYPE = "Custom::DeployAssert@AssertEquals"; +var SDK_RESOURCE_TYPE_PREFIX = "Custom::DeployAssert@SdkCall"; +var HTTP_RESOURCE_TYPE = "Custom::DeployAssert@HttpCall"; + +// lib/assertions/providers/lambda-handler/index.ts +async function handler(event, context) { + console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); + const provider = createResourceHandler(event, context); + try { + if (event.RequestType === "Delete") { + await provider.respond({ + status: "SUCCESS", + reason: "OK" + }); + return; + } + const result = await provider.handle(); + if ("stateMachineArn" in event.ResourceProperties) { + console.info('Found "stateMachineArn", waiter statemachine started'); + return; + } else if ("expected" in event.ResourceProperties) { + console.info('Found "expected", testing assertions'); + const actualPath = event.ResourceProperties.actualPath; + const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; + const assertion = new AssertionHandler({ + ...event, + ResourceProperties: { + ServiceToken: event.ServiceToken, + actual, + expected: event.ResourceProperties.expected + } + }, context); + try { + const assertionResult = await assertion.handle(); + await provider.respond({ + status: "SUCCESS", + reason: "OK", + // return both the result of the API call _and_ the assertion results + data: { + ...assertionResult, + ...result + } + }); + return; + } catch (e) { + await provider.respond({ + status: "FAILED", + reason: e.message ?? "Internal Error" + }); + return; + } + } + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: result + }); + } catch (e) { + await provider.respond({ + status: "FAILED", + reason: e.message ?? "Internal Error" + }); + return; + } + return; +} +async function onTimeout(timeoutEvent) { + const isCompleteRequest = JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage); + const provider = createResourceHandler(isCompleteRequest, standardContext); + await provider.respond({ + status: "FAILED", + reason: "Operation timed out: " + JSON.stringify(isCompleteRequest) + }); +} +async function isComplete(event, context) { + console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); + const provider = createResourceHandler(event, context); + try { + const result = await provider.handleIsComplete(); + const actualPath = event.ResourceProperties.actualPath; + if (result) { + const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; + if ("expected" in event.ResourceProperties) { + const assertion = new AssertionHandler({ + ...event, + ResourceProperties: { + ServiceToken: event.ServiceToken, + actual, + expected: event.ResourceProperties.expected + } + }, context); + const assertionResult = await assertion.handleIsComplete(); + if (!assertionResult?.failed) { + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: { + ...assertionResult, + ...result + } + }); + return; + } else { + console.log(`Assertion Failed: ${JSON.stringify(assertionResult)}`); + throw new Error(JSON.stringify(event)); + } + } + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: result + }); + } else { + console.log("No result"); + throw new Error(JSON.stringify(event)); + } + return; + } catch (e) { + console.log(e); + throw new Error(JSON.stringify(event)); + } +} +function createResourceHandler(event, context) { + if (event.ResourceType.startsWith(SDK_RESOURCE_TYPE_PREFIX)) { + return new AwsApiCallHandler(event, context); + } else if (event.ResourceType.startsWith(ASSERT_RESOURCE_TYPE)) { + return new AssertionHandler(event, context); + } else if (event.ResourceType.startsWith(HTTP_RESOURCE_TYPE)) { + return new HttpHandler(event, context); + } else { + throw new Error(`Unsupported resource type "${event.ResourceType}`); + } +} +var standardContext = { + getRemainingTimeInMillis: () => 9e4 +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + handler, + isComplete, + onTimeout +}); +/*! Bundled license information: + +tslib/tslib.es6.js: + (*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** *) +*/ diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.bundle/index.js deleted file mode 100644 index 69209d46ead27..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/asset.e4815916885b43e053d8fcef603638aa3a4754c27a3cb0d21fd1c50c2923415b.bundle/index.js +++ /dev/null @@ -1,31981 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../../aws-cdk-lib/assertions/lib/matcher.ts -var matcher_exports = {}; -__export(matcher_exports, { - MatchResult: () => MatchResult, - Matcher: () => Matcher -}); -function* range(n) { - for (let i = 0; i < n; i++) { - yield i; - } -} -function* enumFirst(xs) { - let first = true; - for (const x of xs) { - yield [first, x]; - first = false; - } -} -var Matcher, MatchResult; -var init_matcher = __esm({ - "../../aws-cdk-lib/assertions/lib/matcher.ts"() { - "use strict"; - Matcher = class _Matcher { - /** - * Check whether the provided object is a subtype of the `IMatcher`. - */ - static isMatcher(x) { - return x && x instanceof _Matcher; - } - }; - MatchResult = class { - constructor(target) { - this.failuresHere = /* @__PURE__ */ new Map(); - this.captures = /* @__PURE__ */ new Map(); - this.finalized = false; - this.innerMatchFailures = /* @__PURE__ */ new Map(); - this._hasFailed = false; - this._failCount = 0; - this._cost = 0; - this.target = target; - } - /** - * DEPRECATED - * @deprecated use recordFailure() - */ - push(matcher, path, message) { - return this.recordFailure({ matcher, path, message }); - } - /** - * Record a new failure into this result at a specific path. - */ - recordFailure(failure) { - const failKey = failure.path.join("."); - let list = this.failuresHere.get(failKey); - if (!list) { - list = []; - this.failuresHere.set(failKey, list); - } - this._failCount += 1; - this._cost += failure.cost ?? 1; - list.push(failure); - this._hasFailed = true; - return this; - } - /** Whether the match is a success */ - get isSuccess() { - return !this._hasFailed; - } - /** Does the result contain any failures. If not, the result is a success */ - hasFailed() { - return this._hasFailed; - } - /** The number of failures */ - get failCount() { - return this._failCount; - } - /** The cost of the failures so far */ - get failCost() { - return this._cost; - } - /** - * Compose the results of a previous match as a subtree. - * @param id the id of the parent tree. - */ - compose(id, inner) { - if (inner.hasFailed()) { - this._hasFailed = true; - this._failCount += inner.failCount; - this._cost += inner._cost; - this.innerMatchFailures.set(id, inner); - } - inner.captures.forEach((vals, capture) => { - vals.forEach((value) => this.recordCapture({ capture, value })); - }); - return this; - } - /** - * Prepare the result to be analyzed. - * This API *must* be called prior to analyzing these results. - */ - finished() { - if (this.finalized) { - return this; - } - if (this.failCount === 0) { - this.captures.forEach((vals, cap) => cap._captured.push(...vals)); - } - this.finalized = true; - return this; - } - /** - * Render the failed match in a presentable way - * - * Prefer using `renderMismatch` over this method. It is left for backwards - * compatibility for test suites that expect it, but `renderMismatch()` will - * produce better output. - */ - toHumanStrings() { - const failures = new Array(); - debugger; - recurse(this, []); - return failures.map((r) => { - const loc = r.path.length === 0 ? "" : ` at /${r.path.join("/")}`; - return "" + r.message + loc + ` (using ${r.matcher.name} matcher)`; - }); - function recurse(x, prefix) { - for (const fail of Array.from(x.failuresHere.values()).flat()) { - failures.push({ - matcher: fail.matcher, - message: fail.message, - path: [...prefix, ...fail.path] - }); - } - for (const [key, inner] of x.innerMatchFailures.entries()) { - recurse(inner, [...prefix, key]); - } - } - } - /** - * Do a deep render of the match result, showing the structure mismatches in context - */ - renderMismatch() { - if (!this.hasFailed()) { - return ""; - } - const parts = new Array(); - const indents = new Array(); - emitFailures(this, ""); - recurse(this); - return moveMarkersToFront(parts.join("").trimEnd()); - function emit(x) { - if (x === void 0) { - debugger; - } - parts.push(x.replace(/\n/g, ` -${indents.join("")}`)); - } - function emitFailures(r, path, scrapSet) { - for (const fail of r.failuresHere.get(path) ?? []) { - emit(`!! ${fail.message} -`); - } - scrapSet?.delete(path); - } - function recurse(r) { - const remainingFailures = new Set(Array.from(r.failuresHere.keys()).filter((x) => x !== "")); - if (Array.isArray(r.target)) { - indents.push(" "); - emit("[\n"); - for (const [first, i] of enumFirst(range(r.target.length))) { - if (!first) { - emit(",\n"); - } - emitFailures(r, `${i}`, remainingFailures); - const innerMatcher = r.innerMatchFailures.get(`${i}`); - if (innerMatcher) { - emitFailures(innerMatcher, ""); - recurseComparingValues(innerMatcher, r.target[i]); - } else { - emit(renderAbridged(r.target[i])); - } - } - emitRemaining(); - indents.pop(); - emit("\n]"); - return; - } - if (r.target && typeof r.target === "object") { - indents.push(" "); - emit("{\n"); - const keys = Array.from(/* @__PURE__ */ new Set([ - ...Object.keys(r.target), - ...Array.from(remainingFailures) - ])).sort(); - for (const [first, key] of enumFirst(keys)) { - if (!first) { - emit(",\n"); - } - emitFailures(r, key, remainingFailures); - const innerMatcher = r.innerMatchFailures.get(key); - if (innerMatcher) { - emitFailures(innerMatcher, ""); - emit(`${jsonify(key)}: `); - recurseComparingValues(innerMatcher, r.target[key]); - } else { - emit(`${jsonify(key)}: `); - emit(renderAbridged(r.target[key])); - } - } - emitRemaining(); - indents.pop(); - emit("\n}"); - return; - } - emitRemaining(); - emit(jsonify(r.target)); - function emitRemaining() { - if (remainingFailures.size > 0) { - emit("\n"); - } - for (const key of remainingFailures) { - emitFailures(r, key); - } - } - } - function recurseComparingValues(inner, actualValue) { - if (inner.target === actualValue) { - return recurse(inner); - } - emit(renderAbridged(actualValue)); - emit(" <*> "); - recurse(inner); - } - function renderAbridged(x) { - if (Array.isArray(x)) { - switch (x.length) { - case 0: - return "[]"; - case 1: - return `[ ${renderAbridged(x[0])} ]`; - case 2: - if (x.every((e) => ["number", "boolean", "string"].includes(typeof e))) { - return `[ ${x.map(renderAbridged).join(", ")} ]`; - } - return "[ ... ]"; - default: - return "[ ... ]"; - } - } - if (x && typeof x === "object") { - const keys = Object.keys(x); - switch (keys.length) { - case 0: - return "{}"; - case 1: - return `{ ${JSON.stringify(keys[0])}: ${renderAbridged(x[keys[0]])} }`; - default: - return "{ ... }"; - } - } - return jsonify(x); - } - function jsonify(x) { - return JSON.stringify(x) ?? "undefined"; - } - function moveMarkersToFront(x) { - const re = /^(\s+)!!/gm; - return x.replace(re, (_, spaces) => `!!${spaces.substring(0, spaces.length - 2)}`); - } - } - /** - * Record a capture against in this match result. - */ - recordCapture(options) { - let values = this.captures.get(options.capture); - if (values === void 0) { - values = []; - } - values.push(options.value); - this.captures.set(options.capture, values); - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts -var AbsentMatch; -var init_absent = __esm({ - "../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts"() { - "use strict"; - init_matcher(); - AbsentMatch = class extends Matcher { - constructor(name) { - super(); - this.name = name; - } - test(actual) { - const result = new MatchResult(actual); - if (actual !== void 0) { - result.recordFailure({ - matcher: this, - path: [], - message: `Received ${actual}, but key should be absent` - }); - } - return result; - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/sorting.ts -function sortKeyComparator(keyFn) { - return (a, b) => { - const ak = keyFn(a); - const bk = keyFn(b); - for (let i = 0; i < ak.length && i < bk.length; i++) { - const av = ak[i]; - const bv = bk[i]; - let diff = 0; - if (typeof av === "number" && typeof bv === "number") { - diff = av - bv; - } else if (typeof av === "string" && typeof bv === "string") { - diff = av.localeCompare(bv); - } - if (diff !== 0) { - return diff; - } - } - return bk.length - ak.length; - }; -} -var init_sorting = __esm({ - "../../aws-cdk-lib/assertions/lib/private/sorting.ts"() { - "use strict"; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts -var SparseMatrix; -var init_sparse_matrix = __esm({ - "../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts"() { - "use strict"; - SparseMatrix = class { - constructor() { - this.matrix = /* @__PURE__ */ new Map(); - } - get(row, col) { - return this.matrix.get(row)?.get(col); - } - row(row) { - return Array.from(this.matrix.get(row)?.entries() ?? []); - } - set(row, col, value) { - let r = this.matrix.get(row); - if (!r) { - r = /* @__PURE__ */ new Map(); - this.matrix.set(row, r); - } - r.set(col, value); - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/type.ts -function getType(obj) { - return Array.isArray(obj) ? "array" : typeof obj; -} -var init_type = __esm({ - "../../aws-cdk-lib/assertions/lib/private/type.ts"() { - "use strict"; - } -}); - -// ../../aws-cdk-lib/assertions/lib/match.ts -var match_exports = {}; -__export(match_exports, { - Match: () => Match -}); -var Match, LiteralMatch, ArrayMatch, ObjectMatch, SerializedJson, NotMatch, AnyMatch, StringLikeRegexpMatch; -var init_match = __esm({ - "../../aws-cdk-lib/assertions/lib/match.ts"() { - "use strict"; - init_matcher(); - init_absent(); - init_sorting(); - init_sparse_matrix(); - init_type(); - Match = class { - /** - * Use this matcher in the place of a field's value, if the field must not be present. - */ - static absent() { - return new AbsentMatch("absent"); - } - /** - * Matches the specified pattern with the array found in the same relative path of the target. - * The set of elements (or matchers) must be in the same order as would be found. - * @param pattern the pattern to match - */ - static arrayWith(pattern) { - return new ArrayMatch("arrayWith", pattern); - } - /** - * Matches the specified pattern with the array found in the same relative path of the target. - * The set of elements (or matchers) must match exactly and in order. - * @param pattern the pattern to match - */ - static arrayEquals(pattern) { - return new ArrayMatch("arrayEquals", pattern, { subsequence: false }); - } - /** - * Deep exact matching of the specified pattern to the target. - * @param pattern the pattern to match - */ - static exact(pattern) { - return new LiteralMatch("exact", pattern, { partialObjects: false }); - } - /** - * Matches the specified pattern to an object found in the same relative path of the target. - * The keys and their values (or matchers) must be present in the target but the target can be a superset. - * @param pattern the pattern to match - */ - static objectLike(pattern) { - return new ObjectMatch("objectLike", pattern); - } - /** - * Matches the specified pattern to an object found in the same relative path of the target. - * The keys and their values (or matchers) must match exactly with the target. - * @param pattern the pattern to match - */ - static objectEquals(pattern) { - return new ObjectMatch("objectEquals", pattern, { partial: false }); - } - /** - * Matches any target which does NOT follow the specified pattern. - * @param pattern the pattern to NOT match - */ - static not(pattern) { - return new NotMatch("not", pattern); - } - /** - * Matches any string-encoded JSON and applies the specified pattern after parsing it. - * @param pattern the pattern to match after parsing the encoded JSON. - */ - static serializedJson(pattern) { - return new SerializedJson("serializedJson", pattern); - } - /** - * Matches any non-null value at the target. - */ - static anyValue() { - return new AnyMatch("anyValue"); - } - /** - * Matches targets according to a regular expression - */ - static stringLikeRegexp(pattern) { - return new StringLikeRegexpMatch("stringLikeRegexp", pattern); - } - }; - LiteralMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.partialObjects = options.partialObjects ?? false; - if (Matcher.isMatcher(this.pattern)) { - throw new Error("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); - } - } - test(actual) { - if (Array.isArray(this.pattern)) { - return new ArrayMatch(this.name, this.pattern, { subsequence: false, partialObjects: this.partialObjects }).test(actual); - } - if (typeof this.pattern === "object") { - return new ObjectMatch(this.name, this.pattern, { partial: this.partialObjects }).test(actual); - } - const result = new MatchResult(actual); - if (typeof this.pattern !== typeof actual) { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected type ${typeof this.pattern} but received ${getType(actual)}` - }); - return result; - } - if (actual !== this.pattern) { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected ${this.pattern} but received ${actual}` - }); - } - return result; - } - }; - ArrayMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.subsequence = options.subsequence ?? true; - this.partialObjects = options.partialObjects ?? false; - } - test(actual) { - if (!Array.isArray(actual)) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected type array but received ${getType(actual)}` - }); - } - return this.subsequence ? this.testSubsequence(actual) : this.testFullArray(actual); - } - testFullArray(actual) { - const result = new MatchResult(actual); - let i = 0; - for (; i < this.pattern.length && i < actual.length; i++) { - const patternElement = this.pattern[i]; - const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); - const innerResult = matcher.test(actual[i]); - result.compose(`${i}`, innerResult); - } - if (i < this.pattern.length) { - result.recordFailure({ - matcher: this, - message: `Not enough elements in array (expecting ${this.pattern.length}, got ${actual.length})`, - path: [`${i}`] - }); - } - if (i < actual.length) { - result.recordFailure({ - matcher: this, - message: `Too many elements in array (expecting ${this.pattern.length}, got ${actual.length})`, - path: [`${i}`] - }); - } - return result; - } - testSubsequence(actual) { - const result = new MatchResult(actual); - let patternIdx = 0; - let actualIdx = 0; - const matches = new SparseMatrix(); - while (patternIdx < this.pattern.length && actualIdx < actual.length) { - const patternElement = this.pattern[patternIdx]; - const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); - const matcherName = matcher.name; - if (matcherName == "absent" || matcherName == "anyValue") { - throw new Error(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); - } - const innerResult = matcher.test(actual[actualIdx]); - matches.set(patternIdx, actualIdx, innerResult); - actualIdx++; - if (innerResult.isSuccess) { - result.compose(`${actualIdx}`, innerResult); - patternIdx++; - } - } - if (patternIdx < this.pattern.length) { - for (let spi = 0; spi < patternIdx; spi++) { - const foundMatch = matches.row(spi).find(([, r]) => r.isSuccess); - if (!foundMatch) { - continue; - } - const [index] = foundMatch; - result.compose(`${index}`, new MatchResult(actual[index]).recordFailure({ - matcher: this, - message: `arrayWith pattern ${spi} matched here`, - path: [], - cost: 0 - // This is an informational message so it would be unfair to assign it cost - })); - } - const failedMatches = matches.row(patternIdx); - failedMatches.sort(sortKeyComparator(([i, r]) => [r.failCost, i])); - if (failedMatches.length > 0) { - const [index, innerResult] = failedMatches[0]; - result.recordFailure({ - matcher: this, - message: `Could not match arrayWith pattern ${patternIdx}. This is the closest match`, - path: [`${index}`], - cost: 0 - // Informational message - }); - result.compose(`${index}`, innerResult); - } else { - result.recordFailure({ - matcher: this, - message: `Could not match arrayWith pattern ${patternIdx}. No more elements to try`, - path: [`${actual.length}`] - }); - } - } - return result; - } - }; - ObjectMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.partial = options.partial ?? true; - } - test(actual) { - if (typeof actual !== "object" || Array.isArray(actual)) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected type object but received ${getType(actual)}` - }); - } - const result = new MatchResult(actual); - if (!this.partial) { - for (const a of Object.keys(actual)) { - if (!(a in this.pattern)) { - result.recordFailure({ - matcher: this, - path: [a], - message: `Unexpected key ${a}` - }); - } - } - } - for (const [patternKey, patternVal] of Object.entries(this.pattern)) { - if (!(patternKey in actual) && !(patternVal instanceof AbsentMatch)) { - result.recordFailure({ - matcher: this, - path: [patternKey], - message: `Missing key '${patternKey}'` - }); - continue; - } - const matcher = Matcher.isMatcher(patternVal) ? patternVal : new LiteralMatch(this.name, patternVal, { partialObjects: this.partial }); - const inner = matcher.test(actual[patternKey]); - result.compose(patternKey, inner); - } - return result; - } - }; - SerializedJson = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - if (getType(actual) !== "string") { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected JSON as a string but found ${getType(actual)}` - }); - } - let parsed; - try { - parsed = JSON.parse(actual); - } catch (err) { - if (err instanceof SyntaxError) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Invalid JSON string: ${actual}` - }); - } else { - throw err; - } - } - const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); - const innerResult = matcher.test(parsed); - if (innerResult.hasFailed()) { - innerResult.recordFailure({ - matcher: this, - path: [], - message: "Encoded JSON value does not match" - }); - } - return innerResult; - } - }; - NotMatch = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); - const innerResult = matcher.test(actual); - const result = new MatchResult(actual); - if (innerResult.failCount === 0) { - result.recordFailure({ - matcher: this, - path: [], - message: `Found unexpected match: ${JSON.stringify(actual, void 0, 2)}` - }); - } - return result; - } - }; - AnyMatch = class extends Matcher { - constructor(name) { - super(); - this.name = name; - } - test(actual) { - const result = new MatchResult(actual); - if (actual == null) { - result.recordFailure({ - matcher: this, - path: [], - message: "Expected a value but found none" - }); - } - return result; - } - }; - StringLikeRegexpMatch = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - const result = new MatchResult(actual); - const regex = new RegExp(this.pattern, "gm"); - if (typeof actual !== "string") { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected a string, but got '${typeof actual}'` - }); - } - if (!regex.test(actual)) { - result.recordFailure({ - matcher: this, - path: [], - message: `String '${actual}' did not match pattern '${this.pattern}'` - }); - } - return result; - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/helpers-internal/index.js -var require_helpers_internal = __commonJS({ - "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports) { - "use strict"; - var __createBinding3 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __exportStar3 = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding3(exports2, m, p); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar3((init_match(), __toCommonJS(match_exports)), exports); - __exportStar3((init_matcher(), __toCommonJS(matcher_exports)), exports); - } -}); - -// ../../../node_modules/tslib/tslib.es6.mjs -var tslib_es6_exports = {}; -__export(tslib_es6_exports, { - __addDisposableResource: () => __addDisposableResource, - __assign: () => __assign, - __asyncDelegator: () => __asyncDelegator, - __asyncGenerator: () => __asyncGenerator, - __asyncValues: () => __asyncValues, - __await: () => __await, - __awaiter: () => __awaiter, - __classPrivateFieldGet: () => __classPrivateFieldGet, - __classPrivateFieldIn: () => __classPrivateFieldIn, - __classPrivateFieldSet: () => __classPrivateFieldSet, - __createBinding: () => __createBinding, - __decorate: () => __decorate, - __disposeResources: () => __disposeResources, - __esDecorate: () => __esDecorate, - __exportStar: () => __exportStar, - __extends: () => __extends, - __generator: () => __generator, - __importDefault: () => __importDefault, - __importStar: () => __importStar, - __makeTemplateObject: () => __makeTemplateObject, - __metadata: () => __metadata, - __param: () => __param, - __propKey: () => __propKey, - __read: () => __read, - __rest: () => __rest, - __runInitializers: () => __runInitializers, - __setFunctionName: () => __setFunctionName, - __spread: () => __spread, - __spreadArray: () => __spreadArray, - __spreadArrays: () => __spreadArrays, - __values: () => __values, - default: () => tslib_es6_default -}); -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -function __rest(s, e) { - var t = {}; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param(paramIndex, decorator) { - return function(target, key) { - decorator(target, key, paramIndex); - }; -} -function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { - if (f !== void 0 && typeof f !== "function") - throw new TypeError("Function expected"); - return f; - } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) - context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) - context.access[p] = contextIn.access[p]; - context.addInitializer = function(f) { - if (done) - throw new TypeError("Cannot add initializers after decoration has completed"); - extraInitializers.push(accept(f || null)); - }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) - continue; - if (result === null || typeof result !== "object") - throw new TypeError("Object expected"); - if (_ = accept(result.get)) - descriptor.get = _; - if (_ = accept(result.set)) - descriptor.set = _; - if (_ = accept(result.init)) - initializers.unshift(_); - } else if (_ = accept(result)) { - if (kind === "field") - initializers.unshift(_); - else - descriptor[key] = _; - } - } - if (target) - Object.defineProperty(target, contextIn.name, descriptor); - done = true; -} -function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -} -function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -} -function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") - name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -} -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") - return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __exportStar(m, o) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) - __createBinding(o, m, p); -} -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) - return m.call(o); - if (o && typeof o.length === "number") - return { - next: function() { - if (o && i >= o.length) - o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) - return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) - ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) - m.call(i); - } finally { - if (e) - throw e.error; - } - } - return ar; -} -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) - s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) - for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) - ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i; - function verb(n) { - if (g[n]) - i[n] = function(v) { - return new Promise(function(a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) - resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function(e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function() { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function(v) { - return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; - } : f; - } -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function(v2) { - resolve({ value: v2, done: d }); - }, reject); - } -} -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { value: raw }); - } else { - cooked.raw = raw; - } - return cooked; -} -function __importStar(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -} -function __importDefault(mod) { - return mod && mod.__esModule ? mod : { default: mod }; -} -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") - throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; -} -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") - throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} -function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") - throw new TypeError("Object expected."); - var dispose; - if (async) { - if (!Symbol.asyncDispose) - throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) - throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - } - if (typeof dispose !== "function") - throw new TypeError("Object not disposable."); - env.stack.push({ value, dispose, async }); - } else if (async) { - env.stack.push({ async: true }); - } - return value; -} -function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - function next() { - while (env.stack.length) { - var rec = env.stack.pop(); - try { - var result = rec.dispose && rec.dispose.call(rec.value); - if (rec.async) - return Promise.resolve(result).then(next, function(e) { - fail(e); - return next(); - }); - } catch (e) { - fail(e); - } - } - if (env.hasError) - throw env.error; - } - return next(); -} -var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default; -var init_tslib_es6 = __esm({ - "../../../node_modules/tslib/tslib.es6.mjs"() { - extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) - if (Object.prototype.hasOwnProperty.call(b2, p)) - d2[p] = b2[p]; - }; - return extendStatics(d, b); - }; - __assign = function() { - __assign = Object.assign || function __assign3(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - __createBinding = Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }; - _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; - }; - tslib_es6_default = { - __extends, - __assign, - __rest, - __decorate, - __param, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources - }; - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/abort.js -var require_abort = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/abort.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/auth.js -var require_auth = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/auth.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HttpAuthLocation = void 0; - var HttpAuthLocation; - (function(HttpAuthLocation2) { - HttpAuthLocation2["HEADER"] = "header"; - HttpAuthLocation2["QUERY"] = "query"; - })(HttpAuthLocation = exports.HttpAuthLocation || (exports.HttpAuthLocation = {})); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js -var require_blob_payload_input_types = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/checksum.js -var require_checksum = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/checksum.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/client.js -var require_client = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/client.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/command.js -var require_command = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/command.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/connection/config.js -var require_config = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/connection/config.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/connection/manager.js -var require_manager = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/connection/manager.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/connection/pool.js -var require_pool = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/connection/pool.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/connection/index.js -var require_connection = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/connection/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_config(), exports); - tslib_1.__exportStar(require_manager(), exports); - tslib_1.__exportStar(require_pool(), exports); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/crypto.js -var require_crypto = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/crypto.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/encode.js -var require_encode = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/encode.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoint.js -var require_endpoint = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoint.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.EndpointURLScheme = void 0; - var EndpointURLScheme; - (function(EndpointURLScheme2) { - EndpointURLScheme2["HTTP"] = "http"; - EndpointURLScheme2["HTTPS"] = "https"; - })(EndpointURLScheme = exports.EndpointURLScheme || (exports.EndpointURLScheme = {})); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js -var require_EndpointRuleObject = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js -var require_ErrorRuleObject = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js -var require_RuleSetObject = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js -var require_shared = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js -var require_TreeRuleObject = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js -var require_endpoints = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_EndpointRuleObject(), exports); - tslib_1.__exportStar(require_ErrorRuleObject(), exports); - tslib_1.__exportStar(require_RuleSetObject(), exports); - tslib_1.__exportStar(require_shared(), exports); - tslib_1.__exportStar(require_TreeRuleObject(), exports); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/eventStream.js -var require_eventStream = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/eventStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/http.js -var require_http = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/http.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.FieldPosition = void 0; - var FieldPosition; - (function(FieldPosition2) { - FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; - FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; - })(FieldPosition = exports.FieldPosition || (exports.FieldPosition = {})); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js -var require_awsCredentialIdentity = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/identity/identity.js -var require_identity = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/identity/identity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/identity/index.js -var require_identity2 = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/identity/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_awsCredentialIdentity(), exports); - tslib_1.__exportStar(require_identity(), exports); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/logger.js -var require_logger = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/logger.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/middleware.js -var require_middleware = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/middleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/pagination.js -var require_pagination = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/pagination.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/profile.js -var require_profile = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/profile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/response.js -var require_response = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/response.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/retry.js -var require_retry = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/retry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/serde.js -var require_serde = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/serde.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/shapes.js -var require_shapes = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/shapes.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/signature.js -var require_signature = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/signature.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/stream.js -var require_stream = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js -var require_streaming_blob_common_types = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js -var require_streaming_blob_payload_input_types = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js -var require_streaming_blob_payload_output_types = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/transfer.js -var require_transfer = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/transfer.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RequestHandlerProtocol = void 0; - var RequestHandlerProtocol; - (function(RequestHandlerProtocol2) { - RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; - RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; - RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; - })(RequestHandlerProtocol = exports.RequestHandlerProtocol || (exports.RequestHandlerProtocol = {})); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js -var require_client_payload_blob_type_narrow = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js -var require_type_transform = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/uri.js -var require_uri = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/uri.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/util.js -var require_util = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/waiter.js -var require_waiter = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/waiter.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/types/dist-cjs/index.js -var require_dist_cjs = __commonJS({ - "../../../node_modules/@smithy/types/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_abort(), exports); - tslib_1.__exportStar(require_auth(), exports); - tslib_1.__exportStar(require_blob_payload_input_types(), exports); - tslib_1.__exportStar(require_checksum(), exports); - tslib_1.__exportStar(require_client(), exports); - tslib_1.__exportStar(require_command(), exports); - tslib_1.__exportStar(require_connection(), exports); - tslib_1.__exportStar(require_crypto(), exports); - tslib_1.__exportStar(require_encode(), exports); - tslib_1.__exportStar(require_endpoint(), exports); - tslib_1.__exportStar(require_endpoints(), exports); - tslib_1.__exportStar(require_eventStream(), exports); - tslib_1.__exportStar(require_http(), exports); - tslib_1.__exportStar(require_identity2(), exports); - tslib_1.__exportStar(require_logger(), exports); - tslib_1.__exportStar(require_middleware(), exports); - tslib_1.__exportStar(require_pagination(), exports); - tslib_1.__exportStar(require_profile(), exports); - tslib_1.__exportStar(require_response(), exports); - tslib_1.__exportStar(require_retry(), exports); - tslib_1.__exportStar(require_serde(), exports); - tslib_1.__exportStar(require_shapes(), exports); - tslib_1.__exportStar(require_signature(), exports); - tslib_1.__exportStar(require_stream(), exports); - tslib_1.__exportStar(require_streaming_blob_common_types(), exports); - tslib_1.__exportStar(require_streaming_blob_payload_input_types(), exports); - tslib_1.__exportStar(require_streaming_blob_payload_output_types(), exports); - tslib_1.__exportStar(require_transfer(), exports); - tslib_1.__exportStar(require_client_payload_blob_type_narrow(), exports); - tslib_1.__exportStar(require_type_transform(), exports); - tslib_1.__exportStar(require_uri(), exports); - tslib_1.__exportStar(require_util(), exports); - tslib_1.__exportStar(require_waiter(), exports); - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js -var require_Field = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Field = void 0; - var types_1 = require_dist_cjs(); - var Field = class { - constructor({ name, kind = types_1.FieldPosition.HEADER, values = [] }) { - this.name = name; - this.kind = kind; - this.values = values; - } - add(value) { - this.values.push(value); - } - set(values) { - this.values = values; - } - remove(value) { - this.values = this.values.filter((v) => v !== value); - } - toString() { - return this.values.map((v) => v.includes(",") || v.includes(" ") ? `"${v}"` : v).join(", "); - } - get() { - return this.values; - } - }; - exports.Field = Field; - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js -var require_Fields = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Fields = void 0; - var Fields = class { - constructor({ fields = [], encoding = "utf-8" }) { - this.entries = {}; - fields.forEach(this.setField.bind(this)); - this.encoding = encoding; - } - setField(field) { - this.entries[field.name.toLowerCase()] = field; - } - getField(name) { - return this.entries[name.toLowerCase()]; - } - removeField(name) { - delete this.entries[name.toLowerCase()]; - } - getByType(kind) { - return Object.values(this.entries).filter((field) => field.kind === kind); - } - }; - exports.Fields = Fields; - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js -var require_httpHandler = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js -var require_httpRequest = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HttpRequest = void 0; - var HttpRequest = class _HttpRequest { - constructor(options) { - this.method = options.method || "GET"; - this.hostname = options.hostname || "localhost"; - this.port = options.port; - this.query = options.query || {}; - this.headers = options.headers || {}; - this.body = options.body; - this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:"; - this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/"; - this.username = options.username; - this.password = options.password; - this.fragment = options.fragment; - } - static isInstance(request2) { - if (!request2) - return false; - const req = request2; - return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object"; - } - clone() { - const cloned = new _HttpRequest({ - ...this, - headers: { ...this.headers } - }); - if (cloned.query) - cloned.query = cloneQuery(cloned.query); - return cloned; - } - }; - exports.HttpRequest = HttpRequest; - function cloneQuery(query) { - return Object.keys(query).reduce((carry, paramName) => { - const param = query[paramName]; - return { - ...carry, - [paramName]: Array.isArray(param) ? [...param] : param - }; - }, {}); - } - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js -var require_httpResponse = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HttpResponse = void 0; - var HttpResponse = class { - constructor(options) { - this.statusCode = options.statusCode; - this.reason = options.reason; - this.headers = options.headers || {}; - this.body = options.body; - } - static isInstance(response) { - if (!response) - return false; - const resp = response; - return typeof resp.statusCode === "number" && typeof resp.headers === "object"; - } - }; - exports.HttpResponse = HttpResponse; - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js -var require_isValidHostname = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isValidHostname = void 0; - function isValidHostname(hostname) { - const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; - return hostPattern.test(hostname); - } - exports.isValidHostname = isValidHostname; - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/types.js -var require_types = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/protocol-http/dist-cjs/index.js -var require_dist_cjs2 = __commonJS({ - "../../../node_modules/@smithy/protocol-http/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_Field(), exports); - tslib_1.__exportStar(require_Fields(), exports); - tslib_1.__exportStar(require_httpHandler(), exports); - tslib_1.__exportStar(require_httpRequest(), exports); - tslib_1.__exportStar(require_httpResponse(), exports); - tslib_1.__exportStar(require_isValidHostname(), exports); - tslib_1.__exportStar(require_types(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js -var require_dist_cjs3 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0; - var protocol_http_1 = require_dist_cjs2(); - function resolveHostHeaderConfig(input) { - return input; - } - exports.resolveHostHeaderConfig = resolveHostHeaderConfig; - var hostHeaderMiddleware = (options) => (next) => async (args) => { - if (!protocol_http_1.HttpRequest.isInstance(args.request)) - return next(args); - const { request: request2 } = args; - const { handlerProtocol = "" } = options.requestHandler.metadata || {}; - if (handlerProtocol.indexOf("h2") >= 0 && !request2.headers[":authority"]) { - delete request2.headers["host"]; - request2.headers[":authority"] = ""; - } else if (!request2.headers["host"]) { - let host = request2.hostname; - if (request2.port != null) - host += `:${request2.port}`; - request2.headers["host"] = host; - } - return next(args); - }; - exports.hostHeaderMiddleware = hostHeaderMiddleware; - exports.hostHeaderMiddlewareOptions = { - name: "hostHeaderMiddleware", - step: "build", - priority: "low", - tags: ["HOST"], - override: true - }; - var getHostHeaderPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions); - } - }); - exports.getHostHeaderPlugin = getHostHeaderPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js -var require_loggerMiddleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0; - var loggerMiddleware = () => (next, context) => async (args) => { - var _a, _b; - try { - const response = await next(args); - const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; - const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; - const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; - const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog; - const { $metadata, ...outputWithoutMetadata } = response.output; - (_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, { - clientName, - commandName, - input: inputFilterSensitiveLog(args.input), - output: outputFilterSensitiveLog(outputWithoutMetadata), - metadata: $metadata - }); - return response; - } catch (error) { - const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; - const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; - const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; - (_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, { - clientName, - commandName, - input: inputFilterSensitiveLog(args.input), - error, - metadata: error.$metadata - }); - throw error; - } - }; - exports.loggerMiddleware = loggerMiddleware; - exports.loggerMiddlewareOptions = { - name: "loggerMiddleware", - tags: ["LOGGER"], - step: "initialize", - override: true - }; - var getLoggerPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions); - } - }); - exports.getLoggerPlugin = getLoggerPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js -var require_dist_cjs4 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_loggerMiddleware(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js -var require_dist_cjs5 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRecursionDetectionPlugin = exports.addRecursionDetectionMiddlewareOptions = exports.recursionDetectionMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id"; - var ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; - var ENV_TRACE_ID = "_X_AMZN_TRACE_ID"; - var recursionDetectionMiddleware = (options) => (next) => async (args) => { - const { request: request2 } = args; - if (!protocol_http_1.HttpRequest.isInstance(request2) || options.runtime !== "node" || request2.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { - return next(args); - } - const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; - const traceId = process.env[ENV_TRACE_ID]; - const nonEmptyString = (str) => typeof str === "string" && str.length > 0; - if (nonEmptyString(functionName) && nonEmptyString(traceId)) { - request2.headers[TRACE_ID_HEADER_NAME] = traceId; - } - return next({ - ...args, - request: request2 - }); - }; - exports.recursionDetectionMiddleware = recursionDetectionMiddleware; - exports.addRecursionDetectionMiddlewareOptions = { - step: "build", - tags: ["RECURSION_DETECTION"], - name: "recursionDetectionMiddleware", - override: true, - priority: "low" - }; - var getRecursionDetectionPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports.recursionDetectionMiddleware)(options), exports.addRecursionDetectionMiddlewareOptions); - } - }); - exports.getRecursionDetectionPlugin = getRecursionDetectionPlugin; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js -var require_ProviderError = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ProviderError = void 0; - var ProviderError = class _ProviderError extends Error { - constructor(message, tryNextLink = true) { - super(message); - this.tryNextLink = tryNextLink; - this.name = "ProviderError"; - Object.setPrototypeOf(this, _ProviderError.prototype); - } - static from(error, tryNextLink = true) { - return Object.assign(new this(error.message, tryNextLink), error); - } - }; - exports.ProviderError = ProviderError; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js -var require_CredentialsProviderError = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CredentialsProviderError = void 0; - var ProviderError_1 = require_ProviderError(); - var CredentialsProviderError = class _CredentialsProviderError extends ProviderError_1.ProviderError { - constructor(message, tryNextLink = true) { - super(message, tryNextLink); - this.tryNextLink = tryNextLink; - this.name = "CredentialsProviderError"; - Object.setPrototypeOf(this, _CredentialsProviderError.prototype); - } - }; - exports.CredentialsProviderError = CredentialsProviderError; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js -var require_TokenProviderError = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.TokenProviderError = void 0; - var ProviderError_1 = require_ProviderError(); - var TokenProviderError = class _TokenProviderError extends ProviderError_1.ProviderError { - constructor(message, tryNextLink = true) { - super(message, tryNextLink); - this.tryNextLink = tryNextLink; - this.name = "TokenProviderError"; - Object.setPrototypeOf(this, _TokenProviderError.prototype); - } - }; - exports.TokenProviderError = TokenProviderError; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/chain.js -var require_chain = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/chain.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.chain = void 0; - var ProviderError_1 = require_ProviderError(); - function chain(...providers) { - return () => { - let promise = Promise.reject(new ProviderError_1.ProviderError("No providers in chain")); - for (const provider of providers) { - promise = promise.catch((err) => { - if (err === null || err === void 0 ? void 0 : err.tryNextLink) { - return provider(); - } - throw err; - }); - } - return promise; - }; - } - exports.chain = chain; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js -var require_fromStatic = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromStatic = void 0; - var fromStatic = (staticValue) => () => Promise.resolve(staticValue); - exports.fromStatic = fromStatic; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js -var require_memoize = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.memoize = void 0; - var memoize = (provider, isExpired, requiresRefresh) => { - let resolved; - let pending; - let hasResult; - let isConstant = false; - const coalesceProvider = async () => { - if (!pending) { - pending = provider(); - } - try { - resolved = await pending; - hasResult = true; - isConstant = false; - } finally { - pending = void 0; - } - return resolved; - }; - if (isExpired === void 0) { - return async (options) => { - if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { - resolved = await coalesceProvider(); - } - return resolved; - }; - } - return async (options) => { - if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { - resolved = await coalesceProvider(); - } - if (isConstant) { - return resolved; - } - if (requiresRefresh && !requiresRefresh(resolved)) { - isConstant = true; - return resolved; - } - if (isExpired(resolved)) { - await coalesceProvider(); - return resolved; - } - return resolved; - }; - }; - exports.memoize = memoize; - } -}); - -// ../../../node_modules/@smithy/property-provider/dist-cjs/index.js -var require_dist_cjs6 = __commonJS({ - "../../../node_modules/@smithy/property-provider/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CredentialsProviderError(), exports); - tslib_1.__exportStar(require_ProviderError(), exports); - tslib_1.__exportStar(require_TokenProviderError(), exports); - tslib_1.__exportStar(require_chain(), exports); - tslib_1.__exportStar(require_fromStatic(), exports); - tslib_1.__exportStar(require_memoize(), exports); - } -}); - -// ../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js -var tslib_es6_exports2 = {}; -__export(tslib_es6_exports2, { - __assign: () => __assign2, - __asyncDelegator: () => __asyncDelegator2, - __asyncGenerator: () => __asyncGenerator2, - __asyncValues: () => __asyncValues2, - __await: () => __await2, - __awaiter: () => __awaiter2, - __classPrivateFieldGet: () => __classPrivateFieldGet2, - __classPrivateFieldSet: () => __classPrivateFieldSet2, - __createBinding: () => __createBinding2, - __decorate: () => __decorate2, - __exportStar: () => __exportStar2, - __extends: () => __extends2, - __generator: () => __generator2, - __importDefault: () => __importDefault2, - __importStar: () => __importStar2, - __makeTemplateObject: () => __makeTemplateObject2, - __metadata: () => __metadata2, - __param: () => __param2, - __read: () => __read2, - __rest: () => __rest2, - __spread: () => __spread2, - __spreadArrays: () => __spreadArrays2, - __values: () => __values2 -}); -function __extends2(d, b) { - extendStatics2(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -function __rest2(s, e) { - var t = {}; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate2(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param2(paramIndex, decorator) { - return function(target, key) { - decorator(target, key, paramIndex); - }; -} -function __metadata2(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") - return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter2(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator2(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __createBinding2(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; -} -function __exportStar2(m, exports) { - for (var p in m) - if (p !== "default" && !exports.hasOwnProperty(p)) - exports[p] = m[p]; -} -function __values2(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) - return m.call(o); - if (o && typeof o.length === "number") - return { - next: function() { - if (o && i >= o.length) - o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read2(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) - return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) - ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) - m.call(i); - } finally { - if (e) - throw e.error; - } - } - return ar; -} -function __spread2() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read2(arguments[i])); - return ar; -} -function __spreadArrays2() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) - s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} -function __await2(v) { - return this instanceof __await2 ? (this.v = v, this) : new __await2(v); -} -function __asyncGenerator2(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i; - function verb(n) { - if (g[n]) - i[n] = function(v) { - return new Promise(function(a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) - resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator2(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function(e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function() { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function(v) { - return (p = !p) ? { value: __await2(o[n](v)), done: n === "return" } : f ? f(v) : v; - } : f; - } -} -function __asyncValues2(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function(v2) { - resolve({ value: v2, done: d }); - }, reject); - } -} -function __makeTemplateObject2(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { value: raw }); - } else { - cooked.raw = raw; - } - return cooked; -} -function __importStar2(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (Object.hasOwnProperty.call(mod, k)) - result[k] = mod[k]; - } - result.default = mod; - return result; -} -function __importDefault2(mod) { - return mod && mod.__esModule ? mod : { default: mod }; -} -function __classPrivateFieldGet2(receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); -} -function __classPrivateFieldSet2(receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; -} -var extendStatics2, __assign2; -var init_tslib_es62 = __esm({ - "../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js"() { - extendStatics2 = function(d, b) { - extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) - if (b2.hasOwnProperty(p)) - d2[p] = b2[p]; - }; - return extendStatics2(d, b); - }; - __assign2 = function() { - __assign2 = Object.assign || function __assign3(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign2.apply(this, arguments); - }; - } -}); - -// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js -var require_pureJs = __commonJS({ - "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toUtf8 = exports.fromUtf8 = void 0; - var fromUtf8 = (input) => { - const bytes = []; - for (let i = 0, len = input.length; i < len; i++) { - const value = input.charCodeAt(i); - if (value < 128) { - bytes.push(value); - } else if (value < 2048) { - bytes.push(value >> 6 | 192, value & 63 | 128); - } else if (i + 1 < input.length && (value & 64512) === 55296 && (input.charCodeAt(i + 1) & 64512) === 56320) { - const surrogatePair = 65536 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023); - bytes.push(surrogatePair >> 18 | 240, surrogatePair >> 12 & 63 | 128, surrogatePair >> 6 & 63 | 128, surrogatePair & 63 | 128); - } else { - bytes.push(value >> 12 | 224, value >> 6 & 63 | 128, value & 63 | 128); - } - } - return Uint8Array.from(bytes); - }; - exports.fromUtf8 = fromUtf8; - var toUtf8 = (input) => { - let decoded = ""; - for (let i = 0, len = input.length; i < len; i++) { - const byte = input[i]; - if (byte < 128) { - decoded += String.fromCharCode(byte); - } else if (192 <= byte && byte < 224) { - const nextByte = input[++i]; - decoded += String.fromCharCode((byte & 31) << 6 | nextByte & 63); - } else if (240 <= byte && byte < 365) { - const surrogatePair = [byte, input[++i], input[++i], input[++i]]; - const encoded = "%" + surrogatePair.map((byteValue) => byteValue.toString(16)).join("%"); - decoded += decodeURIComponent(encoded); - } else { - decoded += String.fromCharCode((byte & 15) << 12 | (input[++i] & 63) << 6 | input[++i] & 63); - } - } - return decoded; - }; - exports.toUtf8 = toUtf8; - } -}); - -// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js -var require_whatwgEncodingApi = __commonJS({ - "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toUtf8 = exports.fromUtf8 = void 0; - function fromUtf8(input) { - return new TextEncoder().encode(input); - } - exports.fromUtf8 = fromUtf8; - function toUtf8(input) { - return new TextDecoder("utf-8").decode(input); - } - exports.toUtf8 = toUtf8; - } -}); - -// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js -var require_dist_cjs7 = __commonJS({ - "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toUtf8 = exports.fromUtf8 = void 0; - var pureJs_1 = require_pureJs(); - var whatwgEncodingApi_1 = require_whatwgEncodingApi(); - var fromUtf8 = (input) => typeof TextEncoder === "function" ? (0, whatwgEncodingApi_1.fromUtf8)(input) : (0, pureJs_1.fromUtf8)(input); - exports.fromUtf8 = fromUtf8; - var toUtf8 = (input) => typeof TextDecoder === "function" ? (0, whatwgEncodingApi_1.toUtf8)(input) : (0, pureJs_1.toUtf8)(input); - exports.toUtf8 = toUtf8; - } -}); - -// ../../../node_modules/@aws-crypto/util/build/convertToBuffer.js -var require_convertToBuffer = __commonJS({ - "../../../node_modules/@aws-crypto/util/build/convertToBuffer.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.convertToBuffer = void 0; - var util_utf8_browser_1 = require_dist_cjs7(); - var fromUtf8 = typeof Buffer !== "undefined" && Buffer.from ? function(input) { - return Buffer.from(input, "utf8"); - } : util_utf8_browser_1.fromUtf8; - function convertToBuffer(data) { - if (data instanceof Uint8Array) - return data; - if (typeof data === "string") { - return fromUtf8(data); - } - if (ArrayBuffer.isView(data)) { - return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); - } - return new Uint8Array(data); - } - exports.convertToBuffer = convertToBuffer; - } -}); - -// ../../../node_modules/@aws-crypto/util/build/isEmptyData.js -var require_isEmptyData = __commonJS({ - "../../../node_modules/@aws-crypto/util/build/isEmptyData.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isEmptyData = void 0; - function isEmptyData(data) { - if (typeof data === "string") { - return data.length === 0; - } - return data.byteLength === 0; - } - exports.isEmptyData = isEmptyData; - } -}); - -// ../../../node_modules/@aws-crypto/util/build/numToUint8.js -var require_numToUint8 = __commonJS({ - "../../../node_modules/@aws-crypto/util/build/numToUint8.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.numToUint8 = void 0; - function numToUint8(num) { - return new Uint8Array([ - (num & 4278190080) >> 24, - (num & 16711680) >> 16, - (num & 65280) >> 8, - num & 255 - ]); - } - exports.numToUint8 = numToUint8; - } -}); - -// ../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js -var require_uint32ArrayFrom = __commonJS({ - "../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.uint32ArrayFrom = void 0; - function uint32ArrayFrom(a_lookUpTable) { - if (!Uint32Array.from) { - var return_array = new Uint32Array(a_lookUpTable.length); - var a_index = 0; - while (a_index < a_lookUpTable.length) { - return_array[a_index] = a_lookUpTable[a_index]; - a_index += 1; - } - return return_array; - } - return Uint32Array.from(a_lookUpTable); - } - exports.uint32ArrayFrom = uint32ArrayFrom; - } -}); - -// ../../../node_modules/@aws-crypto/util/build/index.js -var require_build = __commonJS({ - "../../../node_modules/@aws-crypto/util/build/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0; - var convertToBuffer_1 = require_convertToBuffer(); - Object.defineProperty(exports, "convertToBuffer", { enumerable: true, get: function() { - return convertToBuffer_1.convertToBuffer; - } }); - var isEmptyData_1 = require_isEmptyData(); - Object.defineProperty(exports, "isEmptyData", { enumerable: true, get: function() { - return isEmptyData_1.isEmptyData; - } }); - var numToUint8_1 = require_numToUint8(); - Object.defineProperty(exports, "numToUint8", { enumerable: true, get: function() { - return numToUint8_1.numToUint8; - } }); - var uint32ArrayFrom_1 = require_uint32ArrayFrom(); - Object.defineProperty(exports, "uint32ArrayFrom", { enumerable: true, get: function() { - return uint32ArrayFrom_1.uint32ArrayFrom; - } }); - } -}); - -// ../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js -var require_aws_crc32 = __commonJS({ - "../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AwsCrc32 = void 0; - var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); - var util_1 = require_build(); - var index_1 = require_build2(); - var AwsCrc32 = ( - /** @class */ - function() { - function AwsCrc322() { - this.crc32 = new index_1.Crc32(); - } - AwsCrc322.prototype.update = function(toHash) { - if ((0, util_1.isEmptyData)(toHash)) - return; - this.crc32.update((0, util_1.convertToBuffer)(toHash)); - }; - AwsCrc322.prototype.digest = function() { - return tslib_1.__awaiter(this, void 0, void 0, function() { - return tslib_1.__generator(this, function(_a) { - return [2, (0, util_1.numToUint8)(this.crc32.digest())]; - }); - }); - }; - AwsCrc322.prototype.reset = function() { - this.crc32 = new index_1.Crc32(); - }; - return AwsCrc322; - }() - ); - exports.AwsCrc32 = AwsCrc32; - } -}); - -// ../../../node_modules/@aws-crypto/crc32/build/index.js -var require_build2 = __commonJS({ - "../../../node_modules/@aws-crypto/crc32/build/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0; - var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); - var util_1 = require_build(); - function crc32(data) { - return new Crc32().update(data).digest(); - } - exports.crc32 = crc32; - var Crc32 = ( - /** @class */ - function() { - function Crc322() { - this.checksum = 4294967295; - } - Crc322.prototype.update = function(data) { - var e_1, _a; - try { - for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) { - var byte = data_1_1.value; - this.checksum = this.checksum >>> 8 ^ lookupTable[(this.checksum ^ byte) & 255]; - } - } catch (e_1_1) { - e_1 = { error: e_1_1 }; - } finally { - try { - if (data_1_1 && !data_1_1.done && (_a = data_1.return)) - _a.call(data_1); - } finally { - if (e_1) - throw e_1.error; - } - } - return this; - }; - Crc322.prototype.digest = function() { - return (this.checksum ^ 4294967295) >>> 0; - }; - return Crc322; - }() - ); - exports.Crc32 = Crc32; - var a_lookUpTable = [ - 0, - 1996959894, - 3993919788, - 2567524794, - 124634137, - 1886057615, - 3915621685, - 2657392035, - 249268274, - 2044508324, - 3772115230, - 2547177864, - 162941995, - 2125561021, - 3887607047, - 2428444049, - 498536548, - 1789927666, - 4089016648, - 2227061214, - 450548861, - 1843258603, - 4107580753, - 2211677639, - 325883990, - 1684777152, - 4251122042, - 2321926636, - 335633487, - 1661365465, - 4195302755, - 2366115317, - 997073096, - 1281953886, - 3579855332, - 2724688242, - 1006888145, - 1258607687, - 3524101629, - 2768942443, - 901097722, - 1119000684, - 3686517206, - 2898065728, - 853044451, - 1172266101, - 3705015759, - 2882616665, - 651767980, - 1373503546, - 3369554304, - 3218104598, - 565507253, - 1454621731, - 3485111705, - 3099436303, - 671266974, - 1594198024, - 3322730930, - 2970347812, - 795835527, - 1483230225, - 3244367275, - 3060149565, - 1994146192, - 31158534, - 2563907772, - 4023717930, - 1907459465, - 112637215, - 2680153253, - 3904427059, - 2013776290, - 251722036, - 2517215374, - 3775830040, - 2137656763, - 141376813, - 2439277719, - 3865271297, - 1802195444, - 476864866, - 2238001368, - 4066508878, - 1812370925, - 453092731, - 2181625025, - 4111451223, - 1706088902, - 314042704, - 2344532202, - 4240017532, - 1658658271, - 366619977, - 2362670323, - 4224994405, - 1303535960, - 984961486, - 2747007092, - 3569037538, - 1256170817, - 1037604311, - 2765210733, - 3554079995, - 1131014506, - 879679996, - 2909243462, - 3663771856, - 1141124467, - 855842277, - 2852801631, - 3708648649, - 1342533948, - 654459306, - 3188396048, - 3373015174, - 1466479909, - 544179635, - 3110523913, - 3462522015, - 1591671054, - 702138776, - 2966460450, - 3352799412, - 1504918807, - 783551873, - 3082640443, - 3233442989, - 3988292384, - 2596254646, - 62317068, - 1957810842, - 3939845945, - 2647816111, - 81470997, - 1943803523, - 3814918930, - 2489596804, - 225274430, - 2053790376, - 3826175755, - 2466906013, - 167816743, - 2097651377, - 4027552580, - 2265490386, - 503444072, - 1762050814, - 4150417245, - 2154129355, - 426522225, - 1852507879, - 4275313526, - 2312317920, - 282753626, - 1742555852, - 4189708143, - 2394877945, - 397917763, - 1622183637, - 3604390888, - 2714866558, - 953729732, - 1340076626, - 3518719985, - 2797360999, - 1068828381, - 1219638859, - 3624741850, - 2936675148, - 906185462, - 1090812512, - 3747672003, - 2825379669, - 829329135, - 1181335161, - 3412177804, - 3160834842, - 628085408, - 1382605366, - 3423369109, - 3138078467, - 570562233, - 1426400815, - 3317316542, - 2998733608, - 733239954, - 1555261956, - 3268935591, - 3050360625, - 752459403, - 1541320221, - 2607071920, - 3965973030, - 1969922972, - 40735498, - 2617837225, - 3943577151, - 1913087877, - 83908371, - 2512341634, - 3803740692, - 2075208622, - 213261112, - 2463272603, - 3855990285, - 2094854071, - 198958881, - 2262029012, - 4057260610, - 1759359992, - 534414190, - 2176718541, - 4139329115, - 1873836001, - 414664567, - 2282248934, - 4279200368, - 1711684554, - 285281116, - 2405801727, - 4167216745, - 1634467795, - 376229701, - 2685067896, - 3608007406, - 1308918612, - 956543938, - 2808555105, - 3495958263, - 1231636301, - 1047427035, - 2932959818, - 3654703836, - 1088359270, - 936918e3, - 2847714899, - 3736837829, - 1202900863, - 817233897, - 3183342108, - 3401237130, - 1404277552, - 615818150, - 3134207493, - 3453421203, - 1423857449, - 601450431, - 3009837614, - 3294710456, - 1567103746, - 711928724, - 3020668471, - 3272380065, - 1510334235, - 755167117 - ]; - var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable); - var aws_crc32_1 = require_aws_crc32(); - Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function() { - return aws_crc32_1.AwsCrc32; - } }); - } -}); - -// ../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js -var require_dist_cjs8 = __commonJS({ - "../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toHex = exports.fromHex = void 0; - var SHORT_TO_HEX = {}; - var HEX_TO_SHORT = {}; - for (let i = 0; i < 256; i++) { - let encodedByte = i.toString(16).toLowerCase(); - if (encodedByte.length === 1) { - encodedByte = `0${encodedByte}`; - } - SHORT_TO_HEX[i] = encodedByte; - HEX_TO_SHORT[encodedByte] = i; - } - function fromHex(encoded) { - if (encoded.length % 2 !== 0) { - throw new Error("Hex encoded strings must have an even number length"); - } - const out = new Uint8Array(encoded.length / 2); - for (let i = 0; i < encoded.length; i += 2) { - const encodedByte = encoded.slice(i, i + 2).toLowerCase(); - if (encodedByte in HEX_TO_SHORT) { - out[i / 2] = HEX_TO_SHORT[encodedByte]; - } else { - throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); - } - } - return out; - } - exports.fromHex = fromHex; - function toHex(bytes) { - let out = ""; - for (let i = 0; i < bytes.byteLength; i++) { - out += SHORT_TO_HEX[bytes[i]]; - } - return out; - } - exports.toHex = toHex; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js -var require_Int64 = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Int64 = void 0; - var util_hex_encoding_1 = require_dist_cjs8(); - var Int64 = class _Int64 { - constructor(bytes) { - this.bytes = bytes; - if (bytes.byteLength !== 8) { - throw new Error("Int64 buffers must be exactly 8 bytes"); - } - } - static fromNumber(number) { - if (number > 9223372036854776e3 || number < -9223372036854776e3) { - throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); - } - const bytes = new Uint8Array(8); - for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { - bytes[i] = remaining; - } - if (number < 0) { - negate(bytes); - } - return new _Int64(bytes); - } - valueOf() { - const bytes = this.bytes.slice(0); - const negative = bytes[0] & 128; - if (negative) { - negate(bytes); - } - return parseInt((0, util_hex_encoding_1.toHex)(bytes), 16) * (negative ? -1 : 1); - } - toString() { - return String(this.valueOf()); - } - }; - exports.Int64 = Int64; - function negate(bytes) { - for (let i = 0; i < 8; i++) { - bytes[i] ^= 255; - } - for (let i = 7; i > -1; i--) { - bytes[i]++; - if (bytes[i] !== 0) - break; - } - } - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js -var require_HeaderMarshaller = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HeaderMarshaller = void 0; - var util_hex_encoding_1 = require_dist_cjs8(); - var Int64_1 = require_Int64(); - var HeaderMarshaller = class { - constructor(toUtf8, fromUtf8) { - this.toUtf8 = toUtf8; - this.fromUtf8 = fromUtf8; - } - format(headers) { - const chunks = []; - for (const headerName of Object.keys(headers)) { - const bytes = this.fromUtf8(headerName); - chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); - } - const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); - let position = 0; - for (const chunk of chunks) { - out.set(chunk, position); - position += chunk.byteLength; - } - return out; - } - formatHeaderValue(header) { - switch (header.type) { - case "boolean": - return Uint8Array.from([header.value ? 0 : 1]); - case "byte": - return Uint8Array.from([2, header.value]); - case "short": - const shortView = new DataView(new ArrayBuffer(3)); - shortView.setUint8(0, 3); - shortView.setInt16(1, header.value, false); - return new Uint8Array(shortView.buffer); - case "integer": - const intView = new DataView(new ArrayBuffer(5)); - intView.setUint8(0, 4); - intView.setInt32(1, header.value, false); - return new Uint8Array(intView.buffer); - case "long": - const longBytes = new Uint8Array(9); - longBytes[0] = 5; - longBytes.set(header.value.bytes, 1); - return longBytes; - case "binary": - const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); - binView.setUint8(0, 6); - binView.setUint16(1, header.value.byteLength, false); - const binBytes = new Uint8Array(binView.buffer); - binBytes.set(header.value, 3); - return binBytes; - case "string": - const utf8Bytes = this.fromUtf8(header.value); - const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); - strView.setUint8(0, 7); - strView.setUint16(1, utf8Bytes.byteLength, false); - const strBytes = new Uint8Array(strView.buffer); - strBytes.set(utf8Bytes, 3); - return strBytes; - case "timestamp": - const tsBytes = new Uint8Array(9); - tsBytes[0] = 8; - tsBytes.set(Int64_1.Int64.fromNumber(header.value.valueOf()).bytes, 1); - return tsBytes; - case "uuid": - if (!UUID_PATTERN.test(header.value)) { - throw new Error(`Invalid UUID received: ${header.value}`); - } - const uuidBytes = new Uint8Array(17); - uuidBytes[0] = 9; - uuidBytes.set((0, util_hex_encoding_1.fromHex)(header.value.replace(/\-/g, "")), 1); - return uuidBytes; - } - } - parse(headers) { - const out = {}; - let position = 0; - while (position < headers.byteLength) { - const nameLength = headers.getUint8(position++); - const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength)); - position += nameLength; - switch (headers.getUint8(position++)) { - case 0: - out[name] = { - type: BOOLEAN_TAG, - value: true - }; - break; - case 1: - out[name] = { - type: BOOLEAN_TAG, - value: false - }; - break; - case 2: - out[name] = { - type: BYTE_TAG, - value: headers.getInt8(position++) - }; - break; - case 3: - out[name] = { - type: SHORT_TAG, - value: headers.getInt16(position, false) - }; - position += 2; - break; - case 4: - out[name] = { - type: INT_TAG, - value: headers.getInt32(position, false) - }; - position += 4; - break; - case 5: - out[name] = { - type: LONG_TAG, - value: new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)) - }; - position += 8; - break; - case 6: - const binaryLength = headers.getUint16(position, false); - position += 2; - out[name] = { - type: BINARY_TAG, - value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength) - }; - position += binaryLength; - break; - case 7: - const stringLength = headers.getUint16(position, false); - position += 2; - out[name] = { - type: STRING_TAG, - value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)) - }; - position += stringLength; - break; - case 8: - out[name] = { - type: TIMESTAMP_TAG, - value: new Date(new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()) - }; - position += 8; - break; - case 9: - const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16); - position += 16; - out[name] = { - type: UUID_TAG, - value: `${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(0, 4))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(4, 6))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(6, 8))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(8, 10))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(10))}` - }; - break; - default: - throw new Error(`Unrecognized header type tag`); - } - } - return out; - } - }; - exports.HeaderMarshaller = HeaderMarshaller; - var HEADER_VALUE_TYPE; - (function(HEADER_VALUE_TYPE2) { - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp"; - HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid"; - })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {})); - var BOOLEAN_TAG = "boolean"; - var BYTE_TAG = "byte"; - var SHORT_TAG = "short"; - var INT_TAG = "integer"; - var LONG_TAG = "long"; - var BINARY_TAG = "binary"; - var STRING_TAG = "string"; - var TIMESTAMP_TAG = "timestamp"; - var UUID_TAG = "uuid"; - var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js -var require_splitMessage = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.splitMessage = void 0; - var crc32_1 = require_build2(); - var PRELUDE_MEMBER_LENGTH = 4; - var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2; - var CHECKSUM_LENGTH = 4; - var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2; - function splitMessage({ byteLength, byteOffset, buffer }) { - if (byteLength < MINIMUM_MESSAGE_LENGTH) { - throw new Error("Provided message too short to accommodate event stream message overhead"); - } - const view = new DataView(buffer, byteOffset, byteLength); - const messageLength = view.getUint32(0, false); - if (byteLength !== messageLength) { - throw new Error("Reported message length does not match received message length"); - } - const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false); - const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false); - const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false); - const checksummer = new crc32_1.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH)); - if (expectedPreludeChecksum !== checksummer.digest()) { - throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`); - } - checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH))); - if (expectedMessageChecksum !== checksummer.digest()) { - throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`); - } - return { - headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength), - body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)) - }; - } - exports.splitMessage = splitMessage; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js -var require_EventStreamCodec = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.EventStreamCodec = void 0; - var crc32_1 = require_build2(); - var HeaderMarshaller_1 = require_HeaderMarshaller(); - var splitMessage_1 = require_splitMessage(); - var EventStreamCodec = class { - constructor(toUtf8, fromUtf8) { - this.headerMarshaller = new HeaderMarshaller_1.HeaderMarshaller(toUtf8, fromUtf8); - this.messageBuffer = []; - this.isEndOfStream = false; - } - feed(message) { - this.messageBuffer.push(this.decode(message)); - } - endOfStream() { - this.isEndOfStream = true; - } - getMessage() { - const message = this.messageBuffer.pop(); - const isEndOfStream = this.isEndOfStream; - return { - getMessage() { - return message; - }, - isEndOfStream() { - return isEndOfStream; - } - }; - } - getAvailableMessages() { - const messages = this.messageBuffer; - this.messageBuffer = []; - const isEndOfStream = this.isEndOfStream; - return { - getMessages() { - return messages; - }, - isEndOfStream() { - return isEndOfStream; - } - }; - } - encode({ headers: rawHeaders, body }) { - const headers = this.headerMarshaller.format(rawHeaders); - const length = headers.byteLength + body.byteLength + 16; - const out = new Uint8Array(length); - const view = new DataView(out.buffer, out.byteOffset, out.byteLength); - const checksum = new crc32_1.Crc32(); - view.setUint32(0, length, false); - view.setUint32(4, headers.byteLength, false); - view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false); - out.set(headers, 12); - out.set(body, headers.byteLength + 12); - view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false); - return out; - } - decode(message) { - const { headers, body } = (0, splitMessage_1.splitMessage)(message); - return { headers: this.headerMarshaller.parse(headers), body }; - } - formatHeaders(rawHeaders) { - return this.headerMarshaller.format(rawHeaders); - } - }; - exports.EventStreamCodec = EventStreamCodec; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js -var require_Message = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js -var require_MessageDecoderStream = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MessageDecoderStream = void 0; - var MessageDecoderStream = class { - constructor(options) { - this.options = options; - } - [Symbol.asyncIterator]() { - return this.asyncIterator(); - } - async *asyncIterator() { - for await (const bytes of this.options.inputStream) { - const decoded = this.options.decoder.decode(bytes); - yield decoded; - } - } - }; - exports.MessageDecoderStream = MessageDecoderStream; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js -var require_MessageEncoderStream = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MessageEncoderStream = void 0; - var MessageEncoderStream = class { - constructor(options) { - this.options = options; - } - [Symbol.asyncIterator]() { - return this.asyncIterator(); - } - async *asyncIterator() { - for await (const msg of this.options.messageStream) { - const encoded = this.options.encoder.encode(msg); - yield encoded; - } - if (this.options.includeEndFrame) { - yield new Uint8Array(0); - } - } - }; - exports.MessageEncoderStream = MessageEncoderStream; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js -var require_SmithyMessageDecoderStream = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SmithyMessageDecoderStream = void 0; - var SmithyMessageDecoderStream = class { - constructor(options) { - this.options = options; - } - [Symbol.asyncIterator]() { - return this.asyncIterator(); - } - async *asyncIterator() { - for await (const message of this.options.messageStream) { - const deserialized = await this.options.deserializer(message); - if (deserialized === void 0) - continue; - yield deserialized; - } - } - }; - exports.SmithyMessageDecoderStream = SmithyMessageDecoderStream; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js -var require_SmithyMessageEncoderStream = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SmithyMessageEncoderStream = void 0; - var SmithyMessageEncoderStream = class { - constructor(options) { - this.options = options; - } - [Symbol.asyncIterator]() { - return this.asyncIterator(); - } - async *asyncIterator() { - for await (const chunk of this.options.inputStream) { - const payloadBuf = this.options.serializer(chunk); - yield payloadBuf; - } - } - }; - exports.SmithyMessageEncoderStream = SmithyMessageEncoderStream; - } -}); - -// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js -var require_dist_cjs9 = __commonJS({ - "../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_EventStreamCodec(), exports); - tslib_1.__exportStar(require_HeaderMarshaller(), exports); - tslib_1.__exportStar(require_Int64(), exports); - tslib_1.__exportStar(require_Message(), exports); - tslib_1.__exportStar(require_MessageDecoderStream(), exports); - tslib_1.__exportStar(require_MessageEncoderStream(), exports); - tslib_1.__exportStar(require_SmithyMessageDecoderStream(), exports); - tslib_1.__exportStar(require_SmithyMessageEncoderStream(), exports); - } -}); - -// ../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js -var require_normalizeProvider = __commonJS({ - "../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.normalizeProvider = void 0; - var normalizeProvider = (input) => { - if (typeof input === "function") - return input; - const promisified = Promise.resolve(input); - return () => promisified; - }; - exports.normalizeProvider = normalizeProvider; - } -}); - -// ../../../node_modules/@smithy/util-middleware/dist-cjs/index.js -var require_dist_cjs10 = __commonJS({ - "../../../node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_normalizeProvider(), exports); - } -}); - -// ../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js -var require_dist_cjs11 = __commonJS({ - "../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isArrayBuffer = void 0; - var isArrayBuffer = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]"; - exports.isArrayBuffer = isArrayBuffer; - } -}); - -// ../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js -var require_dist_cjs12 = __commonJS({ - "../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromString = exports.fromArrayBuffer = void 0; - var is_array_buffer_1 = require_dist_cjs11(); - var buffer_1 = require("buffer"); - var fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => { - if (!(0, is_array_buffer_1.isArrayBuffer)(input)) { - throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); - } - return buffer_1.Buffer.from(input, offset, length); - }; - exports.fromArrayBuffer = fromArrayBuffer; - var fromString = (input, encoding) => { - if (typeof input !== "string") { - throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); - } - return encoding ? buffer_1.Buffer.from(input, encoding) : buffer_1.Buffer.from(input); - }; - exports.fromString = fromString; - } -}); - -// ../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js -var require_fromUtf8 = __commonJS({ - "../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromUtf8 = void 0; - var util_buffer_from_1 = require_dist_cjs12(); - var fromUtf8 = (input) => { - const buf = (0, util_buffer_from_1.fromString)(input, "utf8"); - return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); - }; - exports.fromUtf8 = fromUtf8; - } -}); - -// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js -var require_toUint8Array = __commonJS({ - "../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toUint8Array = void 0; - var fromUtf8_1 = require_fromUtf8(); - var toUint8Array = (data) => { - if (typeof data === "string") { - return (0, fromUtf8_1.fromUtf8)(data); - } - if (ArrayBuffer.isView(data)) { - return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); - } - return new Uint8Array(data); - }; - exports.toUint8Array = toUint8Array; - } -}); - -// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js -var require_toUtf8 = __commonJS({ - "../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toUtf8 = void 0; - var util_buffer_from_1 = require_dist_cjs12(); - var toUtf8 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); - exports.toUtf8 = toUtf8; - } -}); - -// ../../../node_modules/@smithy/util-utf8/dist-cjs/index.js -var require_dist_cjs13 = __commonJS({ - "../../../node_modules/@smithy/util-utf8/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromUtf8(), exports); - tslib_1.__exportStar(require_toUint8Array(), exports); - tslib_1.__exportStar(require_toUtf8(), exports); - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js -var require_constants = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MAX_PRESIGNED_TTL = exports.KEY_TYPE_IDENTIFIER = exports.MAX_CACHE_SIZE = exports.UNSIGNED_PAYLOAD = exports.EVENT_ALGORITHM_IDENTIFIER = exports.ALGORITHM_IDENTIFIER_V4A = exports.ALGORITHM_IDENTIFIER = exports.UNSIGNABLE_PATTERNS = exports.SEC_HEADER_PATTERN = exports.PROXY_HEADER_PATTERN = exports.ALWAYS_UNSIGNABLE_HEADERS = exports.HOST_HEADER = exports.TOKEN_HEADER = exports.SHA256_HEADER = exports.SIGNATURE_HEADER = exports.GENERATED_HEADERS = exports.DATE_HEADER = exports.AMZ_DATE_HEADER = exports.AUTH_HEADER = exports.REGION_SET_PARAM = exports.TOKEN_QUERY_PARAM = exports.SIGNATURE_QUERY_PARAM = exports.EXPIRES_QUERY_PARAM = exports.SIGNED_HEADERS_QUERY_PARAM = exports.AMZ_DATE_QUERY_PARAM = exports.CREDENTIAL_QUERY_PARAM = exports.ALGORITHM_QUERY_PARAM = void 0; - exports.ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; - exports.CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; - exports.AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; - exports.SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; - exports.EXPIRES_QUERY_PARAM = "X-Amz-Expires"; - exports.SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; - exports.TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; - exports.REGION_SET_PARAM = "X-Amz-Region-Set"; - exports.AUTH_HEADER = "authorization"; - exports.AMZ_DATE_HEADER = exports.AMZ_DATE_QUERY_PARAM.toLowerCase(); - exports.DATE_HEADER = "date"; - exports.GENERATED_HEADERS = [exports.AUTH_HEADER, exports.AMZ_DATE_HEADER, exports.DATE_HEADER]; - exports.SIGNATURE_HEADER = exports.SIGNATURE_QUERY_PARAM.toLowerCase(); - exports.SHA256_HEADER = "x-amz-content-sha256"; - exports.TOKEN_HEADER = exports.TOKEN_QUERY_PARAM.toLowerCase(); - exports.HOST_HEADER = "host"; - exports.ALWAYS_UNSIGNABLE_HEADERS = { - authorization: true, - "cache-control": true, - connection: true, - expect: true, - from: true, - "keep-alive": true, - "max-forwards": true, - pragma: true, - referer: true, - te: true, - trailer: true, - "transfer-encoding": true, - upgrade: true, - "user-agent": true, - "x-amzn-trace-id": true - }; - exports.PROXY_HEADER_PATTERN = /^proxy-/; - exports.SEC_HEADER_PATTERN = /^sec-/; - exports.UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i]; - exports.ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; - exports.ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256"; - exports.EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; - exports.UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; - exports.MAX_CACHE_SIZE = 50; - exports.KEY_TYPE_IDENTIFIER = "aws4_request"; - exports.MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js -var require_credentialDerivation = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.clearCredentialCache = exports.getSigningKey = exports.createScope = void 0; - var util_hex_encoding_1 = require_dist_cjs8(); - var util_utf8_1 = require_dist_cjs13(); - var constants_1 = require_constants(); - var signingKeyCache = {}; - var cacheQueue = []; - var createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`; - exports.createScope = createScope; - var getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => { - const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); - const cacheKey = `${shortDate}:${region}:${service}:${(0, util_hex_encoding_1.toHex)(credsHash)}:${credentials.sessionToken}`; - if (cacheKey in signingKeyCache) { - return signingKeyCache[cacheKey]; - } - cacheQueue.push(cacheKey); - while (cacheQueue.length > constants_1.MAX_CACHE_SIZE) { - delete signingKeyCache[cacheQueue.shift()]; - } - let key = `AWS4${credentials.secretAccessKey}`; - for (const signable of [shortDate, region, service, constants_1.KEY_TYPE_IDENTIFIER]) { - key = await hmac(sha256Constructor, key, signable); - } - return signingKeyCache[cacheKey] = key; - }; - exports.getSigningKey = getSigningKey; - var clearCredentialCache = () => { - cacheQueue.length = 0; - Object.keys(signingKeyCache).forEach((cacheKey) => { - delete signingKeyCache[cacheKey]; - }); - }; - exports.clearCredentialCache = clearCredentialCache; - var hmac = (ctor, secret, data) => { - const hash = new ctor(secret); - hash.update((0, util_utf8_1.toUint8Array)(data)); - return hash.digest(); - }; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js -var require_getCanonicalHeaders = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getCanonicalHeaders = void 0; - var constants_1 = require_constants(); - var getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => { - const canonical = {}; - for (const headerName of Object.keys(headers).sort()) { - if (headers[headerName] == void 0) { - continue; - } - const canonicalHeaderName = headerName.toLowerCase(); - if (canonicalHeaderName in constants_1.ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) || constants_1.PROXY_HEADER_PATTERN.test(canonicalHeaderName) || constants_1.SEC_HEADER_PATTERN.test(canonicalHeaderName)) { - if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { - continue; - } - } - canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " "); - } - return canonical; - }; - exports.getCanonicalHeaders = getCanonicalHeaders; - } -}); - -// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js -var require_escape_uri = __commonJS({ - "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.escapeUri = void 0; - var escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode); - exports.escapeUri = escapeUri; - var hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`; - } -}); - -// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js -var require_escape_uri_path = __commonJS({ - "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.escapeUriPath = void 0; - var escape_uri_1 = require_escape_uri(); - var escapeUriPath = (uri) => uri.split("/").map(escape_uri_1.escapeUri).join("/"); - exports.escapeUriPath = escapeUriPath; - } -}); - -// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js -var require_dist_cjs14 = __commonJS({ - "../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_escape_uri(), exports); - tslib_1.__exportStar(require_escape_uri_path(), exports); - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js -var require_getCanonicalQuery = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getCanonicalQuery = void 0; - var util_uri_escape_1 = require_dist_cjs14(); - var constants_1 = require_constants(); - var getCanonicalQuery = ({ query = {} }) => { - const keys = []; - const serialized = {}; - for (const key of Object.keys(query).sort()) { - if (key.toLowerCase() === constants_1.SIGNATURE_HEADER) { - continue; - } - keys.push(key); - const value = query[key]; - if (typeof value === "string") { - serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; - } else if (Array.isArray(value)) { - serialized[key] = value.slice(0).sort().reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).join("&"); - } - } - return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); - }; - exports.getCanonicalQuery = getCanonicalQuery; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js -var require_getPayloadHash = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getPayloadHash = void 0; - var is_array_buffer_1 = require_dist_cjs11(); - var util_hex_encoding_1 = require_dist_cjs8(); - var util_utf8_1 = require_dist_cjs13(); - var constants_1 = require_constants(); - var getPayloadHash = async ({ headers, body }, hashConstructor) => { - for (const headerName of Object.keys(headers)) { - if (headerName.toLowerCase() === constants_1.SHA256_HEADER) { - return headers[headerName]; - } - } - if (body == void 0) { - return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; - } else if (typeof body === "string" || ArrayBuffer.isView(body) || (0, is_array_buffer_1.isArrayBuffer)(body)) { - const hashCtor = new hashConstructor(); - hashCtor.update((0, util_utf8_1.toUint8Array)(body)); - return (0, util_hex_encoding_1.toHex)(await hashCtor.digest()); - } - return constants_1.UNSIGNED_PAYLOAD; - }; - exports.getPayloadHash = getPayloadHash; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js -var require_headerUtil = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.deleteHeader = exports.getHeaderValue = exports.hasHeader = void 0; - var hasHeader = (soughtHeader, headers) => { - soughtHeader = soughtHeader.toLowerCase(); - for (const headerName of Object.keys(headers)) { - if (soughtHeader === headerName.toLowerCase()) { - return true; - } - } - return false; - }; - exports.hasHeader = hasHeader; - var getHeaderValue = (soughtHeader, headers) => { - soughtHeader = soughtHeader.toLowerCase(); - for (const headerName of Object.keys(headers)) { - if (soughtHeader === headerName.toLowerCase()) { - return headers[headerName]; - } - } - return void 0; - }; - exports.getHeaderValue = getHeaderValue; - var deleteHeader = (soughtHeader, headers) => { - soughtHeader = soughtHeader.toLowerCase(); - for (const headerName of Object.keys(headers)) { - if (soughtHeader === headerName.toLowerCase()) { - delete headers[headerName]; - } - } - }; - exports.deleteHeader = deleteHeader; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js -var require_cloneRequest = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.cloneQuery = exports.cloneRequest = void 0; - var cloneRequest = ({ headers, query, ...rest }) => ({ - ...rest, - headers: { ...headers }, - query: query ? (0, exports.cloneQuery)(query) : void 0 - }); - exports.cloneRequest = cloneRequest; - var cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => { - const param = query[paramName]; - return { - ...carry, - [paramName]: Array.isArray(param) ? [...param] : param - }; - }, {}); - exports.cloneQuery = cloneQuery; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js -var require_moveHeadersToQuery = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.moveHeadersToQuery = void 0; - var cloneRequest_1 = require_cloneRequest(); - var moveHeadersToQuery = (request2, options = {}) => { - var _a; - const { headers, query = {} } = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); - for (const name of Object.keys(headers)) { - const lname = name.toLowerCase(); - if (lname.slice(0, 6) === "x-amz-" && !((_a = options.unhoistableHeaders) === null || _a === void 0 ? void 0 : _a.has(lname))) { - query[name] = headers[name]; - delete headers[name]; - } - } - return { - ...request2, - headers, - query - }; - }; - exports.moveHeadersToQuery = moveHeadersToQuery; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js -var require_prepareRequest = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.prepareRequest = void 0; - var cloneRequest_1 = require_cloneRequest(); - var constants_1 = require_constants(); - var prepareRequest = (request2) => { - request2 = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); - for (const headerName of Object.keys(request2.headers)) { - if (constants_1.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { - delete request2.headers[headerName]; - } - } - return request2; - }; - exports.prepareRequest = prepareRequest; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js -var require_utilDate = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toDate = exports.iso8601 = void 0; - var iso8601 = (time) => (0, exports.toDate)(time).toISOString().replace(/\.\d{3}Z$/, "Z"); - exports.iso8601 = iso8601; - var toDate = (time) => { - if (typeof time === "number") { - return new Date(time * 1e3); - } - if (typeof time === "string") { - if (Number(time)) { - return new Date(Number(time) * 1e3); - } - return new Date(time); - } - return time; - }; - exports.toDate = toDate; - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js -var require_SignatureV4 = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SignatureV4 = void 0; - var eventstream_codec_1 = require_dist_cjs9(); - var util_hex_encoding_1 = require_dist_cjs8(); - var util_middleware_1 = require_dist_cjs10(); - var util_utf8_1 = require_dist_cjs13(); - var constants_1 = require_constants(); - var credentialDerivation_1 = require_credentialDerivation(); - var getCanonicalHeaders_1 = require_getCanonicalHeaders(); - var getCanonicalQuery_1 = require_getCanonicalQuery(); - var getPayloadHash_1 = require_getPayloadHash(); - var headerUtil_1 = require_headerUtil(); - var moveHeadersToQuery_1 = require_moveHeadersToQuery(); - var prepareRequest_1 = require_prepareRequest(); - var utilDate_1 = require_utilDate(); - var SignatureV4 = class { - constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) { - this.headerMarshaller = new eventstream_codec_1.HeaderMarshaller(util_utf8_1.toUtf8, util_utf8_1.fromUtf8); - this.service = service; - this.sha256 = sha256; - this.uriEscapePath = uriEscapePath; - this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; - this.regionProvider = (0, util_middleware_1.normalizeProvider)(region); - this.credentialProvider = (0, util_middleware_1.normalizeProvider)(credentials); - } - async presign(originalRequest, options = {}) { - const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService } = options; - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); - const { longDate, shortDate } = formatDate(signingDate); - if (expiresIn > constants_1.MAX_PRESIGNED_TTL) { - return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future"); - } - const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); - const request2 = (0, moveHeadersToQuery_1.moveHeadersToQuery)((0, prepareRequest_1.prepareRequest)(originalRequest), { unhoistableHeaders }); - if (credentials.sessionToken) { - request2.query[constants_1.TOKEN_QUERY_PARAM] = credentials.sessionToken; - } - request2.query[constants_1.ALGORITHM_QUERY_PARAM] = constants_1.ALGORITHM_IDENTIFIER; - request2.query[constants_1.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; - request2.query[constants_1.AMZ_DATE_QUERY_PARAM] = longDate; - request2.query[constants_1.EXPIRES_QUERY_PARAM] = expiresIn.toString(10); - const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); - request2.query[constants_1.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders); - request2.query[constants_1.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, await (0, getPayloadHash_1.getPayloadHash)(originalRequest, this.sha256))); - return request2; - } - async sign(toSign, options) { - if (typeof toSign === "string") { - return this.signString(toSign, options); - } else if (toSign.headers && toSign.payload) { - return this.signEvent(toSign, options); - } else if (toSign.message) { - return this.signMessage(toSign, options); - } else { - return this.signRequest(toSign, options); - } - } - async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) { - const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); - const { shortDate, longDate } = formatDate(signingDate); - const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); - const hashedPayload = await (0, getPayloadHash_1.getPayloadHash)({ headers: {}, body: payload }, this.sha256); - const hash = new this.sha256(); - hash.update(headers); - const hashedHeaders = (0, util_hex_encoding_1.toHex)(await hash.digest()); - const stringToSign = [ - constants_1.EVENT_ALGORITHM_IDENTIFIER, - longDate, - scope, - priorSignature, - hashedHeaders, - hashedPayload - ].join("\n"); - return this.signString(stringToSign, { signingDate, signingRegion: region, signingService }); - } - async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) { - const promise = this.signEvent({ - headers: this.headerMarshaller.format(signableMessage.message.headers), - payload: signableMessage.message.body - }, { - signingDate, - signingRegion, - signingService, - priorSignature: signableMessage.priorSignature - }); - return promise.then((signature) => { - return { message: signableMessage.message, signature }; - }); - } - async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) { - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); - const { shortDate } = formatDate(signingDate); - const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); - hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); - return (0, util_hex_encoding_1.toHex)(await hash.digest()); - } - async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) { - const credentials = await this.credentialProvider(); - this.validateResolvedCredentials(credentials); - const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); - const request2 = (0, prepareRequest_1.prepareRequest)(requestToSign); - const { longDate, shortDate } = formatDate(signingDate); - const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); - request2.headers[constants_1.AMZ_DATE_HEADER] = longDate; - if (credentials.sessionToken) { - request2.headers[constants_1.TOKEN_HEADER] = credentials.sessionToken; - } - const payloadHash = await (0, getPayloadHash_1.getPayloadHash)(request2, this.sha256); - if (!(0, headerUtil_1.hasHeader)(constants_1.SHA256_HEADER, request2.headers) && this.applyChecksum) { - request2.headers[constants_1.SHA256_HEADER] = payloadHash; - } - const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); - const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, payloadHash)); - request2.headers[constants_1.AUTH_HEADER] = `${constants_1.ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; - return request2; - } - createCanonicalRequest(request2, canonicalHeaders, payloadHash) { - const sortedHeaders = Object.keys(canonicalHeaders).sort(); - return `${request2.method} -${this.getCanonicalPath(request2)} -${(0, getCanonicalQuery_1.getCanonicalQuery)(request2)} -${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")} - -${sortedHeaders.join(";")} -${payloadHash}`; - } - async createStringToSign(longDate, credentialScope, canonicalRequest) { - const hash = new this.sha256(); - hash.update((0, util_utf8_1.toUint8Array)(canonicalRequest)); - const hashedRequest = await hash.digest(); - return `${constants_1.ALGORITHM_IDENTIFIER} -${longDate} -${credentialScope} -${(0, util_hex_encoding_1.toHex)(hashedRequest)}`; - } - getCanonicalPath({ path }) { - if (this.uriEscapePath) { - const normalizedPathSegments = []; - for (const pathSegment of path.split("/")) { - if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0) - continue; - if (pathSegment === ".") - continue; - if (pathSegment === "..") { - normalizedPathSegments.pop(); - } else { - normalizedPathSegments.push(pathSegment); - } - } - const normalizedPath = `${(path === null || path === void 0 ? void 0 : path.startsWith("/")) ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith("/")) ? "/" : ""}`; - const doubleEncoded = encodeURIComponent(normalizedPath); - return doubleEncoded.replace(/%2F/g, "/"); - } - return path; - } - async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { - const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest); - const hash = new this.sha256(await keyPromise); - hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); - return (0, util_hex_encoding_1.toHex)(await hash.digest()); - } - getSigningKey(credentials, region, shortDate, service) { - return (0, credentialDerivation_1.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service); - } - validateResolvedCredentials(credentials) { - if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") { - throw new Error("Resolved credential object is not valid"); - } - } - }; - exports.SignatureV4 = SignatureV4; - var formatDate = (now) => { - const longDate = (0, utilDate_1.iso8601)(now).replace(/[\-:]/g, ""); - return { - longDate, - shortDate: longDate.slice(0, 8) - }; - }; - var getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(";"); - } -}); - -// ../../../node_modules/@smithy/signature-v4/dist-cjs/index.js -var require_dist_cjs15 = __commonJS({ - "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.prepareRequest = exports.moveHeadersToQuery = exports.getPayloadHash = exports.getCanonicalQuery = exports.getCanonicalHeaders = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SignatureV4(), exports); - var getCanonicalHeaders_1 = require_getCanonicalHeaders(); - Object.defineProperty(exports, "getCanonicalHeaders", { enumerable: true, get: function() { - return getCanonicalHeaders_1.getCanonicalHeaders; - } }); - var getCanonicalQuery_1 = require_getCanonicalQuery(); - Object.defineProperty(exports, "getCanonicalQuery", { enumerable: true, get: function() { - return getCanonicalQuery_1.getCanonicalQuery; - } }); - var getPayloadHash_1 = require_getPayloadHash(); - Object.defineProperty(exports, "getPayloadHash", { enumerable: true, get: function() { - return getPayloadHash_1.getPayloadHash; - } }); - var moveHeadersToQuery_1 = require_moveHeadersToQuery(); - Object.defineProperty(exports, "moveHeadersToQuery", { enumerable: true, get: function() { - return moveHeadersToQuery_1.moveHeadersToQuery; - } }); - var prepareRequest_1 = require_prepareRequest(); - Object.defineProperty(exports, "prepareRequest", { enumerable: true, get: function() { - return prepareRequest_1.prepareRequest; - } }); - tslib_1.__exportStar(require_credentialDerivation(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js -var require_awsAuthConfiguration = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0; - var property_provider_1 = require_dist_cjs6(); - var signature_v4_1 = require_dist_cjs15(); - var util_middleware_1 = require_dist_cjs10(); - var CREDENTIAL_EXPIRE_WINDOW = 3e5; - var resolveAwsAuthConfig = (input) => { - const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); - const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; - let signer; - if (input.signer) { - signer = (0, util_middleware_1.normalizeProvider)(input.signer); - } else if (input.regionInfoProvider) { - signer = () => (0, util_middleware_1.normalizeProvider)(input.region)().then(async (region) => [ - await input.regionInfoProvider(region, { - useFipsEndpoint: await input.useFipsEndpoint(), - useDualstackEndpoint: await input.useDualstackEndpoint() - }) || {}, - region - ]).then(([regionInfo, region]) => { - const { signingRegion, signingService } = regionInfo; - input.signingRegion = input.signingRegion || signingRegion || region; - input.signingName = input.signingName || signingService || input.serviceId; - const params = { - ...input, - credentials: normalizedCreds, - region: input.signingRegion, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - }; - const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; - return new SignerCtor(params); - }); - } else { - signer = async (authScheme) => { - authScheme = Object.assign({}, { - name: "sigv4", - signingName: input.signingName || input.defaultSigningName, - signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(), - properties: {} - }, authScheme); - const signingRegion = authScheme.signingRegion; - const signingService = authScheme.signingName; - input.signingRegion = input.signingRegion || signingRegion; - input.signingName = input.signingName || signingService || input.serviceId; - const params = { - ...input, - credentials: normalizedCreds, - region: input.signingRegion, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - }; - const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; - return new SignerCtor(params); - }; - } - return { - ...input, - systemClockOffset, - signingEscapePath, - credentials: normalizedCreds, - signer - }; - }; - exports.resolveAwsAuthConfig = resolveAwsAuthConfig; - var resolveSigV4AuthConfig = (input) => { - const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); - const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; - let signer; - if (input.signer) { - signer = (0, util_middleware_1.normalizeProvider)(input.signer); - } else { - signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({ - credentials: normalizedCreds, - region: input.region, - service: input.signingName, - sha256, - uriEscapePath: signingEscapePath - })); - } - return { - ...input, - systemClockOffset, - signingEscapePath, - credentials: normalizedCreds, - signer - }; - }; - exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig; - var normalizeCredentialProvider = (credentials) => { - if (typeof credentials === "function") { - return (0, property_provider_1.memoize)(credentials, (credentials2) => credentials2.expiration !== void 0 && credentials2.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials2) => credentials2.expiration !== void 0); - } - return (0, util_middleware_1.normalizeProvider)(credentials); - }; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js -var require_getSkewCorrectedDate = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSkewCorrectedDate = void 0; - var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset); - exports.getSkewCorrectedDate = getSkewCorrectedDate; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js -var require_isClockSkewed = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isClockSkewed = void 0; - var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); - var isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 3e5; - exports.isClockSkewed = isClockSkewed; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js -var require_getUpdatedSystemClockOffset = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getUpdatedSystemClockOffset = void 0; - var isClockSkewed_1 = require_isClockSkewed(); - var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => { - const clockTimeInMs = Date.parse(clockTime); - if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) { - return clockTimeInMs - Date.now(); - } - return currentSystemClockOffset; - }; - exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js -var require_awsAuthMiddleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); - var getUpdatedSystemClockOffset_1 = require_getUpdatedSystemClockOffset(); - var awsAuthMiddleware = (options) => (next, context) => async function(args) { - var _a, _b, _c, _d; - if (!protocol_http_1.HttpRequest.isInstance(args.request)) - return next(args); - const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0]; - const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(",") : void 0; - const signer = await options.signer(authScheme); - const output = await next({ - ...args, - request: await signer.sign(args.request, { - signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset), - signingRegion: multiRegionOverride || context["signing_region"], - signingService: context["signing_service"] - }) - }).catch((error) => { - var _a2; - const serverTime = (_a2 = error.ServerTime) !== null && _a2 !== void 0 ? _a2 : getDateHeader(error.$response); - if (serverTime) { - options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset); - } - throw error; - }); - const dateHeader = getDateHeader(output.response); - if (dateHeader) { - options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset); - } - return output; - }; - exports.awsAuthMiddleware = awsAuthMiddleware; - var getDateHeader = (response) => { - var _a, _b, _c; - return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : void 0; - }; - exports.awsAuthMiddlewareOptions = { - name: "awsAuthMiddleware", - tags: ["SIGNATURE", "AWSAUTH"], - relation: "after", - toMiddleware: "retryMiddleware", - override: true - }; - var getAwsAuthPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions); - } - }); - exports.getAwsAuthPlugin = getAwsAuthPlugin; - exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js -var require_dist_cjs16 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_awsAuthConfiguration(), exports); - tslib_1.__exportStar(require_awsAuthMiddleware(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js -var require_configurations = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveUserAgentConfig = void 0; - function resolveUserAgentConfig(input) { - return { - ...input, - customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent - }; - } - exports.resolveUserAgentConfig = resolveUserAgentConfig; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json -var require_partitions = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json"(exports, module2) { - module2.exports = { - partitions: [{ - id: "aws", - outputs: { - dnsSuffix: "amazonaws.com", - dualStackDnsSuffix: "api.aws", - name: "aws", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$", - regions: { - "af-south-1": { - description: "Africa (Cape Town)" - }, - "ap-east-1": { - description: "Asia Pacific (Hong Kong)" - }, - "ap-northeast-1": { - description: "Asia Pacific (Tokyo)" - }, - "ap-northeast-2": { - description: "Asia Pacific (Seoul)" - }, - "ap-northeast-3": { - description: "Asia Pacific (Osaka)" - }, - "ap-south-1": { - description: "Asia Pacific (Mumbai)" - }, - "ap-south-2": { - description: "Asia Pacific (Hyderabad)" - }, - "ap-southeast-1": { - description: "Asia Pacific (Singapore)" - }, - "ap-southeast-2": { - description: "Asia Pacific (Sydney)" - }, - "ap-southeast-3": { - description: "Asia Pacific (Jakarta)" - }, - "ap-southeast-4": { - description: "Asia Pacific (Melbourne)" - }, - "aws-global": { - description: "AWS Standard global region" - }, - "ca-central-1": { - description: "Canada (Central)" - }, - "eu-central-1": { - description: "Europe (Frankfurt)" - }, - "eu-central-2": { - description: "Europe (Zurich)" - }, - "eu-north-1": { - description: "Europe (Stockholm)" - }, - "eu-south-1": { - description: "Europe (Milan)" - }, - "eu-south-2": { - description: "Europe (Spain)" - }, - "eu-west-1": { - description: "Europe (Ireland)" - }, - "eu-west-2": { - description: "Europe (London)" - }, - "eu-west-3": { - description: "Europe (Paris)" - }, - "me-central-1": { - description: "Middle East (UAE)" - }, - "me-south-1": { - description: "Middle East (Bahrain)" - }, - "sa-east-1": { - description: "South America (Sao Paulo)" - }, - "us-east-1": { - description: "US East (N. Virginia)" - }, - "us-east-2": { - description: "US East (Ohio)" - }, - "us-west-1": { - description: "US West (N. California)" - }, - "us-west-2": { - description: "US West (Oregon)" - } - } - }, { - id: "aws-cn", - outputs: { - dnsSuffix: "amazonaws.com.cn", - dualStackDnsSuffix: "api.amazonwebservices.com.cn", - name: "aws-cn", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^cn\\-\\w+\\-\\d+$", - regions: { - "aws-cn-global": { - description: "AWS China global region" - }, - "cn-north-1": { - description: "China (Beijing)" - }, - "cn-northwest-1": { - description: "China (Ningxia)" - } - } - }, { - id: "aws-us-gov", - outputs: { - dnsSuffix: "amazonaws.com", - dualStackDnsSuffix: "api.aws", - name: "aws-us-gov", - supportsDualStack: true, - supportsFIPS: true - }, - regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", - regions: { - "aws-us-gov-global": { - description: "AWS GovCloud (US) global region" - }, - "us-gov-east-1": { - description: "AWS GovCloud (US-East)" - }, - "us-gov-west-1": { - description: "AWS GovCloud (US-West)" - } - } - }, { - id: "aws-iso", - outputs: { - dnsSuffix: "c2s.ic.gov", - dualStackDnsSuffix: "c2s.ic.gov", - name: "aws-iso", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", - regions: { - "aws-iso-global": { - description: "AWS ISO (US) global region" - }, - "us-iso-east-1": { - description: "US ISO East" - }, - "us-iso-west-1": { - description: "US ISO WEST" - } - } - }, { - id: "aws-iso-b", - outputs: { - dnsSuffix: "sc2s.sgov.gov", - dualStackDnsSuffix: "sc2s.sgov.gov", - name: "aws-iso-b", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-isob\\-\\w+\\-\\d+$", - regions: { - "aws-iso-b-global": { - description: "AWS ISOB (US) global region" - }, - "us-isob-east-1": { - description: "US ISOB East (Ohio)" - } - } - }, { - id: "aws-iso-e", - outputs: { - dnsSuffix: "cloud.adc-e.uk", - dualStackDnsSuffix: "cloud.adc-e.uk", - name: "aws-iso-e", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$", - regions: {} - }, { - id: "aws-iso-f", - outputs: { - dnsSuffix: "csp.hci.ic.gov", - dualStackDnsSuffix: "csp.hci.ic.gov", - name: "aws-iso-f", - supportsDualStack: false, - supportsFIPS: true - }, - regionRegex: "^us\\-isof\\-\\w+\\-\\d+$", - regions: {} - }], - version: "1.1" - }; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js -var require_partition = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getUserAgentPrefix = exports.useDefaultPartitionInfo = exports.setPartitionInfo = exports.partition = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var partitions_json_1 = tslib_1.__importDefault(require_partitions()); - var selectedPartitionsInfo = partitions_json_1.default; - var selectedUserAgentPrefix = ""; - var partition = (value) => { - const { partitions } = selectedPartitionsInfo; - for (const partition2 of partitions) { - const { regions, outputs } = partition2; - for (const [region, regionData] of Object.entries(regions)) { - if (region === value) { - return { - ...outputs, - ...regionData - }; - } - } - } - for (const partition2 of partitions) { - const { regionRegex, outputs } = partition2; - if (new RegExp(regionRegex).test(value)) { - return { - ...outputs - }; - } - } - const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); - if (!DEFAULT_PARTITION) { - throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist."); - } - return { - ...DEFAULT_PARTITION.outputs - }; - }; - exports.partition = partition; - var setPartitionInfo = (partitionsInfo, userAgentPrefix = "") => { - selectedPartitionsInfo = partitionsInfo; - selectedUserAgentPrefix = userAgentPrefix; - }; - exports.setPartitionInfo = setPartitionInfo; - var useDefaultPartitionInfo = () => { - (0, exports.setPartitionInfo)(partitions_json_1.default, ""); - }; - exports.useDefaultPartitionInfo = useDefaultPartitionInfo; - var getUserAgentPrefix = () => selectedUserAgentPrefix; - exports.getUserAgentPrefix = getUserAgentPrefix; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js -var require_isIpAddress = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isIpAddress = void 0; - var IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`); - var isIpAddress = (value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"); - exports.isIpAddress = isIpAddress; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js -var require_debugId = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.debugId = void 0; - exports.debugId = "endpoints"; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js -var require_toDebugString = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toDebugString = void 0; - function toDebugString(input) { - if (typeof input !== "object" || input == null) { - return input; - } - if ("ref" in input) { - return `$${toDebugString(input.ref)}`; - } - if ("fn" in input) { - return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; - } - return JSON.stringify(input, null, 2); - } - exports.toDebugString = toDebugString; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js -var require_debug = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_debugId(), exports); - tslib_1.__exportStar(require_toDebugString(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js -var require_EndpointError = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.EndpointError = void 0; - var EndpointError = class extends Error { - constructor(message) { - super(message); - this.name = "EndpointError"; - } - }; - exports.EndpointError = EndpointError; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js -var require_EndpointRuleObject2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js -var require_ErrorRuleObject2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js -var require_RuleSetObject2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js -var require_TreeRuleObject2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js -var require_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js -var require_types2 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_EndpointError(), exports); - tslib_1.__exportStar(require_EndpointRuleObject2(), exports); - tslib_1.__exportStar(require_ErrorRuleObject2(), exports); - tslib_1.__exportStar(require_RuleSetObject2(), exports); - tslib_1.__exportStar(require_TreeRuleObject2(), exports); - tslib_1.__exportStar(require_shared2(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js -var require_isValidHostLabel = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isValidHostLabel = void 0; - var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); - var isValidHostLabel = (value, allowSubDomains = false) => { - if (!allowSubDomains) { - return VALID_HOST_LABEL_REGEX.test(value); - } - const labels = value.split("."); - for (const label of labels) { - if (!(0, exports.isValidHostLabel)(label)) { - return false; - } - } - return true; - }; - exports.isValidHostLabel = isValidHostLabel; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js -var require_isVirtualHostableS3Bucket = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isVirtualHostableS3Bucket = void 0; - var isIpAddress_1 = require_isIpAddress(); - var isValidHostLabel_1 = require_isValidHostLabel(); - var isVirtualHostableS3Bucket = (value, allowSubDomains = false) => { - if (allowSubDomains) { - for (const label of value.split(".")) { - if (!(0, exports.isVirtualHostableS3Bucket)(label)) { - return false; - } - } - return true; - } - if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) { - return false; - } - if (value.length < 3 || value.length > 63) { - return false; - } - if (value !== value.toLowerCase()) { - return false; - } - if ((0, isIpAddress_1.isIpAddress)(value)) { - return false; - } - return true; - }; - exports.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js -var require_parseArn = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseArn = void 0; - var parseArn = (value) => { - const segments = value.split(":"); - if (segments.length < 6) - return null; - const [arn, partition, service, region, accountId, ...resourceId] = segments; - if (arn !== "arn" || partition === "" || service === "" || resourceId[0] === "") - return null; - return { - partition, - service, - region, - accountId, - resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId - }; - }; - exports.parseArn = parseArn; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js -var require_aws = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_isVirtualHostableS3Bucket(), exports); - tslib_1.__exportStar(require_parseArn(), exports); - tslib_1.__exportStar(require_partition(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js -var require_booleanEquals = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.booleanEquals = void 0; - var booleanEquals = (value1, value2) => value1 === value2; - exports.booleanEquals = booleanEquals; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js -var require_getAttrPathList = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getAttrPathList = void 0; - var types_1 = require_types2(); - var getAttrPathList = (path) => { - const parts = path.split("."); - const pathList = []; - for (const part of parts) { - const squareBracketIndex = part.indexOf("["); - if (squareBracketIndex !== -1) { - if (part.indexOf("]") !== part.length - 1) { - throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`); - } - const arrayIndex = part.slice(squareBracketIndex + 1, -1); - if (Number.isNaN(parseInt(arrayIndex))) { - throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`); - } - if (squareBracketIndex !== 0) { - pathList.push(part.slice(0, squareBracketIndex)); - } - pathList.push(arrayIndex); - } else { - pathList.push(part); - } - } - return pathList; - }; - exports.getAttrPathList = getAttrPathList; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js -var require_getAttr = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getAttr = void 0; - var types_1 = require_types2(); - var getAttrPathList_1 = require_getAttrPathList(); - var getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => { - if (typeof acc !== "object") { - throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); - } else if (Array.isArray(acc)) { - return acc[parseInt(index)]; - } - return acc[index]; - }, value); - exports.getAttr = getAttr; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js -var require_isSet = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isSet = void 0; - var isSet = (value) => value != null; - exports.isSet = isSet; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js -var require_not = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.not = void 0; - var not = (value) => !value; - exports.not = not; - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/abort.js -var require_abort2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/abort.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/auth.js -var require_auth2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/auth.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HttpAuthLocation = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports, "HttpAuthLocation", { enumerable: true, get: function() { - return types_1.HttpAuthLocation; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js -var require_blob_types = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js -var require_checksum2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/client.js -var require_client2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/client.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/command.js -var require_command2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/command.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/connection.js -var require_connection2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/connection.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js -var require_credentials = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js -var require_crypto2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/dns.js -var require_dns = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/dns.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HostAddressType = void 0; - var HostAddressType; - (function(HostAddressType2) { - HostAddressType2["AAAA"] = "AAAA"; - HostAddressType2["A"] = "A"; - })(HostAddressType = exports.HostAddressType || (exports.HostAddressType = {})); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/encode.js -var require_encode2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/encode.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js -var require_endpoint2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.EndpointURLScheme = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports, "EndpointURLScheme", { enumerable: true, get: function() { - return types_1.EndpointURLScheme; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js -var require_eventStream2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/http.js -var require_http2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/http.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js -var require_AnonymousIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js -var require_AwsCredentialIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js -var require_Identity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js -var require_LoginIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js -var require_TokenIdentity = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js -var require_identity3 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AnonymousIdentity(), exports); - tslib_1.__exportStar(require_AwsCredentialIdentity(), exports); - tslib_1.__exportStar(require_Identity(), exports); - tslib_1.__exportStar(require_LoginIdentity(), exports); - tslib_1.__exportStar(require_TokenIdentity(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/logger.js -var require_logger2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/logger.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js -var require_middleware2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js -var require_pagination2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/profile.js -var require_profile2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/profile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/request.js -var require_request = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/request.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/response.js -var require_response2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/response.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/retry.js -var require_retry2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/retry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/serde.js -var require_serde2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/serde.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js -var require_shapes2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/signature.js -var require_signature2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/signature.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/stream.js -var require_stream2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/token.js -var require_token = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/token.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js -var require_transfer2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RequestHandlerProtocol = void 0; - var types_1 = require_dist_cjs(); - Object.defineProperty(exports, "RequestHandlerProtocol", { enumerable: true, get: function() { - return types_1.RequestHandlerProtocol; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/uri.js -var require_uri2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/uri.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/util.js -var require_util2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js -var require_waiter2 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/types/dist-cjs/index.js -var require_dist_cjs17 = __commonJS({ - "../../../node_modules/@aws-sdk/types/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_abort2(), exports); - tslib_1.__exportStar(require_auth2(), exports); - tslib_1.__exportStar(require_blob_types(), exports); - tslib_1.__exportStar(require_checksum2(), exports); - tslib_1.__exportStar(require_client2(), exports); - tslib_1.__exportStar(require_command2(), exports); - tslib_1.__exportStar(require_connection2(), exports); - tslib_1.__exportStar(require_credentials(), exports); - tslib_1.__exportStar(require_crypto2(), exports); - tslib_1.__exportStar(require_dns(), exports); - tslib_1.__exportStar(require_encode2(), exports); - tslib_1.__exportStar(require_endpoint2(), exports); - tslib_1.__exportStar(require_eventStream2(), exports); - tslib_1.__exportStar(require_http2(), exports); - tslib_1.__exportStar(require_identity3(), exports); - tslib_1.__exportStar(require_logger2(), exports); - tslib_1.__exportStar(require_middleware2(), exports); - tslib_1.__exportStar(require_pagination2(), exports); - tslib_1.__exportStar(require_profile2(), exports); - tslib_1.__exportStar(require_request(), exports); - tslib_1.__exportStar(require_response2(), exports); - tslib_1.__exportStar(require_retry2(), exports); - tslib_1.__exportStar(require_serde2(), exports); - tslib_1.__exportStar(require_shapes2(), exports); - tslib_1.__exportStar(require_signature2(), exports); - tslib_1.__exportStar(require_stream2(), exports); - tslib_1.__exportStar(require_token(), exports); - tslib_1.__exportStar(require_transfer2(), exports); - tslib_1.__exportStar(require_uri2(), exports); - tslib_1.__exportStar(require_util2(), exports); - tslib_1.__exportStar(require_waiter2(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js -var require_parseURL = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseURL = void 0; - var types_1 = require_dist_cjs17(); - var isIpAddress_1 = require_isIpAddress(); - var DEFAULT_PORTS = { - [types_1.EndpointURLScheme.HTTP]: 80, - [types_1.EndpointURLScheme.HTTPS]: 443 - }; - var parseURL = (value) => { - const whatwgURL = (() => { - try { - if (value instanceof URL) { - return value; - } - if (typeof value === "object" && "hostname" in value) { - const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; - const url2 = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); - url2.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); - return url2; - } - return new URL(value); - } catch (error) { - return null; - } - })(); - if (!whatwgURL) { - console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); - return null; - } - const urlString = whatwgURL.href; - const { host, hostname, pathname, protocol, search } = whatwgURL; - if (search) { - return null; - } - const scheme = protocol.slice(0, -1); - if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) { - return null; - } - const isIp = (0, isIpAddress_1.isIpAddress)(hostname); - const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); - const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; - return { - scheme, - authority, - path: pathname, - normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, - isIp - }; - }; - exports.parseURL = parseURL; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js -var require_stringEquals = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.stringEquals = void 0; - var stringEquals = (value1, value2) => value1 === value2; - exports.stringEquals = stringEquals; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js -var require_substring = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.substring = void 0; - var substring = (input, start, stop, reverse) => { - if (start >= stop || input.length < stop) { - return null; - } - if (!reverse) { - return input.substring(start, stop); - } - return input.substring(input.length - stop, input.length - start); - }; - exports.substring = substring; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js -var require_uriEncode = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.uriEncode = void 0; - var uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`); - exports.uriEncode = uriEncode; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js -var require_lib = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.aws = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - exports.aws = tslib_1.__importStar(require_aws()); - tslib_1.__exportStar(require_booleanEquals(), exports); - tslib_1.__exportStar(require_getAttr(), exports); - tslib_1.__exportStar(require_isSet(), exports); - tslib_1.__exportStar(require_isValidHostLabel(), exports); - tslib_1.__exportStar(require_not(), exports); - tslib_1.__exportStar(require_parseURL(), exports); - tslib_1.__exportStar(require_stringEquals(), exports); - tslib_1.__exportStar(require_substring(), exports); - tslib_1.__exportStar(require_uriEncode(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js -var require_evaluateTemplate = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateTemplate = void 0; - var lib_1 = require_lib(); - var evaluateTemplate = (template, options) => { - const evaluatedTemplateArr = []; - const templateContext = { - ...options.endpointParams, - ...options.referenceRecord - }; - let currentIndex = 0; - while (currentIndex < template.length) { - const openingBraceIndex = template.indexOf("{", currentIndex); - if (openingBraceIndex === -1) { - evaluatedTemplateArr.push(template.slice(currentIndex)); - break; - } - evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); - const closingBraceIndex = template.indexOf("}", openingBraceIndex); - if (closingBraceIndex === -1) { - evaluatedTemplateArr.push(template.slice(openingBraceIndex)); - break; - } - if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { - evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); - currentIndex = closingBraceIndex + 2; - } - const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); - if (parameterName.includes("#")) { - const [refName, attrName] = parameterName.split("#"); - evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName)); - } else { - evaluatedTemplateArr.push(templateContext[parameterName]); - } - currentIndex = closingBraceIndex + 1; - } - return evaluatedTemplateArr.join(""); - }; - exports.evaluateTemplate = evaluateTemplate; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js -var require_getReferenceValue = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getReferenceValue = void 0; - var getReferenceValue = ({ ref }, options) => { - const referenceRecord = { - ...options.endpointParams, - ...options.referenceRecord - }; - return referenceRecord[ref]; - }; - exports.getReferenceValue = getReferenceValue; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js -var require_evaluateExpression = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateExpression = void 0; - var types_1 = require_types2(); - var callFunction_1 = require_callFunction(); - var evaluateTemplate_1 = require_evaluateTemplate(); - var getReferenceValue_1 = require_getReferenceValue(); - var evaluateExpression = (obj, keyName, options) => { - if (typeof obj === "string") { - return (0, evaluateTemplate_1.evaluateTemplate)(obj, options); - } else if (obj["fn"]) { - return (0, callFunction_1.callFunction)(obj, options); - } else if (obj["ref"]) { - return (0, getReferenceValue_1.getReferenceValue)(obj, options); - } - throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`); - }; - exports.evaluateExpression = evaluateExpression; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js -var require_callFunction = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.callFunction = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var lib = tslib_1.__importStar(require_lib()); - var evaluateExpression_1 = require_evaluateExpression(); - var callFunction = ({ fn, argv }, options) => { - const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, "arg", options)); - return fn.split(".").reduce((acc, key) => acc[key], lib)(...evaluatedArgs); - }; - exports.callFunction = callFunction; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js -var require_evaluateCondition = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateCondition = void 0; - var debug_1 = require_debug(); - var types_1 = require_types2(); - var callFunction_1 = require_callFunction(); - var evaluateCondition = ({ assign, ...fnArgs }, options) => { - var _a, _b; - if (assign && assign in options.referenceRecord) { - throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`); - } - const value = (0, callFunction_1.callFunction)(fnArgs, options); - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`); - return { - result: value === "" ? true : !!value, - ...assign != null && { toAssign: { name: assign, value } } - }; - }; - exports.evaluateCondition = evaluateCondition; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js -var require_evaluateConditions = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateConditions = void 0; - var debug_1 = require_debug(); - var evaluateCondition_1 = require_evaluateCondition(); - var evaluateConditions = (conditions = [], options) => { - var _a, _b; - const conditionsReferenceRecord = {}; - for (const condition of conditions) { - const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, { - ...options, - referenceRecord: { - ...options.referenceRecord, - ...conditionsReferenceRecord - } - }); - if (!result) { - return { result }; - } - if (toAssign) { - conditionsReferenceRecord[toAssign.name] = toAssign.value; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`); - } - } - return { result: true, referenceRecord: conditionsReferenceRecord }; - }; - exports.evaluateConditions = evaluateConditions; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js -var require_getEndpointHeaders = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointHeaders = void 0; - var types_1 = require_types2(); - var evaluateExpression_1 = require_evaluateExpression(); - var getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({ - ...acc, - [headerKey]: headerVal.map((headerValEntry) => { - const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, "Header value entry", options); - if (typeof processedExpr !== "string") { - throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`); - } - return processedExpr; - }) - }), {}); - exports.getEndpointHeaders = getEndpointHeaders; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js -var require_getEndpointProperty = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointProperty = void 0; - var types_1 = require_types2(); - var evaluateTemplate_1 = require_evaluateTemplate(); - var getEndpointProperties_1 = require_getEndpointProperties(); - var getEndpointProperty = (property, options) => { - if (Array.isArray(property)) { - return property.map((propertyEntry) => (0, exports.getEndpointProperty)(propertyEntry, options)); - } - switch (typeof property) { - case "string": - return (0, evaluateTemplate_1.evaluateTemplate)(property, options); - case "object": - if (property === null) { - throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`); - } - return (0, getEndpointProperties_1.getEndpointProperties)(property, options); - case "boolean": - return property; - default: - throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`); - } - }; - exports.getEndpointProperty = getEndpointProperty; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js -var require_getEndpointProperties = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointProperties = void 0; - var getEndpointProperty_1 = require_getEndpointProperty(); - var getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({ - ...acc, - [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options) - }), {}); - exports.getEndpointProperties = getEndpointProperties; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js -var require_getEndpointUrl = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointUrl = void 0; - var types_1 = require_types2(); - var evaluateExpression_1 = require_evaluateExpression(); - var getEndpointUrl = (endpointUrl, options) => { - const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, "Endpoint URL", options); - if (typeof expression === "string") { - try { - return new URL(expression); - } catch (error) { - console.error(`Failed to construct URL with ${expression}`, error); - throw error; - } - } - throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`); - }; - exports.getEndpointUrl = getEndpointUrl; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js -var require_evaluateEndpointRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateEndpointRule = void 0; - var debug_1 = require_debug(); - var evaluateConditions_1 = require_evaluateConditions(); - var getEndpointHeaders_1 = require_getEndpointHeaders(); - var getEndpointProperties_1 = require_getEndpointProperties(); - var getEndpointUrl_1 = require_getEndpointUrl(); - var evaluateEndpointRule = (endpointRule, options) => { - var _a, _b; - const { conditions, endpoint } = endpointRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; - } - const endpointRuleOptions = { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - }; - const { url: url2, properties, headers } = endpoint; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`); - return { - ...headers != void 0 && { - headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions) - }, - ...properties != void 0 && { - properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions) - }, - url: (0, getEndpointUrl_1.getEndpointUrl)(url2, endpointRuleOptions) - }; - }; - exports.evaluateEndpointRule = evaluateEndpointRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js -var require_evaluateErrorRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateErrorRule = void 0; - var types_1 = require_types2(); - var evaluateConditions_1 = require_evaluateConditions(); - var evaluateExpression_1 = require_evaluateExpression(); - var evaluateErrorRule = (errorRule, options) => { - const { conditions, error } = errorRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; - } - throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, "Error", { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - })); - }; - exports.evaluateErrorRule = evaluateErrorRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js -var require_evaluateTreeRule = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateTreeRule = void 0; - var evaluateConditions_1 = require_evaluateConditions(); - var evaluateRules_1 = require_evaluateRules(); - var evaluateTreeRule = (treeRule, options) => { - const { conditions, rules } = treeRule; - const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); - if (!result) { - return; - } - return (0, evaluateRules_1.evaluateRules)(rules, { - ...options, - referenceRecord: { ...options.referenceRecord, ...referenceRecord } - }); - }; - exports.evaluateTreeRule = evaluateTreeRule; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js -var require_evaluateRules = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.evaluateRules = void 0; - var types_1 = require_types2(); - var evaluateEndpointRule_1 = require_evaluateEndpointRule(); - var evaluateErrorRule_1 = require_evaluateErrorRule(); - var evaluateTreeRule_1 = require_evaluateTreeRule(); - var evaluateRules = (rules, options) => { - for (const rule of rules) { - if (rule.type === "endpoint") { - const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options); - if (endpointOrUndefined) { - return endpointOrUndefined; - } - } else if (rule.type === "error") { - (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options); - } else if (rule.type === "tree") { - const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options); - if (endpointOrUndefined) { - return endpointOrUndefined; - } - } else { - throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`); - } - } - throw new types_1.EndpointError(`Rules evaluation failed`); - }; - exports.evaluateRules = evaluateRules; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js -var require_utils = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_evaluateRules(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js -var require_resolveEndpoint = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveEndpoint = void 0; - var debug_1 = require_debug(); - var types_1 = require_types2(); - var utils_1 = require_utils(); - var resolveEndpoint = (ruleSetObject, options) => { - var _a, _b, _c, _d, _e, _f; - const { endpointParams, logger } = options; - const { parameters, rules } = ruleSetObject; - (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, `${debug_1.debugId} Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`); - const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]); - if (paramsWithDefault.length > 0) { - for (const [paramKey, paramDefaultValue] of paramsWithDefault) { - endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue; - } - } - const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k); - for (const requiredParam of requiredParams) { - if (endpointParams[requiredParam] == null) { - throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`); - } - } - const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} }); - if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) { - try { - const givenEndpoint = new URL(options.endpointParams.Endpoint); - const { protocol, port } = givenEndpoint; - endpoint.url.protocol = protocol; - endpoint.url.port = port; - } catch (e) { - } - } - (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${debug_1.debugId} Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`); - return endpoint; - }; - exports.resolveEndpoint = resolveEndpoint; - } -}); - -// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js -var require_dist_cjs18 = __commonJS({ - "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_partition(), exports); - tslib_1.__exportStar(require_isIpAddress(), exports); - tslib_1.__exportStar(require_resolveEndpoint(), exports); - tslib_1.__exportStar(require_types2(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js -var require_constants2 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.UA_ESCAPE_CHAR = exports.UA_VALUE_ESCAPE_REGEX = exports.UA_NAME_ESCAPE_REGEX = exports.UA_NAME_SEPARATOR = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0; - exports.USER_AGENT = "user-agent"; - exports.X_AMZ_USER_AGENT = "x-amz-user-agent"; - exports.SPACE = " "; - exports.UA_NAME_SEPARATOR = "/"; - exports.UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; - exports.UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; - exports.UA_ESCAPE_CHAR = "-"; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js -var require_user_agent_middleware = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var protocol_http_1 = require_dist_cjs2(); - var constants_1 = require_constants2(); - var userAgentMiddleware = (options) => (next, context) => async (args) => { - var _a, _b; - const { request: request2 } = args; - if (!protocol_http_1.HttpRequest.isInstance(request2)) - return next(args); - const { headers } = request2; - const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || []; - const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent); - const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || []; - const prefix = (0, util_endpoints_1.getUserAgentPrefix)(); - const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(constants_1.SPACE); - const normalUAValue = [ - ...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")), - ...customUserAgent - ].join(constants_1.SPACE); - if (options.runtime !== "browser") { - if (normalUAValue) { - headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT] ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}` : normalUAValue; - } - headers[constants_1.USER_AGENT] = sdkUserAgentValue; - } else { - headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue; - } - return next({ - ...args, - request: request2 - }); - }; - exports.userAgentMiddleware = userAgentMiddleware; - var escapeUserAgent = (userAgentPair) => { - var _a; - const name = userAgentPair[0].split(constants_1.UA_NAME_SEPARATOR).map((part) => part.replace(constants_1.UA_NAME_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR)).join(constants_1.UA_NAME_SEPARATOR); - const version2 = (_a = userAgentPair[1]) === null || _a === void 0 ? void 0 : _a.replace(constants_1.UA_VALUE_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR); - const prefixSeparatorIndex = name.indexOf(constants_1.UA_NAME_SEPARATOR); - const prefix = name.substring(0, prefixSeparatorIndex); - let uaName = name.substring(prefixSeparatorIndex + 1); - if (prefix === "api") { - uaName = uaName.toLowerCase(); - } - return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { - switch (index) { - case 0: - return item; - case 1: - return `${acc}/${item}`; - default: - return `${acc}#${item}`; - } - }, ""); - }; - exports.getUserAgentMiddlewareOptions = { - name: "getUserAgentMiddleware", - step: "build", - priority: "low", - tags: ["SET_USER_AGENT", "USER_AGENT"], - override: true - }; - var getUserAgentPlugin = (config) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions); - } - }); - exports.getUserAgentPlugin = getUserAgentPlugin; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js -var require_dist_cjs19 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_configurations(), exports); - tslib_1.__exportStar(require_user_agent_middleware(), exports); - } -}); - -// ../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js -var require_booleanSelector = __commonJS({ - "../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.booleanSelector = exports.SelectorType = void 0; - var SelectorType; - (function(SelectorType2) { - SelectorType2["ENV"] = "env"; - SelectorType2["CONFIG"] = "shared config entry"; - })(SelectorType = exports.SelectorType || (exports.SelectorType = {})); - var booleanSelector = (obj, key, type) => { - if (!(key in obj)) - return void 0; - if (obj[key] === "true") - return true; - if (obj[key] === "false") - return false; - throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); - }; - exports.booleanSelector = booleanSelector; - } -}); - -// ../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js -var require_dist_cjs20 = __commonJS({ - "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_booleanSelector(), exports); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js -var require_NodeUseDualstackEndpointConfigOptions = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_DUALSTACK_ENDPOINT = exports.CONFIG_USE_DUALSTACK_ENDPOINT = exports.ENV_USE_DUALSTACK_ENDPOINT = void 0; - var util_config_provider_1 = require_dist_cjs20(); - exports.ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; - exports.CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; - exports.DEFAULT_USE_DUALSTACK_ENDPOINT = false; - exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.ENV), - configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), - default: false - }; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js -var require_NodeUseFipsEndpointConfigOptions = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_FIPS_ENDPOINT = exports.CONFIG_USE_FIPS_ENDPOINT = exports.ENV_USE_FIPS_ENDPOINT = void 0; - var util_config_provider_1 = require_dist_cjs20(); - exports.ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; - exports.CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; - exports.DEFAULT_USE_FIPS_ENDPOINT = false; - exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.ENV), - configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), - default: false - }; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js -var require_resolveCustomEndpointsConfig = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveCustomEndpointsConfig = void 0; - var util_middleware_1 = require_dist_cjs10(); - var resolveCustomEndpointsConfig = (input) => { - var _a, _b; - const { endpoint, urlParser } = input; - return { - ...input, - tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, - endpoint: (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), - isCustomEndpoint: true, - useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false) - }; - }; - exports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js -var require_getEndpointFromRegion = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointFromRegion = void 0; - var getEndpointFromRegion = async (input) => { - var _a; - const { tls = true } = input; - const region = await input.region(); - const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); - if (!dnsHostRegex.test(region)) { - throw new Error("Invalid region in client config"); - } - const useDualstackEndpoint = await input.useDualstackEndpoint(); - const useFipsEndpoint = await input.useFipsEndpoint(); - const { hostname } = (_a = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) !== null && _a !== void 0 ? _a : {}; - if (!hostname) { - throw new Error("Cannot resolve hostname from client config"); - } - return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); - }; - exports.getEndpointFromRegion = getEndpointFromRegion; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js -var require_resolveEndpointsConfig = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveEndpointsConfig = void 0; - var util_middleware_1 = require_dist_cjs10(); - var getEndpointFromRegion_1 = require_getEndpointFromRegion(); - var resolveEndpointsConfig = (input) => { - var _a, _b; - const useDualstackEndpoint = (0, util_middleware_1.normalizeProvider)((_a = input.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false); - const { endpoint, useFipsEndpoint, urlParser } = input; - return { - ...input, - tls: (_b = input.tls) !== null && _b !== void 0 ? _b : true, - endpoint: endpoint ? (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => (0, getEndpointFromRegion_1.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }), - isCustomEndpoint: !!endpoint, - useDualstackEndpoint - }; - }; - exports.resolveEndpointsConfig = resolveEndpointsConfig; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js -var require_endpointsConfig = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_NodeUseDualstackEndpointConfigOptions(), exports); - tslib_1.__exportStar(require_NodeUseFipsEndpointConfigOptions(), exports); - tslib_1.__exportStar(require_resolveCustomEndpointsConfig(), exports); - tslib_1.__exportStar(require_resolveEndpointsConfig(), exports); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js -var require_config2 = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODE_REGION_CONFIG_FILE_OPTIONS = exports.NODE_REGION_CONFIG_OPTIONS = exports.REGION_INI_NAME = exports.REGION_ENV_NAME = void 0; - exports.REGION_ENV_NAME = "AWS_REGION"; - exports.REGION_INI_NAME = "region"; - exports.NODE_REGION_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[exports.REGION_ENV_NAME], - configFileSelector: (profile) => profile[exports.REGION_INI_NAME], - default: () => { - throw new Error("Region is missing"); - } - }; - exports.NODE_REGION_CONFIG_FILE_OPTIONS = { - preferredFile: "credentials" - }; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js -var require_isFipsRegion = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isFipsRegion = void 0; - var isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")); - exports.isFipsRegion = isFipsRegion; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js -var require_getRealRegion = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRealRegion = void 0; - var isFipsRegion_1 = require_isFipsRegion(); - var getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region; - exports.getRealRegion = getRealRegion; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js -var require_resolveRegionConfig = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveRegionConfig = void 0; - var getRealRegion_1 = require_getRealRegion(); - var isFipsRegion_1 = require_isFipsRegion(); - var resolveRegionConfig = (input) => { - const { region, useFipsEndpoint } = input; - if (!region) { - throw new Error("Region is missing"); - } - return { - ...input, - region: async () => { - if (typeof region === "string") { - return (0, getRealRegion_1.getRealRegion)(region); - } - const providedRegion = await region(); - return (0, getRealRegion_1.getRealRegion)(providedRegion); - }, - useFipsEndpoint: async () => { - const providedRegion = typeof region === "string" ? region : await region(); - if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) { - return true; - } - return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); - } - }; - }; - exports.resolveRegionConfig = resolveRegionConfig; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js -var require_regionConfig = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_config2(), exports); - tslib_1.__exportStar(require_resolveRegionConfig(), exports); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js -var require_PartitionHash = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js -var require_RegionHash = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js -var require_getHostnameFromVariants = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getHostnameFromVariants = void 0; - var getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => { - var _a; - return (_a = variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))) === null || _a === void 0 ? void 0 : _a.hostname; - }; - exports.getHostnameFromVariants = getHostnameFromVariants; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js -var require_getResolvedHostname = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getResolvedHostname = void 0; - var getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0; - exports.getResolvedHostname = getResolvedHostname; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js -var require_getResolvedPartition = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getResolvedPartition = void 0; - var getResolvedPartition = (region, { partitionHash }) => { - var _a; - return (_a = Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region))) !== null && _a !== void 0 ? _a : "aws"; - }; - exports.getResolvedPartition = getResolvedPartition; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js -var require_getResolvedSigningRegion = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getResolvedSigningRegion = void 0; - var getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { - if (signingRegion) { - return signingRegion; - } else if (useFipsEndpoint) { - const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); - const regionRegexmatchArray = hostname.match(regionRegexJs); - if (regionRegexmatchArray) { - return regionRegexmatchArray[0].slice(1, -1); - } - } - }; - exports.getResolvedSigningRegion = getResolvedSigningRegion; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js -var require_getRegionInfo = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRegionInfo = void 0; - var getHostnameFromVariants_1 = require_getHostnameFromVariants(); - var getResolvedHostname_1 = require_getResolvedHostname(); - var getResolvedPartition_1 = require_getResolvedPartition(); - var getResolvedSigningRegion_1 = require_getResolvedSigningRegion(); - var getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => { - var _a, _b, _c, _d, _e, _f; - const partition = (0, getResolvedPartition_1.getResolvedPartition)(region, { partitionHash }); - const resolvedRegion = region in regionHash ? region : (_b = (_a = partitionHash[partition]) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : region; - const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; - const regionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_c = regionHash[resolvedRegion]) === null || _c === void 0 ? void 0 : _c.variants, hostnameOptions); - const partitionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_d = partitionHash[partition]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions); - const hostname = (0, getResolvedHostname_1.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname }); - if (hostname === void 0) { - throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); - } - const signingRegion = (0, getResolvedSigningRegion_1.getResolvedSigningRegion)(hostname, { - signingRegion: (_e = regionHash[resolvedRegion]) === null || _e === void 0 ? void 0 : _e.signingRegion, - regionRegex: partitionHash[partition].regionRegex, - useFipsEndpoint - }); - return { - partition, - signingService, - hostname, - ...signingRegion && { signingRegion }, - ...((_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingService) && { - signingService: regionHash[resolvedRegion].signingService - } - }; - }; - exports.getRegionInfo = getRegionInfo; - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js -var require_regionInfo = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_PartitionHash(), exports); - tslib_1.__exportStar(require_RegionHash(), exports); - tslib_1.__exportStar(require_getRegionInfo(), exports); - } -}); - -// ../../../node_modules/@smithy/config-resolver/dist-cjs/index.js -var require_dist_cjs21 = __commonJS({ - "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_endpointsConfig(), exports); - tslib_1.__exportStar(require_regionConfig(), exports); - tslib_1.__exportStar(require_regionInfo(), exports); - } -}); - -// ../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js -var require_dist_cjs22 = __commonJS({ - "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getContentLengthPlugin = exports.contentLengthMiddlewareOptions = exports.contentLengthMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var CONTENT_LENGTH_HEADER = "content-length"; - function contentLengthMiddleware(bodyLengthChecker) { - return (next) => async (args) => { - const request2 = args.request; - if (protocol_http_1.HttpRequest.isInstance(request2)) { - const { body, headers } = request2; - if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { - try { - const length = bodyLengthChecker(body); - request2.headers = { - ...request2.headers, - [CONTENT_LENGTH_HEADER]: String(length) - }; - } catch (error) { - } - } - } - return next({ - ...args, - request: request2 - }); - }; - } - exports.contentLengthMiddleware = contentLengthMiddleware; - exports.contentLengthMiddlewareOptions = { - step: "build", - tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], - name: "contentLengthMiddleware", - override: true - }; - var getContentLengthPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions); - } - }); - exports.getContentLengthPlugin = getContentLengthPlugin; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js -var require_s3 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0; - var resolveParamsForS3 = async (endpointParams) => { - const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || ""; - if (typeof endpointParams.Bucket === "string") { - endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); - } - if ((0, exports.isArnBucketName)(bucket)) { - if (endpointParams.ForcePathStyle === true) { - throw new Error("Path-style addressing cannot be used with ARN buckets"); - } - } else if (!(0, exports.isDnsCompatibleBucketName)(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { - endpointParams.ForcePathStyle = true; - } - if (endpointParams.DisableMultiRegionAccessPoints) { - endpointParams.disableMultiRegionAccessPoints = true; - endpointParams.DisableMRAP = true; - } - return endpointParams; - }; - exports.resolveParamsForS3 = resolveParamsForS3; - var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; - var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; - var DOTS_PATTERN = /\.\./; - exports.DOT_PATTERN = /\./; - exports.S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./; - var isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName); - exports.isDnsCompatibleBucketName = isDnsCompatibleBucketName; - var isArnBucketName = (bucketName) => { - const [arn, partition, service, region, account, typeOrId] = bucketName.split(":"); - const isArn = arn === "arn" && bucketName.split(":").length >= 6; - const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5; - if (isArn && !isValidArn) { - throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); - } - return arn === "arn" && !!partition && !!service && !!account && !!typeOrId; - }; - exports.isArnBucketName = isArnBucketName; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js -var require_service_customizations = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_s3(), exports); - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js -var require_createConfigValueProvider = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createConfigValueProvider = void 0; - var createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => { - const configProvider = async () => { - var _a; - const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey]; - if (typeof configValue === "function") { - return configValue(); - } - return configValue; - }; - if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { - return async () => { - const endpoint = await configProvider(); - if (endpoint && typeof endpoint === "object") { - if ("url" in endpoint) { - return endpoint.url.href; - } - if ("hostname" in endpoint) { - const { protocol, hostname, port, path } = endpoint; - return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; - } - } - return endpoint; - }; - } - return configProvider; - }; - exports.createConfigValueProvider = createConfigValueProvider; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js -var require_getEndpointFromInstructions = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveParams = exports.getEndpointFromInstructions = void 0; - var service_customizations_1 = require_service_customizations(); - var createConfigValueProvider_1 = require_createConfigValueProvider(); - var getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => { - const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig); - if (typeof clientConfig.endpointProvider !== "function") { - throw new Error("config.endpointProvider is not set."); - } - const endpoint = clientConfig.endpointProvider(endpointParams, context); - return endpoint; - }; - exports.getEndpointFromInstructions = getEndpointFromInstructions; - var resolveParams = async (commandInput, instructionsSupplier, clientConfig) => { - var _a; - const endpointParams = {}; - const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {}; - for (const [name, instruction] of Object.entries(instructions)) { - switch (instruction.type) { - case "staticContextParams": - endpointParams[name] = instruction.value; - break; - case "contextParams": - endpointParams[name] = commandInput[instruction.name]; - break; - case "clientContextParams": - case "builtInParams": - endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)(); - break; - default: - throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); - } - } - if (Object.keys(instructions).length === 0) { - Object.assign(endpointParams, clientConfig); - } - if (String(clientConfig.serviceId).toLowerCase() === "s3") { - await (0, service_customizations_1.resolveParamsForS3)(endpointParams); - } - return endpointParams; - }; - exports.resolveParams = resolveParams; - } -}); - -// ../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js -var require_dist_cjs23 = __commonJS({ - "../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseQueryString = void 0; - function parseQueryString(querystring) { - const query = {}; - querystring = querystring.replace(/^\?/, ""); - if (querystring) { - for (const pair of querystring.split("&")) { - let [key, value = null] = pair.split("="); - key = decodeURIComponent(key); - if (value) { - value = decodeURIComponent(value); - } - if (!(key in query)) { - query[key] = value; - } else if (Array.isArray(query[key])) { - query[key].push(value); - } else { - query[key] = [query[key], value]; - } - } - } - return query; - } - exports.parseQueryString = parseQueryString; - } -}); - -// ../../../node_modules/@smithy/url-parser/dist-cjs/index.js -var require_dist_cjs24 = __commonJS({ - "../../../node_modules/@smithy/url-parser/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseUrl = void 0; - var querystring_parser_1 = require_dist_cjs23(); - var parseUrl = (url2) => { - if (typeof url2 === "string") { - return (0, exports.parseUrl)(new URL(url2)); - } - const { hostname, pathname, port, protocol, search } = url2; - let query; - if (search) { - query = (0, querystring_parser_1.parseQueryString)(search); - } - return { - hostname, - port: port ? parseInt(port) : void 0, - protocol, - path: pathname, - query - }; - }; - exports.parseUrl = parseUrl; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js -var require_toEndpointV1 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toEndpointV1 = void 0; - var url_parser_1 = require_dist_cjs24(); - var toEndpointV1 = (endpoint) => { - if (typeof endpoint === "object") { - if ("url" in endpoint) { - return (0, url_parser_1.parseUrl)(endpoint.url); - } - return endpoint; - } - return (0, url_parser_1.parseUrl)(endpoint); - }; - exports.toEndpointV1 = toEndpointV1; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js -var require_adaptors = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_getEndpointFromInstructions(), exports); - tslib_1.__exportStar(require_toEndpointV1(), exports); - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js -var require_endpointMiddleware = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.endpointMiddleware = void 0; - var getEndpointFromInstructions_1 = require_getEndpointFromInstructions(); - var endpointMiddleware = ({ config, instructions }) => { - return (next, context) => async (args) => { - var _a, _b; - const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, { - getEndpointParameterInstructions() { - return instructions; - } - }, { ...config }, context); - context.endpointV2 = endpoint; - context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes; - const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0]; - if (authScheme) { - context["signing_region"] = authScheme.signingRegion; - context["signing_service"] = authScheme.signingName; - } - return next({ - ...args - }); - }; - }; - exports.endpointMiddleware = endpointMiddleware; - } -}); - -// ../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js -var require_deserializerMiddleware = __commonJS({ - "../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.deserializerMiddleware = void 0; - var deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => { - const { response } = await next(args); - try { - const parsed = await deserializer(response, options); - return { - response, - output: parsed - }; - } catch (error) { - Object.defineProperty(error, "$response", { - value: response - }); - if (!("$metadata" in error)) { - const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; - error.message += "\n " + hint; - } - throw error; - } - }; - exports.deserializerMiddleware = deserializerMiddleware; - } -}); - -// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js -var require_serializerMiddleware = __commonJS({ - "../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.serializerMiddleware = void 0; - var serializerMiddleware = (options, serializer) => (next, context) => async (args) => { - var _a; - const endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint; - if (!endpoint) { - throw new Error("No valid endpoint provider available."); - } - const request2 = await serializer(args.input, { ...options, endpoint }); - return next({ - ...args, - request: request2 - }); - }; - exports.serializerMiddleware = serializerMiddleware; - } -}); - -// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js -var require_serdePlugin = __commonJS({ - "../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSerdePlugin = exports.serializerMiddlewareOption = exports.deserializerMiddlewareOption = void 0; - var deserializerMiddleware_1 = require_deserializerMiddleware(); - var serializerMiddleware_1 = require_serializerMiddleware(); - exports.deserializerMiddlewareOption = { - name: "deserializerMiddleware", - step: "deserialize", - tags: ["DESERIALIZER"], - override: true - }; - exports.serializerMiddlewareOption = { - name: "serializerMiddleware", - step: "serialize", - tags: ["SERIALIZER"], - override: true - }; - function getSerdePlugin(config, serializer, deserializer) { - return { - applyToStack: (commandStack) => { - commandStack.add((0, deserializerMiddleware_1.deserializerMiddleware)(config, deserializer), exports.deserializerMiddlewareOption); - commandStack.add((0, serializerMiddleware_1.serializerMiddleware)(config, serializer), exports.serializerMiddlewareOption); - } - }; - } - exports.getSerdePlugin = getSerdePlugin; - } -}); - -// ../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js -var require_dist_cjs25 = __commonJS({ - "../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_deserializerMiddleware(), exports); - tslib_1.__exportStar(require_serdePlugin(), exports); - tslib_1.__exportStar(require_serializerMiddleware(), exports); - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js -var require_getEndpointPlugin = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0; - var middleware_serde_1 = require_dist_cjs25(); - var endpointMiddleware_1 = require_endpointMiddleware(); - exports.endpointMiddlewareOptions = { - step: "serialize", - tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], - name: "endpointV2Middleware", - override: true, - relation: "before", - toMiddleware: middleware_serde_1.serializerMiddlewareOption.name - }; - var getEndpointPlugin = (config, instructions) => ({ - applyToStack: (clientStack) => { - clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({ - config, - instructions - }), exports.endpointMiddlewareOptions); - } - }); - exports.getEndpointPlugin = getEndpointPlugin; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js -var require_resolveEndpointConfig = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveEndpointConfig = void 0; - var util_middleware_1 = require_dist_cjs10(); - var toEndpointV1_1 = require_toEndpointV1(); - var resolveEndpointConfig = (input) => { - var _a, _b, _c; - const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true; - const { endpoint } = input; - const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : void 0; - const isCustomEndpoint = !!endpoint; - return { - ...input, - endpoint: customEndpointProvider, - tls, - isCustomEndpoint, - useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false), - useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false) - }; - }; - exports.resolveEndpointConfig = resolveEndpointConfig; - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js -var require_types3 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js -var require_dist_cjs26 = __commonJS({ - "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_adaptors(), exports); - tslib_1.__exportStar(require_endpointMiddleware(), exports); - tslib_1.__exportStar(require_getEndpointPlugin(), exports); - tslib_1.__exportStar(require_resolveEndpointConfig(), exports); - tslib_1.__exportStar(require_types3(), exports); - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/config.js -var require_config3 = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/config.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DEFAULT_RETRY_MODE = exports.DEFAULT_MAX_ATTEMPTS = exports.RETRY_MODES = void 0; - var RETRY_MODES; - (function(RETRY_MODES2) { - RETRY_MODES2["STANDARD"] = "standard"; - RETRY_MODES2["ADAPTIVE"] = "adaptive"; - })(RETRY_MODES = exports.RETRY_MODES || (exports.RETRY_MODES = {})); - exports.DEFAULT_MAX_ATTEMPTS = 3; - exports.DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD; - } -}); - -// ../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js -var require_constants3 = __commonJS({ - "../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODEJS_TIMEOUT_ERROR_CODES = exports.TRANSIENT_ERROR_STATUS_CODES = exports.TRANSIENT_ERROR_CODES = exports.THROTTLING_ERROR_CODES = exports.CLOCK_SKEW_ERROR_CODES = void 0; - exports.CLOCK_SKEW_ERROR_CODES = [ - "AuthFailure", - "InvalidSignatureException", - "RequestExpired", - "RequestInTheFuture", - "RequestTimeTooSkewed", - "SignatureDoesNotMatch" - ]; - exports.THROTTLING_ERROR_CODES = [ - "BandwidthLimitExceeded", - "EC2ThrottledException", - "LimitExceededException", - "PriorRequestNotComplete", - "ProvisionedThroughputExceededException", - "RequestLimitExceeded", - "RequestThrottled", - "RequestThrottledException", - "SlowDown", - "ThrottledException", - "Throttling", - "ThrottlingException", - "TooManyRequestsException", - "TransactionInProgressException" - ]; - exports.TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; - exports.TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; - exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; - } -}); - -// ../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js -var require_dist_cjs27 = __commonJS({ - "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isServerError = exports.isTransientError = exports.isThrottlingError = exports.isClockSkewError = exports.isRetryableByTrait = void 0; - var constants_1 = require_constants3(); - var isRetryableByTrait = (error) => error.$retryable !== void 0; - exports.isRetryableByTrait = isRetryableByTrait; - var isClockSkewError = (error) => constants_1.CLOCK_SKEW_ERROR_CODES.includes(error.name); - exports.isClockSkewError = isClockSkewError; - var isThrottlingError = (error) => { - var _a, _b; - return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 || constants_1.THROTTLING_ERROR_CODES.includes(error.name) || ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true; - }; - exports.isThrottlingError = isThrottlingError; - var isTransientError = (error) => { - var _a; - return constants_1.TRANSIENT_ERROR_CODES.includes(error.name) || constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || "") || constants_1.TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0); - }; - exports.isTransientError = isTransientError; - var isServerError = (error) => { - var _a; - if (((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) !== void 0) { - const statusCode = error.$metadata.httpStatusCode; - if (500 <= statusCode && statusCode <= 599 && !(0, exports.isTransientError)(error)) { - return true; - } - return false; - } - return false; - }; - exports.isServerError = isServerError; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js -var require_DefaultRateLimiter = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DefaultRateLimiter = void 0; - var service_error_classification_1 = require_dist_cjs27(); - var DefaultRateLimiter = class { - constructor(options) { - var _a, _b, _c, _d, _e; - this.currentCapacity = 0; - this.enabled = false; - this.lastMaxRate = 0; - this.measuredTxRate = 0; - this.requestCount = 0; - this.lastTimestamp = 0; - this.timeWindow = 0; - this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7; - this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1; - this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5; - this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4; - this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8; - const currentTimeInSeconds = this.getCurrentTimeInSeconds(); - this.lastThrottleTime = currentTimeInSeconds; - this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); - this.fillRate = this.minFillRate; - this.maxCapacity = this.minCapacity; - } - getCurrentTimeInSeconds() { - return Date.now() / 1e3; - } - async getSendToken() { - return this.acquireTokenBucket(1); - } - async acquireTokenBucket(amount) { - if (!this.enabled) { - return; - } - this.refillTokenBucket(); - if (amount > this.currentCapacity) { - const delay = (amount - this.currentCapacity) / this.fillRate * 1e3; - await new Promise((resolve) => setTimeout(resolve, delay)); - } - this.currentCapacity = this.currentCapacity - amount; - } - refillTokenBucket() { - const timestamp = this.getCurrentTimeInSeconds(); - if (!this.lastTimestamp) { - this.lastTimestamp = timestamp; - return; - } - const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; - this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount); - this.lastTimestamp = timestamp; - } - updateClientSendingRate(response) { - let calculatedRate; - this.updateMeasuredRate(); - if ((0, service_error_classification_1.isThrottlingError)(response)) { - const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); - this.lastMaxRate = rateToUse; - this.calculateTimeWindow(); - this.lastThrottleTime = this.getCurrentTimeInSeconds(); - calculatedRate = this.cubicThrottle(rateToUse); - this.enableTokenBucket(); - } else { - this.calculateTimeWindow(); - calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); - } - const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); - this.updateTokenBucketRate(newRate); - } - calculateTimeWindow() { - this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); - } - cubicThrottle(rateToUse) { - return this.getPrecise(rateToUse * this.beta); - } - cubicSuccess(timestamp) { - return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate); - } - enableTokenBucket() { - this.enabled = true; - } - updateTokenBucketRate(newRate) { - this.refillTokenBucket(); - this.fillRate = Math.max(newRate, this.minFillRate); - this.maxCapacity = Math.max(newRate, this.minCapacity); - this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity); - } - updateMeasuredRate() { - const t = this.getCurrentTimeInSeconds(); - const timeBucket = Math.floor(t * 2) / 2; - this.requestCount++; - if (timeBucket > this.lastTxRateBucket) { - const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); - this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); - this.requestCount = 0; - this.lastTxRateBucket = timeBucket; - } - } - getPrecise(num) { - return parseFloat(num.toFixed(8)); - } - }; - exports.DefaultRateLimiter = DefaultRateLimiter; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/constants.js -var require_constants4 = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REQUEST_HEADER = exports.INVOCATION_ID_HEADER = exports.NO_RETRY_INCREMENT = exports.TIMEOUT_RETRY_COST = exports.RETRY_COST = exports.INITIAL_RETRY_TOKENS = exports.THROTTLING_RETRY_DELAY_BASE = exports.MAXIMUM_RETRY_DELAY = exports.DEFAULT_RETRY_DELAY_BASE = void 0; - exports.DEFAULT_RETRY_DELAY_BASE = 100; - exports.MAXIMUM_RETRY_DELAY = 20 * 1e3; - exports.THROTTLING_RETRY_DELAY_BASE = 500; - exports.INITIAL_RETRY_TOKENS = 500; - exports.RETRY_COST = 5; - exports.TIMEOUT_RETRY_COST = 10; - exports.NO_RETRY_INCREMENT = 1; - exports.INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; - exports.REQUEST_HEADER = "amz-sdk-request"; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js -var require_defaultRetryBackoffStrategy = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getDefaultRetryBackoffStrategy = void 0; - var constants_1 = require_constants4(); - var getDefaultRetryBackoffStrategy = () => { - let delayBase = constants_1.DEFAULT_RETRY_DELAY_BASE; - const computeNextBackoffDelay = (attempts) => { - return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); - }; - const setDelayBase = (delay) => { - delayBase = delay; - }; - return { - computeNextBackoffDelay, - setDelayBase - }; - }; - exports.getDefaultRetryBackoffStrategy = getDefaultRetryBackoffStrategy; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js -var require_defaultRetryToken = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createDefaultRetryToken = void 0; - var constants_1 = require_constants4(); - var createDefaultRetryToken = ({ retryDelay, retryCount, retryCost }) => { - const getRetryCount = () => retryCount; - const getRetryDelay = () => Math.min(constants_1.MAXIMUM_RETRY_DELAY, retryDelay); - const getRetryCost = () => retryCost; - return { - getRetryCount, - getRetryDelay, - getRetryCost - }; - }; - exports.createDefaultRetryToken = createDefaultRetryToken; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js -var require_StandardRetryStrategy = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StandardRetryStrategy = void 0; - var config_1 = require_config3(); - var constants_1 = require_constants4(); - var defaultRetryBackoffStrategy_1 = require_defaultRetryBackoffStrategy(); - var defaultRetryToken_1 = require_defaultRetryToken(); - var StandardRetryStrategy = class { - constructor(maxAttempts) { - this.maxAttempts = maxAttempts; - this.mode = config_1.RETRY_MODES.STANDARD; - this.capacity = constants_1.INITIAL_RETRY_TOKENS; - this.retryBackoffStrategy = (0, defaultRetryBackoffStrategy_1.getDefaultRetryBackoffStrategy)(); - this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts; - } - async acquireInitialRetryToken(retryTokenScope) { - return (0, defaultRetryToken_1.createDefaultRetryToken)({ - retryDelay: constants_1.DEFAULT_RETRY_DELAY_BASE, - retryCount: 0 - }); - } - async refreshRetryTokenForRetry(token, errorInfo) { - const maxAttempts = await this.getMaxAttempts(); - if (this.shouldRetry(token, errorInfo, maxAttempts)) { - const errorType = errorInfo.errorType; - this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? constants_1.THROTTLING_RETRY_DELAY_BASE : constants_1.DEFAULT_RETRY_DELAY_BASE); - const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); - const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType; - const capacityCost = this.getCapacityCost(errorType); - this.capacity -= capacityCost; - return (0, defaultRetryToken_1.createDefaultRetryToken)({ - retryDelay, - retryCount: token.getRetryCount() + 1, - retryCost: capacityCost - }); - } - throw new Error("No retry token available"); - } - recordSuccess(token) { - var _a; - this.capacity = Math.max(constants_1.INITIAL_RETRY_TOKENS, this.capacity + ((_a = token.getRetryCost()) !== null && _a !== void 0 ? _a : constants_1.NO_RETRY_INCREMENT)); - } - getCapacity() { - return this.capacity; - } - async getMaxAttempts() { - try { - return await this.maxAttemptsProvider(); - } catch (error) { - console.warn(`Max attempts provider could not resolve. Using default of ${config_1.DEFAULT_MAX_ATTEMPTS}`); - return config_1.DEFAULT_MAX_ATTEMPTS; - } - } - shouldRetry(tokenToRenew, errorInfo, maxAttempts) { - const attempts = tokenToRenew.getRetryCount() + 1; - return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType); - } - getCapacityCost(errorType) { - return errorType === "TRANSIENT" ? constants_1.TIMEOUT_RETRY_COST : constants_1.RETRY_COST; - } - isRetryableError(errorType) { - return errorType === "THROTTLING" || errorType === "TRANSIENT"; - } - }; - exports.StandardRetryStrategy = StandardRetryStrategy; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js -var require_AdaptiveRetryStrategy = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AdaptiveRetryStrategy = void 0; - var config_1 = require_config3(); - var DefaultRateLimiter_1 = require_DefaultRateLimiter(); - var StandardRetryStrategy_1 = require_StandardRetryStrategy(); - var AdaptiveRetryStrategy = class { - constructor(maxAttemptsProvider, options) { - this.maxAttemptsProvider = maxAttemptsProvider; - this.mode = config_1.RETRY_MODES.ADAPTIVE; - const { rateLimiter } = options !== null && options !== void 0 ? options : {}; - this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter_1.DefaultRateLimiter(); - this.standardRetryStrategy = new StandardRetryStrategy_1.StandardRetryStrategy(maxAttemptsProvider); - } - async acquireInitialRetryToken(retryTokenScope) { - await this.rateLimiter.getSendToken(); - return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); - } - async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { - this.rateLimiter.updateClientSendingRate(errorInfo); - return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); - } - recordSuccess(token) { - this.rateLimiter.updateClientSendingRate({}); - this.standardRetryStrategy.recordSuccess(token); - } - }; - exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js -var require_ConfiguredRetryStrategy = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ConfiguredRetryStrategy = void 0; - var constants_1 = require_constants4(); - var StandardRetryStrategy_1 = require_StandardRetryStrategy(); - var ConfiguredRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { - constructor(maxAttempts, computeNextBackoffDelay = constants_1.DEFAULT_RETRY_DELAY_BASE) { - super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); - if (typeof computeNextBackoffDelay === "number") { - this.computeNextBackoffDelay = () => computeNextBackoffDelay; - } else { - this.computeNextBackoffDelay = computeNextBackoffDelay; - } - } - async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { - const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo); - token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount()); - return token; - } - }; - exports.ConfiguredRetryStrategy = ConfiguredRetryStrategy; - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/types.js -var require_types4 = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/util-retry/dist-cjs/index.js -var require_dist_cjs28 = __commonJS({ - "../../../node_modules/@smithy/util-retry/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AdaptiveRetryStrategy(), exports); - tslib_1.__exportStar(require_ConfiguredRetryStrategy(), exports); - tslib_1.__exportStar(require_DefaultRateLimiter(), exports); - tslib_1.__exportStar(require_StandardRetryStrategy(), exports); - tslib_1.__exportStar(require_config3(), exports); - tslib_1.__exportStar(require_constants4(), exports); - tslib_1.__exportStar(require_types4(), exports); - } -}); - -// ../../../node_modules/uuid/dist/esm-node/rng.js -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - import_crypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} -var import_crypto, rnds8Pool, poolPtr; -var init_rng = __esm({ - "../../../node_modules/uuid/dist/esm-node/rng.js"() { - import_crypto = __toESM(require("crypto")); - rnds8Pool = new Uint8Array(256); - poolPtr = rnds8Pool.length; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/regex.js -var regex_default; -var init_regex = __esm({ - "../../../node_modules/uuid/dist/esm-node/regex.js"() { - regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/validate.js -function validate(uuid) { - return typeof uuid === "string" && regex_default.test(uuid); -} -var validate_default; -var init_validate = __esm({ - "../../../node_modules/uuid/dist/esm-node/validate.js"() { - init_regex(); - validate_default = validate; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/stringify.js -function stringify(arr, offset = 0) { - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); - if (!validate_default(uuid)) { - throw TypeError("Stringified UUID is invalid"); - } - return uuid; -} -var byteToHex, stringify_default; -var init_stringify = __esm({ - "../../../node_modules/uuid/dist/esm-node/stringify.js"() { - init_validate(); - byteToHex = []; - for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 256).toString(16).substr(1)); - } - stringify_default = stringify; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/v1.js -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || rng)(); - if (node == null) { - node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; - } - } - let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); - let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt < 0 && options.clockseq === void 0) { - clockseq = clockseq + 1 & 16383; - } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { - nsecs = 0; - } - if (nsecs >= 1e4) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - msecs += 122192928e5; - const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b[i++] = tl >>> 24 & 255; - b[i++] = tl >>> 16 & 255; - b[i++] = tl >>> 8 & 255; - b[i++] = tl & 255; - const tmh = msecs / 4294967296 * 1e4 & 268435455; - b[i++] = tmh >>> 8 & 255; - b[i++] = tmh & 255; - b[i++] = tmh >>> 24 & 15 | 16; - b[i++] = tmh >>> 16 & 255; - b[i++] = clockseq >>> 8 | 128; - b[i++] = clockseq & 255; - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || stringify_default(b); -} -var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; -var init_v1 = __esm({ - "../../../node_modules/uuid/dist/esm-node/v1.js"() { - init_rng(); - init_stringify(); - _lastMSecs = 0; - _lastNSecs = 0; - v1_default = v1; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/parse.js -function parse(uuid) { - if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); - } - let v; - const arr = new Uint8Array(16); - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 255; - arr[2] = v >>> 8 & 255; - arr[3] = v & 255; - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 255; - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 255; - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 255; - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; - arr[11] = v / 4294967296 & 255; - arr[12] = v >>> 24 & 255; - arr[13] = v >>> 16 & 255; - arr[14] = v >>> 8 & 255; - arr[15] = v & 255; - return arr; -} -var parse_default; -var init_parse = __esm({ - "../../../node_modules/uuid/dist/esm-node/parse.js"() { - init_validate(); - parse_default = parse; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/v35.js -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -function v35_default(name, version2, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === "string") { - value = stringToBytes(value); - } - if (typeof namespace === "string") { - namespace = parse_default(namespace); - } - if (namespace.length !== 16) { - throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); - } - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 15 | version2; - bytes[8] = bytes[8] & 63 | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return stringify_default(bytes); - } - try { - generateUUID.name = name; - } catch (err) { - } - generateUUID.DNS = DNS; - generateUUID.URL = URL2; - return generateUUID; -} -var DNS, URL2; -var init_v35 = __esm({ - "../../../node_modules/uuid/dist/esm-node/v35.js"() { - init_stringify(); - init_parse(); - DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; - URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/md5.js -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); - } - return import_crypto2.default.createHash("md5").update(bytes).digest(); -} -var import_crypto2, md5_default; -var init_md5 = __esm({ - "../../../node_modules/uuid/dist/esm-node/md5.js"() { - import_crypto2 = __toESM(require("crypto")); - md5_default = md5; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/v3.js -var v3, v3_default; -var init_v3 = __esm({ - "../../../node_modules/uuid/dist/esm-node/v3.js"() { - init_v35(); - init_md5(); - v3 = v35_default("v3", 48, md5_default); - v3_default = v3; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/v4.js -function v4(options, buf, offset) { - options = options || {}; - const rnds = options.random || (options.rng || rng)(); - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return stringify_default(rnds); -} -var v4_default; -var init_v4 = __esm({ - "../../../node_modules/uuid/dist/esm-node/v4.js"() { - init_rng(); - init_stringify(); - v4_default = v4; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/sha1.js -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); - } - return import_crypto3.default.createHash("sha1").update(bytes).digest(); -} -var import_crypto3, sha1_default; -var init_sha1 = __esm({ - "../../../node_modules/uuid/dist/esm-node/sha1.js"() { - import_crypto3 = __toESM(require("crypto")); - sha1_default = sha1; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/v5.js -var v5, v5_default; -var init_v5 = __esm({ - "../../../node_modules/uuid/dist/esm-node/v5.js"() { - init_v35(); - init_sha1(); - v5 = v35_default("v5", 80, sha1_default); - v5_default = v5; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/nil.js -var nil_default; -var init_nil = __esm({ - "../../../node_modules/uuid/dist/esm-node/nil.js"() { - nil_default = "00000000-0000-0000-0000-000000000000"; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/version.js -function version(uuid) { - if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); - } - return parseInt(uuid.substr(14, 1), 16); -} -var version_default; -var init_version = __esm({ - "../../../node_modules/uuid/dist/esm-node/version.js"() { - init_validate(); - version_default = version; - } -}); - -// ../../../node_modules/uuid/dist/esm-node/index.js -var esm_node_exports = {}; -__export(esm_node_exports, { - NIL: () => nil_default, - parse: () => parse_default, - stringify: () => stringify_default, - v1: () => v1_default, - v3: () => v3_default, - v4: () => v4_default, - v5: () => v5_default, - validate: () => validate_default, - version: () => version_default -}); -var init_esm_node = __esm({ - "../../../node_modules/uuid/dist/esm-node/index.js"() { - init_v1(); - init_v3(); - init_v4(); - init_v5(); - init_nil(); - init_version(); - init_validate(); - init_stringify(); - init_parse(); - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js -var require_defaultRetryQuota = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getDefaultRetryQuota = void 0; - var util_retry_1 = require_dist_cjs28(); - var getDefaultRetryQuota = (initialRetryTokens, options) => { - var _a, _b, _c; - const MAX_CAPACITY = initialRetryTokens; - const noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : util_retry_1.NO_RETRY_INCREMENT; - const retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : util_retry_1.RETRY_COST; - const timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : util_retry_1.TIMEOUT_RETRY_COST; - let availableCapacity = initialRetryTokens; - const getCapacityAmount = (error) => error.name === "TimeoutError" ? timeoutRetryCost : retryCost; - const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity; - const retrieveRetryTokens = (error) => { - if (!hasRetryTokens(error)) { - throw new Error("No retry token available"); - } - const capacityAmount = getCapacityAmount(error); - availableCapacity -= capacityAmount; - return capacityAmount; - }; - const releaseRetryTokens = (capacityReleaseAmount) => { - availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : noRetryIncrement; - availableCapacity = Math.min(availableCapacity, MAX_CAPACITY); - }; - return Object.freeze({ - hasRetryTokens, - retrieveRetryTokens, - releaseRetryTokens - }); - }; - exports.getDefaultRetryQuota = getDefaultRetryQuota; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js -var require_delayDecider = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultDelayDecider = void 0; - var util_retry_1 = require_dist_cjs28(); - var defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(util_retry_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); - exports.defaultDelayDecider = defaultDelayDecider; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js -var require_retryDecider = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultRetryDecider = void 0; - var service_error_classification_1 = require_dist_cjs27(); - var defaultRetryDecider = (error) => { - if (!error) { - return false; - } - return (0, service_error_classification_1.isRetryableByTrait)(error) || (0, service_error_classification_1.isClockSkewError)(error) || (0, service_error_classification_1.isThrottlingError)(error) || (0, service_error_classification_1.isTransientError)(error); - }; - exports.defaultRetryDecider = defaultRetryDecider; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js -var require_util3 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.asSdkError = void 0; - var asSdkError = (error) => { - if (error instanceof Error) - return error; - if (error instanceof Object) - return Object.assign(new Error(), error); - if (typeof error === "string") - return new Error(error); - return new Error(`AWS SDK error wrapper for ${error}`); - }; - exports.asSdkError = asSdkError; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js -var require_StandardRetryStrategy2 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StandardRetryStrategy = void 0; - var protocol_http_1 = require_dist_cjs2(); - var service_error_classification_1 = require_dist_cjs27(); - var util_retry_1 = require_dist_cjs28(); - var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); - var defaultRetryQuota_1 = require_defaultRetryQuota(); - var delayDecider_1 = require_delayDecider(); - var retryDecider_1 = require_retryDecider(); - var util_1 = require_util3(); - var StandardRetryStrategy = class { - constructor(maxAttemptsProvider, options) { - var _a, _b, _c; - this.maxAttemptsProvider = maxAttemptsProvider; - this.mode = util_retry_1.RETRY_MODES.STANDARD; - this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : retryDecider_1.defaultRetryDecider; - this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : delayDecider_1.defaultDelayDecider; - this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : (0, defaultRetryQuota_1.getDefaultRetryQuota)(util_retry_1.INITIAL_RETRY_TOKENS); - } - shouldRetry(error, attempts, maxAttempts) { - return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error); - } - async getMaxAttempts() { - let maxAttempts; - try { - maxAttempts = await this.maxAttemptsProvider(); - } catch (error) { - maxAttempts = util_retry_1.DEFAULT_MAX_ATTEMPTS; - } - return maxAttempts; - } - async retry(next, args, options) { - let retryTokenAmount; - let attempts = 0; - let totalDelay = 0; - const maxAttempts = await this.getMaxAttempts(); - const { request: request2 } = args; - if (protocol_http_1.HttpRequest.isInstance(request2)) { - request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); - } - while (true) { - try { - if (protocol_http_1.HttpRequest.isInstance(request2)) { - request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; - } - if (options === null || options === void 0 ? void 0 : options.beforeRequest) { - await options.beforeRequest(); - } - const { response, output } = await next(args); - if (options === null || options === void 0 ? void 0 : options.afterRequest) { - options.afterRequest(response); - } - this.retryQuota.releaseRetryTokens(retryTokenAmount); - output.$metadata.attempts = attempts + 1; - output.$metadata.totalRetryDelay = totalDelay; - return { response, output }; - } catch (e) { - const err = (0, util_1.asSdkError)(e); - attempts++; - if (this.shouldRetry(err, attempts, maxAttempts)) { - retryTokenAmount = this.retryQuota.retrieveRetryTokens(err); - const delayFromDecider = this.delayDecider((0, service_error_classification_1.isThrottlingError)(err) ? util_retry_1.THROTTLING_RETRY_DELAY_BASE : util_retry_1.DEFAULT_RETRY_DELAY_BASE, attempts); - const delayFromResponse = getDelayFromRetryAfterHeader(err.$response); - const delay = Math.max(delayFromResponse || 0, delayFromDecider); - totalDelay += delay; - await new Promise((resolve) => setTimeout(resolve, delay)); - continue; - } - if (!err.$metadata) { - err.$metadata = {}; - } - err.$metadata.attempts = attempts; - err.$metadata.totalRetryDelay = totalDelay; - throw err; - } - } - } - }; - exports.StandardRetryStrategy = StandardRetryStrategy; - var getDelayFromRetryAfterHeader = (response) => { - if (!protocol_http_1.HttpResponse.isInstance(response)) - return; - const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); - if (!retryAfterHeaderName) - return; - const retryAfter = response.headers[retryAfterHeaderName]; - const retryAfterSeconds = Number(retryAfter); - if (!Number.isNaN(retryAfterSeconds)) - return retryAfterSeconds * 1e3; - const retryAfterDate = new Date(retryAfter); - return retryAfterDate.getTime() - Date.now(); - }; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js -var require_AdaptiveRetryStrategy2 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AdaptiveRetryStrategy = void 0; - var util_retry_1 = require_dist_cjs28(); - var StandardRetryStrategy_1 = require_StandardRetryStrategy2(); - var AdaptiveRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { - constructor(maxAttemptsProvider, options) { - const { rateLimiter, ...superOptions } = options !== null && options !== void 0 ? options : {}; - super(maxAttemptsProvider, superOptions); - this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new util_retry_1.DefaultRateLimiter(); - this.mode = util_retry_1.RETRY_MODES.ADAPTIVE; - } - async retry(next, args) { - return super.retry(next, args, { - beforeRequest: async () => { - return this.rateLimiter.getSendToken(); - }, - afterRequest: (response) => { - this.rateLimiter.updateClientSendingRate(response); - } - }); - } - }; - exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js -var require_configurations2 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0; - var util_middleware_1 = require_dist_cjs10(); - var util_retry_1 = require_dist_cjs28(); - exports.ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; - exports.CONFIG_MAX_ATTEMPTS = "max_attempts"; - exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => { - const value = env[exports.ENV_MAX_ATTEMPTS]; - if (!value) - return void 0; - const maxAttempt = parseInt(value); - if (Number.isNaN(maxAttempt)) { - throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`); - } - return maxAttempt; - }, - configFileSelector: (profile) => { - const value = profile[exports.CONFIG_MAX_ATTEMPTS]; - if (!value) - return void 0; - const maxAttempt = parseInt(value); - if (Number.isNaN(maxAttempt)) { - throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`); - } - return maxAttempt; - }, - default: util_retry_1.DEFAULT_MAX_ATTEMPTS - }; - var resolveRetryConfig = (input) => { - var _a; - const { retryStrategy } = input; - const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS); - return { - ...input, - maxAttempts, - retryStrategy: async () => { - if (retryStrategy) { - return retryStrategy; - } - const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)(); - if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) { - return new util_retry_1.AdaptiveRetryStrategy(maxAttempts); - } - return new util_retry_1.StandardRetryStrategy(maxAttempts); - } - }; - }; - exports.resolveRetryConfig = resolveRetryConfig; - exports.ENV_RETRY_MODE = "AWS_RETRY_MODE"; - exports.CONFIG_RETRY_MODE = "retry_mode"; - exports.NODE_RETRY_MODE_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE], - configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE], - default: util_retry_1.DEFAULT_RETRY_MODE - }; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js -var require_omitRetryHeadersMiddleware = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getOmitRetryHeadersPlugin = exports.omitRetryHeadersMiddlewareOptions = exports.omitRetryHeadersMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var util_retry_1 = require_dist_cjs28(); - var omitRetryHeadersMiddleware = () => (next) => async (args) => { - const { request: request2 } = args; - if (protocol_http_1.HttpRequest.isInstance(request2)) { - delete request2.headers[util_retry_1.INVOCATION_ID_HEADER]; - delete request2.headers[util_retry_1.REQUEST_HEADER]; - } - return next(args); - }; - exports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware; - exports.omitRetryHeadersMiddlewareOptions = { - name: "omitRetryHeadersMiddleware", - tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"], - relation: "before", - toMiddleware: "awsAuthMiddleware", - override: true - }; - var getOmitRetryHeadersPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.addRelativeTo((0, exports.omitRetryHeadersMiddleware)(), exports.omitRetryHeadersMiddlewareOptions); - } - }); - exports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js -var require_retryMiddleware = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRetryAfterHint = exports.getRetryPlugin = exports.retryMiddlewareOptions = exports.retryMiddleware = void 0; - var protocol_http_1 = require_dist_cjs2(); - var service_error_classification_1 = require_dist_cjs27(); - var util_retry_1 = require_dist_cjs28(); - var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); - var util_1 = require_util3(); - var retryMiddleware = (options) => (next, context) => async (args) => { - let retryStrategy = await options.retryStrategy(); - const maxAttempts = await options.maxAttempts(); - if (isRetryStrategyV2(retryStrategy)) { - retryStrategy = retryStrategy; - let retryToken = await retryStrategy.acquireInitialRetryToken(context["partition_id"]); - let lastError = new Error(); - let attempts = 0; - let totalRetryDelay = 0; - const { request: request2 } = args; - if (protocol_http_1.HttpRequest.isInstance(request2)) { - request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); - } - while (true) { - try { - if (protocol_http_1.HttpRequest.isInstance(request2)) { - request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; - } - const { response, output } = await next(args); - retryStrategy.recordSuccess(retryToken); - output.$metadata.attempts = attempts + 1; - output.$metadata.totalRetryDelay = totalRetryDelay; - return { response, output }; - } catch (e) { - const retryErrorInfo = getRetryErrorInfo(e); - lastError = (0, util_1.asSdkError)(e); - try { - retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo); - } catch (refreshError) { - if (!lastError.$metadata) { - lastError.$metadata = {}; - } - lastError.$metadata.attempts = attempts + 1; - lastError.$metadata.totalRetryDelay = totalRetryDelay; - throw lastError; - } - attempts = retryToken.getRetryCount(); - const delay = retryToken.getRetryDelay(); - totalRetryDelay += delay; - await new Promise((resolve) => setTimeout(resolve, delay)); - } - } - } else { - retryStrategy = retryStrategy; - if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode) - context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]]; - return retryStrategy.retry(next, args); - } - }; - exports.retryMiddleware = retryMiddleware; - var isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined"; - var getRetryErrorInfo = (error) => { - const errorInfo = { - errorType: getRetryErrorType(error) - }; - const retryAfterHint = (0, exports.getRetryAfterHint)(error.$response); - if (retryAfterHint) { - errorInfo.retryAfterHint = retryAfterHint; - } - return errorInfo; - }; - var getRetryErrorType = (error) => { - if ((0, service_error_classification_1.isThrottlingError)(error)) - return "THROTTLING"; - if ((0, service_error_classification_1.isTransientError)(error)) - return "TRANSIENT"; - if ((0, service_error_classification_1.isServerError)(error)) - return "SERVER_ERROR"; - return "CLIENT_ERROR"; - }; - exports.retryMiddlewareOptions = { - name: "retryMiddleware", - tags: ["RETRY"], - step: "finalizeRequest", - priority: "high", - override: true - }; - var getRetryPlugin = (options) => ({ - applyToStack: (clientStack) => { - clientStack.add((0, exports.retryMiddleware)(options), exports.retryMiddlewareOptions); - } - }); - exports.getRetryPlugin = getRetryPlugin; - var getRetryAfterHint = (response) => { - if (!protocol_http_1.HttpResponse.isInstance(response)) - return; - const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); - if (!retryAfterHeaderName) - return; - const retryAfter = response.headers[retryAfterHeaderName]; - const retryAfterSeconds = Number(retryAfter); - if (!Number.isNaN(retryAfterSeconds)) - return new Date(retryAfterSeconds * 1e3); - const retryAfterDate = new Date(retryAfter); - return retryAfterDate; - }; - exports.getRetryAfterHint = getRetryAfterHint; - } -}); - -// ../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js -var require_dist_cjs29 = __commonJS({ - "../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AdaptiveRetryStrategy2(), exports); - tslib_1.__exportStar(require_StandardRetryStrategy2(), exports); - tslib_1.__exportStar(require_configurations2(), exports); - tslib_1.__exportStar(require_delayDecider(), exports); - tslib_1.__exportStar(require_omitRetryHeadersMiddleware(), exports); - tslib_1.__exportStar(require_retryDecider(), exports); - tslib_1.__exportStar(require_retryMiddleware(), exports); - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js -var require_NoOpLogger = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NoOpLogger = void 0; - var NoOpLogger = class { - trace() { - } - debug() { - } - info() { - } - warn() { - } - error() { - } - }; - exports.NoOpLogger = NoOpLogger; - } -}); - -// ../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js -var require_MiddlewareStack = __commonJS({ - "../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.constructStack = void 0; - var constructStack = () => { - let absoluteEntries = []; - let relativeEntries = []; - const entriesNameSet = /* @__PURE__ */ new Set(); - const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"]); - const removeByName = (toRemove) => { - let isRemoved = false; - const filterCb = (entry) => { - if (entry.name && entry.name === toRemove) { - isRemoved = true; - entriesNameSet.delete(toRemove); - return false; - } - return true; - }; - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }; - const removeByReference = (toRemove) => { - let isRemoved = false; - const filterCb = (entry) => { - if (entry.middleware === toRemove) { - isRemoved = true; - if (entry.name) - entriesNameSet.delete(entry.name); - return false; - } - return true; - }; - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }; - const cloneTo = (toStack) => { - absoluteEntries.forEach((entry) => { - toStack.add(entry.middleware, { ...entry }); - }); - relativeEntries.forEach((entry) => { - toStack.addRelativeTo(entry.middleware, { ...entry }); - }); - return toStack; - }; - const expandRelativeMiddlewareList = (from) => { - const expandedMiddlewareList = []; - from.before.forEach((entry) => { - if (entry.before.length === 0 && entry.after.length === 0) { - expandedMiddlewareList.push(entry); - } else { - expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); - } - }); - expandedMiddlewareList.push(from); - from.after.reverse().forEach((entry) => { - if (entry.before.length === 0 && entry.after.length === 0) { - expandedMiddlewareList.push(entry); - } else { - expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); - } - }); - return expandedMiddlewareList; - }; - const getMiddlewareList = (debug = false) => { - const normalizedAbsoluteEntries = []; - const normalizedRelativeEntries = []; - const normalizedEntriesNameMap = {}; - absoluteEntries.forEach((entry) => { - const normalizedEntry = { - ...entry, - before: [], - after: [] - }; - if (normalizedEntry.name) - normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; - normalizedAbsoluteEntries.push(normalizedEntry); - }); - relativeEntries.forEach((entry) => { - const normalizedEntry = { - ...entry, - before: [], - after: [] - }; - if (normalizedEntry.name) - normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; - normalizedRelativeEntries.push(normalizedEntry); - }); - normalizedRelativeEntries.forEach((entry) => { - if (entry.toMiddleware) { - const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; - if (toMiddleware === void 0) { - if (debug) { - return; - } - throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || "anonymous"} middleware ${entry.relation} ${entry.toMiddleware}`); - } - if (entry.relation === "after") { - toMiddleware.after.push(entry); - } - if (entry.relation === "before") { - toMiddleware.before.push(entry); - } - } - }); - const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => { - wholeList.push(...expandedMiddlewareList); - return wholeList; - }, []); - return mainChain; - }; - const stack = { - add: (middleware, options = {}) => { - const { name, override } = options; - const entry = { - step: "initialize", - priority: "normal", - middleware, - ...options - }; - if (name) { - if (entriesNameSet.has(name)) { - if (!override) - throw new Error(`Duplicate middleware name '${name}'`); - const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === name); - const toOverride = absoluteEntries[toOverrideIndex]; - if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) { - throw new Error(`"${name}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`); - } - absoluteEntries.splice(toOverrideIndex, 1); - } - entriesNameSet.add(name); - } - absoluteEntries.push(entry); - }, - addRelativeTo: (middleware, options) => { - const { name, override } = options; - const entry = { - middleware, - ...options - }; - if (name) { - if (entriesNameSet.has(name)) { - if (!override) - throw new Error(`Duplicate middleware name '${name}'`); - const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === name); - const toOverride = relativeEntries[toOverrideIndex]; - if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { - throw new Error(`"${name}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by same-name middleware ${entry.relation} "${entry.toMiddleware}" middleware.`); - } - relativeEntries.splice(toOverrideIndex, 1); - } - entriesNameSet.add(name); - } - relativeEntries.push(entry); - }, - clone: () => cloneTo((0, exports.constructStack)()), - use: (plugin) => { - plugin.applyToStack(stack); - }, - remove: (toRemove) => { - if (typeof toRemove === "string") - return removeByName(toRemove); - else - return removeByReference(toRemove); - }, - removeByTag: (toRemove) => { - let isRemoved = false; - const filterCb = (entry) => { - const { tags, name } = entry; - if (tags && tags.includes(toRemove)) { - if (name) - entriesNameSet.delete(name); - isRemoved = true; - return false; - } - return true; - }; - absoluteEntries = absoluteEntries.filter(filterCb); - relativeEntries = relativeEntries.filter(filterCb); - return isRemoved; - }, - concat: (from) => { - const cloned = cloneTo((0, exports.constructStack)()); - cloned.use(from); - return cloned; - }, - applyToStack: cloneTo, - identify: () => { - return getMiddlewareList(true).map((mw) => { - return mw.name + ": " + (mw.tags || []).join(","); - }); - }, - resolve: (handler2, context) => { - for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { - handler2 = middleware(handler2, context); - } - return handler2; - } - }; - return stack; - }; - exports.constructStack = constructStack; - var stepWeights = { - initialize: 5, - serialize: 4, - build: 3, - finalizeRequest: 2, - deserialize: 1 - }; - var priorityWeights = { - high: 3, - normal: 2, - low: 1 - }; - } -}); - -// ../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js -var require_dist_cjs30 = __commonJS({ - "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_MiddlewareStack(), exports); - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/client.js -var require_client3 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/client.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Client = void 0; - var middleware_stack_1 = require_dist_cjs30(); - var Client = class { - constructor(config) { - this.middlewareStack = (0, middleware_stack_1.constructStack)(); - this.config = config; - } - send(command, optionsOrCb, cb) { - const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; - const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; - const handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); - if (callback) { - handler2(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => { - }); - } else { - return handler2(command).then((result) => result.output); - } - } - destroy() { - if (this.config.requestHandler.destroy) - this.config.requestHandler.destroy(); - } - }; - exports.Client = Client; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js -var require_fromBase64 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromBase64 = void 0; - var util_buffer_from_1 = require_dist_cjs12(); - var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; - var fromBase64 = (input) => { - if (input.length * 3 % 4 !== 0) { - throw new TypeError(`Incorrect padding on base64 string.`); - } - if (!BASE64_REGEX.exec(input)) { - throw new TypeError(`Invalid base64 string.`); - } - const buffer = (0, util_buffer_from_1.fromString)(input, "base64"); - return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); - }; - exports.fromBase64 = fromBase64; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js -var require_toBase64 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toBase64 = void 0; - var util_buffer_from_1 = require_dist_cjs12(); - var toBase64 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64"); - exports.toBase64 = toBase64; - } -}); - -// ../../../node_modules/@smithy/util-base64/dist-cjs/index.js -var require_dist_cjs31 = __commonJS({ - "../../../node_modules/@smithy/util-base64/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromBase64(), exports); - tslib_1.__exportStar(require_toBase64(), exports); - } -}); - -// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js -var require_transforms = __commonJS({ - "../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.transformFromString = exports.transformToString = void 0; - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var Uint8ArrayBlobAdapter_1 = require_Uint8ArrayBlobAdapter(); - function transformToString(payload, encoding = "utf-8") { - if (encoding === "base64") { - return (0, util_base64_1.toBase64)(payload); - } - return (0, util_utf8_1.toUtf8)(payload); - } - exports.transformToString = transformToString; - function transformFromString(str, encoding) { - if (encoding === "base64") { - return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_base64_1.fromBase64)(str)); - } - return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_utf8_1.fromUtf8)(str)); - } - exports.transformFromString = transformFromString; - } -}); - -// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js -var require_Uint8ArrayBlobAdapter = __commonJS({ - "../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Uint8ArrayBlobAdapter = void 0; - var transforms_1 = require_transforms(); - var Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter extends Uint8Array { - static fromString(source, encoding = "utf-8") { - switch (typeof source) { - case "string": - return (0, transforms_1.transformFromString)(source, encoding); - default: - throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); - } - } - static mutate(source) { - Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter.prototype); - return source; - } - transformToString(encoding = "utf-8") { - return (0, transforms_1.transformToString)(this, encoding); - } - }; - exports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter; - } -}); - -// ../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js -var require_getAwsChunkedEncodingStream = __commonJS({ - "../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getAwsChunkedEncodingStream = void 0; - var stream_1 = require("stream"); - var getAwsChunkedEncodingStream = (readableStream, options) => { - const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; - const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; - const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; - const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { - } }); - readableStream.on("data", (data) => { - const length = bodyLengthChecker(data) || 0; - awsChunkedEncodingStream.push(`${length.toString(16)}\r -`); - awsChunkedEncodingStream.push(data); - awsChunkedEncodingStream.push("\r\n"); - }); - readableStream.on("end", async () => { - awsChunkedEncodingStream.push(`0\r -`); - if (checksumRequired) { - const checksum = base64Encoder(await digest); - awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r -`); - awsChunkedEncodingStream.push(`\r -`); - } - awsChunkedEncodingStream.push(null); - }); - return awsChunkedEncodingStream; - }; - exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream; - } -}); - -// ../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js -var require_dist_cjs32 = __commonJS({ - "../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.buildQueryString = void 0; - var util_uri_escape_1 = require_dist_cjs14(); - function buildQueryString(query) { - const parts = []; - for (let key of Object.keys(query).sort()) { - const value = query[key]; - key = (0, util_uri_escape_1.escapeUri)(key); - if (Array.isArray(value)) { - for (let i = 0, iLen = value.length; i < iLen; i++) { - parts.push(`${key}=${(0, util_uri_escape_1.escapeUri)(value[i])}`); - } - } else { - let qsEntry = key; - if (value || typeof value === "string") { - qsEntry += `=${(0, util_uri_escape_1.escapeUri)(value)}`; - } - parts.push(qsEntry); - } - } - return parts.join("&"); - } - exports.buildQueryString = buildQueryString; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js -var require_constants5 = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODEJS_TIMEOUT_ERROR_CODES = void 0; - exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js -var require_get_transformed_headers = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getTransformedHeaders = void 0; - var getTransformedHeaders = (headers) => { - const transformedHeaders = {}; - for (const name of Object.keys(headers)) { - const headerValues = headers[name]; - transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; - } - return transformedHeaders; - }; - exports.getTransformedHeaders = getTransformedHeaders; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js -var require_set_connection_timeout = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.setConnectionTimeout = void 0; - var setConnectionTimeout = (request2, reject, timeoutInMs = 0) => { - if (!timeoutInMs) { - return; - } - const timeoutId = setTimeout(() => { - request2.destroy(); - reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { - name: "TimeoutError" - })); - }, timeoutInMs); - request2.on("socket", (socket) => { - if (socket.connecting) { - socket.on("connect", () => { - clearTimeout(timeoutId); - }); - } else { - clearTimeout(timeoutId); - } - }); - }; - exports.setConnectionTimeout = setConnectionTimeout; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js -var require_set_socket_keep_alive = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.setSocketKeepAlive = void 0; - var setSocketKeepAlive = (request2, { keepAlive, keepAliveMsecs }) => { - if (keepAlive !== true) { - return; - } - request2.on("socket", (socket) => { - socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); - }); - }; - exports.setSocketKeepAlive = setSocketKeepAlive; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js -var require_set_socket_timeout = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.setSocketTimeout = void 0; - var setSocketTimeout = (request2, reject, timeoutInMs = 0) => { - request2.setTimeout(timeoutInMs, () => { - request2.destroy(); - reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" })); - }); - }; - exports.setSocketTimeout = setSocketTimeout; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js -var require_write_request_body = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.writeRequestBody = void 0; - var stream_1 = require("stream"); - var MIN_WAIT_TIME = 1e3; - async function writeRequestBody(httpRequest, request2, maxContinueTimeoutMs = MIN_WAIT_TIME) { - var _a; - const headers = (_a = request2.headers) !== null && _a !== void 0 ? _a : {}; - const expect = headers["Expect"] || headers["expect"]; - let timeoutId = -1; - let hasError = false; - if (expect === "100-continue") { - await Promise.race([ - new Promise((resolve) => { - timeoutId = Number(setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); - }), - new Promise((resolve) => { - httpRequest.on("continue", () => { - clearTimeout(timeoutId); - resolve(); - }); - httpRequest.on("error", () => { - hasError = true; - clearTimeout(timeoutId); - resolve(); - }); - }) - ]); - } - if (!hasError) { - writeBody(httpRequest, request2.body); - } - } - exports.writeRequestBody = writeRequestBody; - function writeBody(httpRequest, body) { - if (body instanceof stream_1.Readable) { - body.pipe(httpRequest); - } else if (body) { - httpRequest.end(Buffer.from(body)); - } else { - httpRequest.end(); - } - } - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js -var require_node_http_handler = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NodeHttpHandler = exports.DEFAULT_REQUEST_TIMEOUT = void 0; - var protocol_http_1 = require_dist_cjs2(); - var querystring_builder_1 = require_dist_cjs32(); - var http_1 = require("http"); - var https_1 = require("https"); - var constants_1 = require_constants5(); - var get_transformed_headers_1 = require_get_transformed_headers(); - var set_connection_timeout_1 = require_set_connection_timeout(); - var set_socket_keep_alive_1 = require_set_socket_keep_alive(); - var set_socket_timeout_1 = require_set_socket_timeout(); - var write_request_body_1 = require_write_request_body(); - exports.DEFAULT_REQUEST_TIMEOUT = 0; - var NodeHttpHandler = class { - constructor(options) { - this.metadata = { handlerProtocol: "http/1.1" }; - this.configProvider = new Promise((resolve, reject) => { - if (typeof options === "function") { - options().then((_options) => { - resolve(this.resolveDefaultConfig(_options)); - }).catch(reject); - } else { - resolve(this.resolveDefaultConfig(options)); - } - }); - } - resolveDefaultConfig(options) { - const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {}; - const keepAlive = true; - const maxSockets = 50; - return { - connectionTimeout, - requestTimeout: requestTimeout !== null && requestTimeout !== void 0 ? requestTimeout : socketTimeout, - httpAgent: httpAgent || new http_1.Agent({ keepAlive, maxSockets }), - httpsAgent: httpsAgent || new https_1.Agent({ keepAlive, maxSockets }) - }; - } - destroy() { - var _a, _b, _c, _d; - (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.httpAgent) === null || _b === void 0 ? void 0 : _b.destroy(); - (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.httpsAgent) === null || _d === void 0 ? void 0 : _d.destroy(); - } - async handle(request2, { abortSignal } = {}) { - if (!this.config) { - this.config = await this.configProvider; - } - return new Promise((_resolve, _reject) => { - var _a, _b; - let writeRequestBodyPromise = void 0; - const resolve = async (arg) => { - await writeRequestBodyPromise; - _resolve(arg); - }; - const reject = async (arg) => { - await writeRequestBodyPromise; - _reject(arg); - }; - if (!this.config) { - throw new Error("Node HTTP request handler config is not resolved"); - } - if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - return; - } - const isSSL = request2.protocol === "https:"; - const queryString = (0, querystring_builder_1.buildQueryString)(request2.query || {}); - let auth = void 0; - if (request2.username != null || request2.password != null) { - const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; - const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; - auth = `${username}:${password}`; - } - let path = request2.path; - if (queryString) { - path += `?${queryString}`; - } - if (request2.fragment) { - path += `#${request2.fragment}`; - } - const nodeHttpsOptions = { - headers: request2.headers, - host: request2.hostname, - method: request2.method, - path, - port: request2.port, - agent: isSSL ? this.config.httpsAgent : this.config.httpAgent, - auth - }; - const requestFunc = isSSL ? https_1.request : http_1.request; - const req = requestFunc(nodeHttpsOptions, (res) => { - const httpResponse = new protocol_http_1.HttpResponse({ - statusCode: res.statusCode || -1, - reason: res.statusMessage, - headers: (0, get_transformed_headers_1.getTransformedHeaders)(res.headers), - body: res - }); - resolve({ response: httpResponse }); - }); - req.on("error", (err) => { - if (constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) { - reject(Object.assign(err, { name: "TimeoutError" })); - } else { - reject(err); - } - }); - (0, set_connection_timeout_1.setConnectionTimeout)(req, reject, this.config.connectionTimeout); - (0, set_socket_timeout_1.setSocketTimeout)(req, reject, this.config.requestTimeout); - if (abortSignal) { - abortSignal.onabort = () => { - req.abort(); - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - }; - } - const httpAgent = nodeHttpsOptions.agent; - if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { - (0, set_socket_keep_alive_1.setSocketKeepAlive)(req, { - keepAlive: httpAgent.keepAlive, - keepAliveMsecs: httpAgent.keepAliveMsecs - }); - } - writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, this.config.requestTimeout).catch(_reject); - }); - } - }; - exports.NodeHttpHandler = NodeHttpHandler; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js -var require_node_http2_connection_pool = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NodeHttp2ConnectionPool = void 0; - var NodeHttp2ConnectionPool = class { - constructor(sessions) { - this.sessions = []; - this.sessions = sessions !== null && sessions !== void 0 ? sessions : []; - } - poll() { - if (this.sessions.length > 0) { - return this.sessions.shift(); - } - } - offerLast(session) { - this.sessions.push(session); - } - contains(session) { - return this.sessions.includes(session); - } - remove(session) { - this.sessions = this.sessions.filter((s) => s !== session); - } - [Symbol.iterator]() { - return this.sessions[Symbol.iterator](); - } - destroy(connection) { - for (const session of this.sessions) { - if (session === connection) { - if (!session.destroyed) { - session.destroy(); - } - } - } - } - }; - exports.NodeHttp2ConnectionPool = NodeHttp2ConnectionPool; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js -var require_node_http2_connection_manager = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NodeHttp2ConnectionManager = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var http2_1 = tslib_1.__importDefault(require("http2")); - var node_http2_connection_pool_1 = require_node_http2_connection_pool(); - var NodeHttp2ConnectionManager = class { - constructor(config) { - this.sessionCache = /* @__PURE__ */ new Map(); - this.config = config; - if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { - throw new RangeError("maxConcurrency must be greater than zero."); - } - } - lease(requestContext, connectionConfiguration) { - const url2 = this.getUrlString(requestContext); - const existingPool = this.sessionCache.get(url2); - if (existingPool) { - const existingSession = existingPool.poll(); - if (existingSession && !this.config.disableConcurrency) { - return existingSession; - } - } - const session = http2_1.default.connect(url2); - if (this.config.maxConcurrency) { - session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { - if (err) { - throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString()); - } - }); - } - session.unref(); - const destroySessionCb = () => { - session.destroy(); - this.deleteSession(url2, session); - }; - session.on("goaway", destroySessionCb); - session.on("error", destroySessionCb); - session.on("frameError", destroySessionCb); - session.on("close", () => this.deleteSession(url2, session)); - if (connectionConfiguration.requestTimeout) { - session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb); - } - const connectionPool = this.sessionCache.get(url2) || new node_http2_connection_pool_1.NodeHttp2ConnectionPool(); - connectionPool.offerLast(session); - this.sessionCache.set(url2, connectionPool); - return session; - } - deleteSession(authority, session) { - const existingConnectionPool = this.sessionCache.get(authority); - if (!existingConnectionPool) { - return; - } - if (!existingConnectionPool.contains(session)) { - return; - } - existingConnectionPool.remove(session); - this.sessionCache.set(authority, existingConnectionPool); - } - release(requestContext, session) { - var _a; - const cacheKey = this.getUrlString(requestContext); - (_a = this.sessionCache.get(cacheKey)) === null || _a === void 0 ? void 0 : _a.offerLast(session); - } - destroy() { - for (const [key, connectionPool] of this.sessionCache) { - for (const session of connectionPool) { - if (!session.destroyed) { - session.destroy(); - } - connectionPool.remove(session); - } - this.sessionCache.delete(key); - } - } - setMaxConcurrentStreams(maxConcurrentStreams) { - if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { - throw new RangeError("maxConcurrentStreams must be greater than zero."); - } - this.config.maxConcurrency = maxConcurrentStreams; - } - setDisableConcurrentStreams(disableConcurrentStreams) { - this.config.disableConcurrency = disableConcurrentStreams; - } - getUrlString(request2) { - return request2.destination.toString(); - } - }; - exports.NodeHttp2ConnectionManager = NodeHttp2ConnectionManager; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js -var require_node_http2_handler = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NodeHttp2Handler = void 0; - var protocol_http_1 = require_dist_cjs2(); - var querystring_builder_1 = require_dist_cjs32(); - var http2_1 = require("http2"); - var get_transformed_headers_1 = require_get_transformed_headers(); - var node_http2_connection_manager_1 = require_node_http2_connection_manager(); - var write_request_body_1 = require_write_request_body(); - var NodeHttp2Handler = class { - constructor(options) { - this.metadata = { handlerProtocol: "h2" }; - this.connectionManager = new node_http2_connection_manager_1.NodeHttp2ConnectionManager({}); - this.configProvider = new Promise((resolve, reject) => { - if (typeof options === "function") { - options().then((opts) => { - resolve(opts || {}); - }).catch(reject); - } else { - resolve(options || {}); - } - }); - } - destroy() { - this.connectionManager.destroy(); - } - async handle(request2, { abortSignal } = {}) { - if (!this.config) { - this.config = await this.configProvider; - this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false); - if (this.config.maxConcurrentStreams) { - this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams); - } - } - const { requestTimeout, disableConcurrentStreams } = this.config; - return new Promise((_resolve, _reject) => { - var _a, _b, _c; - let fulfilled = false; - let writeRequestBodyPromise = void 0; - const resolve = async (arg) => { - await writeRequestBodyPromise; - _resolve(arg); - }; - const reject = async (arg) => { - await writeRequestBodyPromise; - _reject(arg); - }; - if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { - fulfilled = true; - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - reject(abortError); - return; - } - const { hostname, method, port, protocol, query } = request2; - let auth = ""; - if (request2.username != null || request2.password != null) { - const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; - const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; - auth = `${username}:${password}@`; - } - const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : ""}`; - const requestContext = { destination: new URL(authority) }; - const session = this.connectionManager.lease(requestContext, { - requestTimeout: (_c = this.config) === null || _c === void 0 ? void 0 : _c.sessionTimeout, - disableConcurrentStreams: disableConcurrentStreams || false - }); - const rejectWithDestroy = (err) => { - if (disableConcurrentStreams) { - this.destroySession(session); - } - fulfilled = true; - reject(err); - }; - const queryString = (0, querystring_builder_1.buildQueryString)(query || {}); - let path = request2.path; - if (queryString) { - path += `?${queryString}`; - } - if (request2.fragment) { - path += `#${request2.fragment}`; - } - const req = session.request({ - ...request2.headers, - [http2_1.constants.HTTP2_HEADER_PATH]: path, - [http2_1.constants.HTTP2_HEADER_METHOD]: method - }); - session.ref(); - req.on("response", (headers) => { - const httpResponse = new protocol_http_1.HttpResponse({ - statusCode: headers[":status"] || -1, - headers: (0, get_transformed_headers_1.getTransformedHeaders)(headers), - body: req - }); - fulfilled = true; - resolve({ response: httpResponse }); - if (disableConcurrentStreams) { - session.close(); - this.connectionManager.deleteSession(authority, session); - } - }); - if (requestTimeout) { - req.setTimeout(requestTimeout, () => { - req.close(); - const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`); - timeoutError.name = "TimeoutError"; - rejectWithDestroy(timeoutError); - }); - } - if (abortSignal) { - abortSignal.onabort = () => { - req.close(); - const abortError = new Error("Request aborted"); - abortError.name = "AbortError"; - rejectWithDestroy(abortError); - }; - } - req.on("frameError", (type, code, id) => { - rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); - }); - req.on("error", rejectWithDestroy); - req.on("aborted", () => { - rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`)); - }); - req.on("close", () => { - session.unref(); - if (disableConcurrentStreams) { - session.destroy(); - } - if (!fulfilled) { - rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response")); - } - }); - writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, requestTimeout); - }); - } - destroySession(session) { - if (!session.destroyed) { - session.destroy(); - } - } - }; - exports.NodeHttp2Handler = NodeHttp2Handler; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js -var require_collector = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Collector = void 0; - var stream_1 = require("stream"); - var Collector = class extends stream_1.Writable { - constructor() { - super(...arguments); - this.bufferedBytes = []; - } - _write(chunk, encoding, callback) { - this.bufferedBytes.push(chunk); - callback(); - } - }; - exports.Collector = Collector; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js -var require_stream_collector = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.streamCollector = void 0; - var collector_1 = require_collector(); - var streamCollector = (stream) => new Promise((resolve, reject) => { - const collector = new collector_1.Collector(); - stream.pipe(collector); - stream.on("error", (err) => { - collector.end(); - reject(err); - }); - collector.on("error", reject); - collector.on("finish", function() { - const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes)); - resolve(bytes); - }); - }); - exports.streamCollector = streamCollector; - } -}); - -// ../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js -var require_dist_cjs33 = __commonJS({ - "../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_node_http_handler(), exports); - tslib_1.__exportStar(require_node_http2_handler(), exports); - tslib_1.__exportStar(require_stream_collector(), exports); - } -}); - -// ../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js -var require_sdk_stream_mixin = __commonJS({ - "../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.sdkStreamMixin = void 0; - var node_http_handler_1 = require_dist_cjs33(); - var util_buffer_from_1 = require_dist_cjs12(); - var stream_1 = require("stream"); - var util_1 = require("util"); - var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; - var sdkStreamMixin = (stream) => { - var _a, _b; - if (!(stream instanceof stream_1.Readable)) { - const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; - throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); - } - let transformed = false; - const transformToByteArray = async () => { - if (transformed) { - throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); - } - transformed = true; - return await (0, node_http_handler_1.streamCollector)(stream); - }; - return Object.assign(stream, { - transformToByteArray, - transformToString: async (encoding) => { - const buf = await transformToByteArray(); - if (encoding === void 0 || Buffer.isEncoding(encoding)) { - return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); - } else { - const decoder = new util_1.TextDecoder(encoding); - return decoder.decode(buf); - } - }, - transformToWebStream: () => { - if (transformed) { - throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); - } - if (stream.readableFlowing !== null) { - throw new Error("The stream has been consumed by other callbacks."); - } - if (typeof stream_1.Readable.toWeb !== "function") { - throw new Error("Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available."); - } - transformed = true; - return stream_1.Readable.toWeb(stream); - } - }); - }; - exports.sdkStreamMixin = sdkStreamMixin; - } -}); - -// ../../../node_modules/@smithy/util-stream/dist-cjs/index.js -var require_dist_cjs34 = __commonJS({ - "../../../node_modules/@smithy/util-stream/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_Uint8ArrayBlobAdapter(), exports); - tslib_1.__exportStar(require_getAwsChunkedEncodingStream(), exports); - tslib_1.__exportStar(require_sdk_stream_mixin(), exports); - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js -var require_collect_stream_body = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.collectBody = void 0; - var util_stream_1 = require_dist_cjs34(); - var collectBody = async (streamBody = new Uint8Array(), context) => { - if (streamBody instanceof Uint8Array) { - return util_stream_1.Uint8ArrayBlobAdapter.mutate(streamBody); - } - if (!streamBody) { - return util_stream_1.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); - } - const fromContext = context.streamCollector(streamBody); - return util_stream_1.Uint8ArrayBlobAdapter.mutate(await fromContext); - }; - exports.collectBody = collectBody; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/command.js -var require_command3 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/command.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Command = void 0; - var middleware_stack_1 = require_dist_cjs30(); - var Command = class { - constructor() { - this.middlewareStack = (0, middleware_stack_1.constructStack)(); - } - }; - exports.Command = Command; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js -var require_constants6 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SENSITIVE_STRING = void 0; - exports.SENSITIVE_STRING = "***SensitiveInformation***"; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js -var require_create_aggregated_client = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createAggregatedClient = void 0; - var createAggregatedClient = (commands, Client) => { - for (const command of Object.keys(commands)) { - const CommandCtor = commands[command]; - const methodImpl = async function(args, optionsOrCb, cb) { - const command2 = new CommandCtor(args); - if (typeof optionsOrCb === "function") { - this.send(command2, optionsOrCb); - } else if (typeof cb === "function") { - if (typeof optionsOrCb !== "object") - throw new Error(`Expected http options but got ${typeof optionsOrCb}`); - this.send(command2, optionsOrCb || {}, cb); - } else { - return this.send(command2, optionsOrCb); - } - }; - const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); - Client.prototype[methodName] = methodImpl; - } - }; - exports.createAggregatedClient = createAggregatedClient; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js -var require_parse_utils = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0; - var parseBoolean = (value) => { - switch (value) { - case "true": - return true; - case "false": - return false; - default: - throw new Error(`Unable to parse boolean value "${value}"`); - } - }; - exports.parseBoolean = parseBoolean; - var expectBoolean = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value === "number") { - if (value === 0 || value === 1) { - exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); - } - if (value === 0) { - return false; - } - if (value === 1) { - return true; - } - } - if (typeof value === "string") { - const lower = value.toLowerCase(); - if (lower === "false" || lower === "true") { - exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); - } - if (lower === "false") { - return false; - } - if (lower === "true") { - return true; - } - } - if (typeof value === "boolean") { - return value; - } - throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); - }; - exports.expectBoolean = expectBoolean; - var expectNumber = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value === "string") { - const parsed = parseFloat(value); - if (!Number.isNaN(parsed)) { - if (String(parsed) !== String(value)) { - exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); - } - return parsed; - } - } - if (typeof value === "number") { - return value; - } - throw new TypeError(`Expected number, got ${typeof value}: ${value}`); - }; - exports.expectNumber = expectNumber; - var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); - var expectFloat32 = (value) => { - const expected = (0, exports.expectNumber)(value); - if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { - if (Math.abs(expected) > MAX_FLOAT) { - throw new TypeError(`Expected 32-bit float, got ${value}`); - } - } - return expected; - }; - exports.expectFloat32 = expectFloat32; - var expectLong = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (Number.isInteger(value) && !Number.isNaN(value)) { - return value; - } - throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); - }; - exports.expectLong = expectLong; - exports.expectInt = exports.expectLong; - var expectInt32 = (value) => expectSizedInt(value, 32); - exports.expectInt32 = expectInt32; - var expectShort = (value) => expectSizedInt(value, 16); - exports.expectShort = expectShort; - var expectByte = (value) => expectSizedInt(value, 8); - exports.expectByte = expectByte; - var expectSizedInt = (value, size) => { - const expected = (0, exports.expectLong)(value); - if (expected !== void 0 && castInt(expected, size) !== expected) { - throw new TypeError(`Expected ${size}-bit integer, got ${value}`); - } - return expected; - }; - var castInt = (value, size) => { - switch (size) { - case 32: - return Int32Array.of(value)[0]; - case 16: - return Int16Array.of(value)[0]; - case 8: - return Int8Array.of(value)[0]; - } - }; - var expectNonNull = (value, location) => { - if (value === null || value === void 0) { - if (location) { - throw new TypeError(`Expected a non-null value for ${location}`); - } - throw new TypeError("Expected a non-null value"); - } - return value; - }; - exports.expectNonNull = expectNonNull; - var expectObject = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value === "object" && !Array.isArray(value)) { - return value; - } - const receivedType = Array.isArray(value) ? "array" : typeof value; - throw new TypeError(`Expected object, got ${receivedType}: ${value}`); - }; - exports.expectObject = expectObject; - var expectString = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value === "string") { - return value; - } - if (["boolean", "number", "bigint"].includes(typeof value)) { - exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); - return String(value); - } - throw new TypeError(`Expected string, got ${typeof value}: ${value}`); - }; - exports.expectString = expectString; - var expectUnion = (value) => { - if (value === null || value === void 0) { - return void 0; - } - const asObject = (0, exports.expectObject)(value); - const setKeys = Object.entries(asObject).filter(([, v]) => v != null).map(([k]) => k); - if (setKeys.length === 0) { - throw new TypeError(`Unions must have exactly one non-null member. None were found.`); - } - if (setKeys.length > 1) { - throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); - } - return asObject; - }; - exports.expectUnion = expectUnion; - var strictParseDouble = (value) => { - if (typeof value == "string") { - return (0, exports.expectNumber)(parseNumber(value)); - } - return (0, exports.expectNumber)(value); - }; - exports.strictParseDouble = strictParseDouble; - exports.strictParseFloat = exports.strictParseDouble; - var strictParseFloat32 = (value) => { - if (typeof value == "string") { - return (0, exports.expectFloat32)(parseNumber(value)); - } - return (0, exports.expectFloat32)(value); - }; - exports.strictParseFloat32 = strictParseFloat32; - var NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; - var parseNumber = (value) => { - const matches = value.match(NUMBER_REGEX); - if (matches === null || matches[0].length !== value.length) { - throw new TypeError(`Expected real number, got implicit NaN`); - } - return parseFloat(value); - }; - var limitedParseDouble = (value) => { - if (typeof value == "string") { - return parseFloatString(value); - } - return (0, exports.expectNumber)(value); - }; - exports.limitedParseDouble = limitedParseDouble; - exports.handleFloat = exports.limitedParseDouble; - exports.limitedParseFloat = exports.limitedParseDouble; - var limitedParseFloat32 = (value) => { - if (typeof value == "string") { - return parseFloatString(value); - } - return (0, exports.expectFloat32)(value); - }; - exports.limitedParseFloat32 = limitedParseFloat32; - var parseFloatString = (value) => { - switch (value) { - case "NaN": - return NaN; - case "Infinity": - return Infinity; - case "-Infinity": - return -Infinity; - default: - throw new Error(`Unable to parse float value: ${value}`); - } - }; - var strictParseLong = (value) => { - if (typeof value === "string") { - return (0, exports.expectLong)(parseNumber(value)); - } - return (0, exports.expectLong)(value); - }; - exports.strictParseLong = strictParseLong; - exports.strictParseInt = exports.strictParseLong; - var strictParseInt32 = (value) => { - if (typeof value === "string") { - return (0, exports.expectInt32)(parseNumber(value)); - } - return (0, exports.expectInt32)(value); - }; - exports.strictParseInt32 = strictParseInt32; - var strictParseShort = (value) => { - if (typeof value === "string") { - return (0, exports.expectShort)(parseNumber(value)); - } - return (0, exports.expectShort)(value); - }; - exports.strictParseShort = strictParseShort; - var strictParseByte = (value) => { - if (typeof value === "string") { - return (0, exports.expectByte)(parseNumber(value)); - } - return (0, exports.expectByte)(value); - }; - exports.strictParseByte = strictParseByte; - var stackTraceWarning = (message) => { - return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n"); - }; - exports.logger = { - warn: console.warn - }; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js -var require_date_utils = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0; - var parse_utils_1 = require_parse_utils(); - var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; - var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; - function dateToUtcString(date) { - const year = date.getUTCFullYear(); - const month = date.getUTCMonth(); - const dayOfWeek = date.getUTCDay(); - const dayOfMonthInt = date.getUTCDate(); - const hoursInt = date.getUTCHours(); - const minutesInt = date.getUTCMinutes(); - const secondsInt = date.getUTCSeconds(); - const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; - const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; - const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; - const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; - return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`; - } - exports.dateToUtcString = dateToUtcString; - var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); - var parseRfc3339DateTime = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value !== "string") { - throw new TypeError("RFC-3339 date-times must be expressed as strings"); - } - const match = RFC3339.exec(value); - if (!match) { - throw new TypeError("Invalid RFC-3339 date-time value"); - } - const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; - const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); - const month = parseDateValue(monthStr, "month", 1, 12); - const day = parseDateValue(dayStr, "day", 1, 31); - return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); - }; - exports.parseRfc3339DateTime = parseRfc3339DateTime; - var RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/); - var parseRfc3339DateTimeWithOffset = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value !== "string") { - throw new TypeError("RFC-3339 date-times must be expressed as strings"); - } - const match = RFC3339_WITH_OFFSET.exec(value); - if (!match) { - throw new TypeError("Invalid RFC-3339 date-time value"); - } - const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; - const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); - const month = parseDateValue(monthStr, "month", 1, 12); - const day = parseDateValue(dayStr, "day", 1, 31); - const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); - if (offsetStr.toUpperCase() != "Z") { - date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr)); - } - return date; - }; - exports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset; - var IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); - var RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); - var ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/); - var parseRfc7231DateTime = (value) => { - if (value === null || value === void 0) { - return void 0; - } - if (typeof value !== "string") { - throw new TypeError("RFC-7231 date-times must be expressed as strings"); - } - let match = IMF_FIXDATE.exec(value); - if (match) { - const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; - return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); - } - match = RFC_850_DATE.exec(value); - if (match) { - const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; - return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { - hours, - minutes, - seconds, - fractionalMilliseconds - })); - } - match = ASC_TIME.exec(value); - if (match) { - const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; - return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); - } - throw new TypeError("Invalid RFC-7231 date-time value"); - }; - exports.parseRfc7231DateTime = parseRfc7231DateTime; - var parseEpochTimestamp = (value) => { - if (value === null || value === void 0) { - return void 0; - } - let valueAsDouble; - if (typeof value === "number") { - valueAsDouble = value; - } else if (typeof value === "string") { - valueAsDouble = (0, parse_utils_1.strictParseDouble)(value); - } else { - throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); - } - if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { - throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); - } - return new Date(Math.round(valueAsDouble * 1e3)); - }; - exports.parseEpochTimestamp = parseEpochTimestamp; - var buildDate = (year, month, day, time) => { - const adjustedMonth = month - 1; - validateDayOfMonth(year, adjustedMonth, day); - return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, "hour", 0, 23), parseDateValue(time.minutes, "minute", 0, 59), parseDateValue(time.seconds, "seconds", 0, 60), parseMilliseconds(time.fractionalMilliseconds))); - }; - var parseTwoDigitYear = (value) => { - const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); - const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value)); - if (valueInThisCentury < thisYear) { - return valueInThisCentury + 100; - } - return valueInThisCentury; - }; - var FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3; - var adjustRfc850Year = (input) => { - if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) { - return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds())); - } - return input; - }; - var parseMonthByShortName = (value) => { - const monthIdx = MONTHS.indexOf(value); - if (monthIdx < 0) { - throw new TypeError(`Invalid month: ${value}`); - } - return monthIdx + 1; - }; - var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - var validateDayOfMonth = (year, month, day) => { - let maxDays = DAYS_IN_MONTH[month]; - if (month === 1 && isLeapYear(year)) { - maxDays = 29; - } - if (day > maxDays) { - throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`); - } - }; - var isLeapYear = (year) => { - return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); - }; - var parseDateValue = (value, type, lower, upper) => { - const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value)); - if (dateVal < lower || dateVal > upper) { - throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); - } - return dateVal; - }; - var parseMilliseconds = (value) => { - if (value === null || value === void 0) { - return 0; - } - return (0, parse_utils_1.strictParseFloat32)("0." + value) * 1e3; - }; - var parseOffsetToMilliseconds = (value) => { - const directionStr = value[0]; - let direction = 1; - if (directionStr == "+") { - direction = 1; - } else if (directionStr == "-") { - direction = -1; - } else { - throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); - } - const hour = Number(value.substring(1, 3)); - const minute = Number(value.substring(4, 6)); - return direction * (hour * 60 + minute) * 60 * 1e3; - }; - var stripLeadingZeroes = (value) => { - let idx = 0; - while (idx < value.length - 1 && value.charAt(idx) === "0") { - idx++; - } - if (idx === 0) { - return value; - } - return value.slice(idx); - }; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js -var require_exceptions = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.decorateServiceException = exports.ServiceException = void 0; - var ServiceException = class _ServiceException extends Error { - constructor(options) { - super(options.message); - Object.setPrototypeOf(this, _ServiceException.prototype); - this.name = options.name; - this.$fault = options.$fault; - this.$metadata = options.$metadata; - } - }; - exports.ServiceException = ServiceException; - var decorateServiceException = (exception, additions = {}) => { - Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => { - if (exception[k] == void 0 || exception[k] === "") { - exception[k] = v; - } - }); - const message = exception.message || exception.Message || "UnknownError"; - exception.message = message; - delete exception.Message; - return exception; - }; - exports.decorateServiceException = decorateServiceException; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js -var require_default_error_handler = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.withBaseException = exports.throwDefaultError = void 0; - var exceptions_1 = require_exceptions(); - var throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => { - const $metadata = deserializeMetadata(output); - const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0; - const response = new exceptionCtor({ - name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || "UnknownError", - $fault: "client", - $metadata - }); - throw (0, exceptions_1.decorateServiceException)(response, parsedBody); - }; - exports.throwDefaultError = throwDefaultError; - var withBaseException = (ExceptionCtor) => { - return ({ output, parsedBody, errorCode }) => { - (0, exports.throwDefaultError)({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); - }; - }; - exports.withBaseException = withBaseException; - var deserializeMetadata = (output) => { - var _a, _b; - return { - httpStatusCode: output.statusCode, - requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }; - }; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js -var require_defaults_mode = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.loadConfigsForDefaultMode = void 0; - var loadConfigsForDefaultMode = (mode) => { - switch (mode) { - case "standard": - return { - retryMode: "standard", - connectionTimeout: 3100 - }; - case "in-region": - return { - retryMode: "standard", - connectionTimeout: 1100 - }; - case "cross-region": - return { - retryMode: "standard", - connectionTimeout: 3100 - }; - case "mobile": - return { - retryMode: "standard", - connectionTimeout: 3e4 - }; - default: - return {}; - } - }; - exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js -var require_emitWarningIfUnsupportedVersion = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.emitWarningIfUnsupportedVersion = void 0; - var warningEmitted = false; - var emitWarningIfUnsupportedVersion = (version2) => { - if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 14) { - warningEmitted = true; - } - }; - exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js -var require_extended_encode_uri_component = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.extendedEncodeURIComponent = void 0; - function extendedEncodeURIComponent(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); - } - exports.extendedEncodeURIComponent = extendedEncodeURIComponent; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js -var require_get_array_if_single_item = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getArrayIfSingleItem = void 0; - var getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray]; - exports.getArrayIfSingleItem = getArrayIfSingleItem; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js -var require_get_value_from_text_node = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getValueFromTextNode = void 0; - var getValueFromTextNode = (obj) => { - const textNodeName = "#text"; - for (const key in obj) { - if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) { - obj[key] = obj[key][textNodeName]; - } else if (typeof obj[key] === "object" && obj[key] !== null) { - obj[key] = (0, exports.getValueFromTextNode)(obj[key]); - } - } - return obj; - }; - exports.getValueFromTextNode = getValueFromTextNode; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js -var require_lazy_json = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.LazyJsonString = exports.StringWrapper = void 0; - var StringWrapper = function() { - const Class = Object.getPrototypeOf(this).constructor; - const Constructor = Function.bind.apply(String, [null, ...arguments]); - const instance = new Constructor(); - Object.setPrototypeOf(instance, Class.prototype); - return instance; - }; - exports.StringWrapper = StringWrapper; - exports.StringWrapper.prototype = Object.create(String.prototype, { - constructor: { - value: exports.StringWrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - Object.setPrototypeOf(exports.StringWrapper, String); - var LazyJsonString = class _LazyJsonString extends exports.StringWrapper { - deserializeJSON() { - return JSON.parse(super.toString()); - } - toJSON() { - return super.toString(); - } - static fromObject(object) { - if (object instanceof _LazyJsonString) { - return object; - } else if (object instanceof String || typeof object === "string") { - return new _LazyJsonString(object); - } - return new _LazyJsonString(JSON.stringify(object)); - } - }; - exports.LazyJsonString = LazyJsonString; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js -var require_object_mapping = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.take = exports.convertMap = exports.map = void 0; - function map(arg0, arg1, arg2) { - let target; - let filter; - let instructions; - if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { - target = {}; - instructions = arg0; - } else { - target = arg0; - if (typeof arg1 === "function") { - filter = arg1; - instructions = arg2; - return mapWithFilter(target, filter, instructions); - } else { - instructions = arg1; - } - } - for (const key of Object.keys(instructions)) { - if (!Array.isArray(instructions[key])) { - target[key] = instructions[key]; - continue; - } - applyInstruction(target, null, instructions, key); - } - return target; - } - exports.map = map; - var convertMap = (target) => { - const output = {}; - for (const [k, v] of Object.entries(target || {})) { - output[k] = [, v]; - } - return output; - }; - exports.convertMap = convertMap; - var take = (source, instructions) => { - const out = {}; - for (const key in instructions) { - applyInstruction(out, source, instructions, key); - } - return out; - }; - exports.take = take; - var mapWithFilter = (target, filter, instructions) => { - return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => { - if (Array.isArray(value)) { - _instructions[key] = value; - } else { - if (typeof value === "function") { - _instructions[key] = [filter, value()]; - } else { - _instructions[key] = [filter, value]; - } - } - return _instructions; - }, {})); - }; - var applyInstruction = (target, source, instructions, targetKey) => { - if (source !== null) { - let instruction = instructions[targetKey]; - if (typeof instruction === "function") { - instruction = [, instruction]; - } - const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; - if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) { - target[targetKey] = valueFn(source[sourceKey]); - } - return; - } - let [filter, value] = instructions[targetKey]; - if (typeof value === "function") { - let _value; - const defaultFilterPassed = filter === void 0 && (_value = value()) != null; - const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter; - if (defaultFilterPassed) { - target[targetKey] = _value; - } else if (customFilterPassed) { - target[targetKey] = value(); - } - } else { - const defaultFilterPassed = filter === void 0 && value != null; - const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter; - if (defaultFilterPassed || customFilterPassed) { - target[targetKey] = value; - } - } - }; - var nonNullish = (_) => _ != null; - var pass = (_) => _; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js -var require_resolve_path = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolvedPath = void 0; - var extended_encode_uri_component_1 = require_extended_encode_uri_component(); - var resolvedPath = (resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { - if (input != null && input[memberName] !== void 0) { - const labelValue = labelValueProvider(); - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: " + memberName + "."); - } - resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment)).join("/") : (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: " + memberName + "."); - } - return resolvedPath2; - }; - exports.resolvedPath = resolvedPath; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js -var require_ser_utils = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.serializeFloat = void 0; - var serializeFloat = (value) => { - if (value !== value) { - return "NaN"; - } - switch (value) { - case Infinity: - return "Infinity"; - case -Infinity: - return "-Infinity"; - default: - return value; - } - }; - exports.serializeFloat = serializeFloat; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js -var require_serde_json = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports._json = void 0; - var _json = (obj) => { - if (obj == null) { - return {}; - } - if (Array.isArray(obj)) { - return obj.filter((_) => _ != null); - } - if (typeof obj === "object") { - const target = {}; - for (const key of Object.keys(obj)) { - if (obj[key] == null) { - continue; - } - target[key] = (0, exports._json)(obj[key]); - } - return target; - } - return obj; - }; - exports._json = _json; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js -var require_split_every = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.splitEvery = void 0; - function splitEvery(value, delimiter, numDelimiters) { - if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { - throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); - } - const segments = value.split(delimiter); - if (numDelimiters === 1) { - return segments; - } - const compoundSegments = []; - let currentSegment = ""; - for (let i = 0; i < segments.length; i++) { - if (currentSegment === "") { - currentSegment = segments[i]; - } else { - currentSegment += delimiter + segments[i]; - } - if ((i + 1) % numDelimiters === 0) { - compoundSegments.push(currentSegment); - currentSegment = ""; - } - } - if (currentSegment !== "") { - compoundSegments.push(currentSegment); - } - return compoundSegments; - } - exports.splitEvery = splitEvery; - } -}); - -// ../../../node_modules/@smithy/smithy-client/dist-cjs/index.js -var require_dist_cjs35 = __commonJS({ - "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_NoOpLogger(), exports); - tslib_1.__exportStar(require_client3(), exports); - tslib_1.__exportStar(require_collect_stream_body(), exports); - tslib_1.__exportStar(require_command3(), exports); - tslib_1.__exportStar(require_constants6(), exports); - tslib_1.__exportStar(require_create_aggregated_client(), exports); - tslib_1.__exportStar(require_date_utils(), exports); - tslib_1.__exportStar(require_default_error_handler(), exports); - tslib_1.__exportStar(require_defaults_mode(), exports); - tslib_1.__exportStar(require_emitWarningIfUnsupportedVersion(), exports); - tslib_1.__exportStar(require_exceptions(), exports); - tslib_1.__exportStar(require_extended_encode_uri_component(), exports); - tslib_1.__exportStar(require_get_array_if_single_item(), exports); - tslib_1.__exportStar(require_get_value_from_text_node(), exports); - tslib_1.__exportStar(require_lazy_json(), exports); - tslib_1.__exportStar(require_object_mapping(), exports); - tslib_1.__exportStar(require_parse_utils(), exports); - tslib_1.__exportStar(require_resolve_path(), exports); - tslib_1.__exportStar(require_ser_utils(), exports); - tslib_1.__exportStar(require_serde_json(), exports); - tslib_1.__exportStar(require_split_every(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - defaultSigningName: "states" - }; - }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/package.json -var require_package = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/package.json"(exports, module2) { - module2.exports = { - name: "@aws-sdk/client-sfn", - description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.378.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sfn" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.378.0", - "@aws-sdk/credential-provider-node": "3.378.0", - "@aws-sdk/middleware-host-header": "3.378.0", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-signing": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.378.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.378.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sfn" - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js -var require_dist_cjs36 = __commonJS({ - "../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveStsAuthConfig = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({ - ...input, - stsClientCtor - }); - exports.resolveStsAuthConfig = resolveStsAuthConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - useGlobalEndpoint: options.useGlobalEndpoint ?? false, - defaultSigningName: "sts" - }; - }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/package.json -var require_package2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/package.json"(exports, module2) { - module2.exports = { - name: "@aws-sdk/client-sts", - description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.378.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sts", - test: "yarn test:unit", - "test:unit": "jest" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.378.0", - "@aws-sdk/middleware-host-header": "3.378.0", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-sdk-sts": "3.378.0", - "@aws-sdk/middleware-signing": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.378.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.378.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "fast-xml-parser": "4.2.5", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sts" - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js -var require_STSServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.STSServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var STSServiceException = class _STSServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _STSServiceException.prototype); - } - }; - exports.STSServiceException = STSServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js -var require_models_0 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetSessionTokenResponseFilterSensitiveLog = exports.GetFederationTokenResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports.AssumeRoleResponseFilterSensitiveLog = exports.CredentialsFilterSensitiveLog = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = void 0; - var smithy_client_1 = require_dist_cjs35(); - var STSServiceException_1 = require_STSServiceException(); - var ExpiredTokenException = class _ExpiredTokenException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "ExpiredTokenException", - $fault: "client", - ...opts - }); - this.name = "ExpiredTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExpiredTokenException.prototype); - } - }; - exports.ExpiredTokenException = ExpiredTokenException; - var MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "MalformedPolicyDocumentException", - $fault: "client", - ...opts - }); - this.name = "MalformedPolicyDocumentException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype); - } - }; - exports.MalformedPolicyDocumentException = MalformedPolicyDocumentException; - var PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "PackedPolicyTooLargeException", - $fault: "client", - ...opts - }); - this.name = "PackedPolicyTooLargeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype); - } - }; - exports.PackedPolicyTooLargeException = PackedPolicyTooLargeException; - var RegionDisabledException = class _RegionDisabledException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "RegionDisabledException", - $fault: "client", - ...opts - }); - this.name = "RegionDisabledException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _RegionDisabledException.prototype); - } - }; - exports.RegionDisabledException = RegionDisabledException; - var IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "IDPRejectedClaimException", - $fault: "client", - ...opts - }); - this.name = "IDPRejectedClaimException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype); - } - }; - exports.IDPRejectedClaimException = IDPRejectedClaimException; - var InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "InvalidIdentityTokenException", - $fault: "client", - ...opts - }); - this.name = "InvalidIdentityTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype); - } - }; - exports.InvalidIdentityTokenException = InvalidIdentityTokenException; - var IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "IDPCommunicationErrorException", - $fault: "client", - ...opts - }); - this.name = "IDPCommunicationErrorException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype); - } - }; - exports.IDPCommunicationErrorException = IDPCommunicationErrorException; - var InvalidAuthorizationMessageException = class _InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException { - constructor(opts) { - super({ - name: "InvalidAuthorizationMessageException", - $fault: "client", - ...opts - }); - this.name = "InvalidAuthorizationMessageException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidAuthorizationMessageException.prototype); - } - }; - exports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException; - var CredentialsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.SecretAccessKey && { SecretAccessKey: smithy_client_1.SENSITIVE_STRING } - }); - exports.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog; - var AssumeRoleResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog; - var AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.SAMLAssertion && { SAMLAssertion: smithy_client_1.SENSITIVE_STRING } - }); - exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog; - var AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog; - var AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.WebIdentityToken && { WebIdentityToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog; - var AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog; - var GetFederationTokenResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog; - var GetSessionTokenResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } - }); - exports.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog; - } -}); - -// ../../../node_modules/fast-xml-parser/src/util.js -var require_util4 = __commonJS({ - "../../../node_modules/fast-xml-parser/src/util.js"(exports) { - "use strict"; - var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; - var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; - var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; - var regexName = new RegExp("^" + nameRegexp + "$"); - var getAllMatches = function(string, regex) { - const matches = []; - let match = regex.exec(string); - while (match) { - const allmatches = []; - allmatches.startIndex = regex.lastIndex - match[0].length; - const len = match.length; - for (let index = 0; index < len; index++) { - allmatches.push(match[index]); - } - matches.push(allmatches); - match = regex.exec(string); - } - return matches; - }; - var isName = function(string) { - const match = regexName.exec(string); - return !(match === null || typeof match === "undefined"); - }; - exports.isExist = function(v) { - return typeof v !== "undefined"; - }; - exports.isEmptyObject = function(obj) { - return Object.keys(obj).length === 0; - }; - exports.merge = function(target, a, arrayMode) { - if (a) { - const keys = Object.keys(a); - const len = keys.length; - for (let i = 0; i < len; i++) { - if (arrayMode === "strict") { - target[keys[i]] = [a[keys[i]]]; - } else { - target[keys[i]] = a[keys[i]]; - } - } - } - }; - exports.getValue = function(v) { - if (exports.isExist(v)) { - return v; - } else { - return ""; - } - }; - exports.isName = isName; - exports.getAllMatches = getAllMatches; - exports.nameRegexp = nameRegexp; - } -}); - -// ../../../node_modules/fast-xml-parser/src/validator.js -var require_validator = __commonJS({ - "../../../node_modules/fast-xml-parser/src/validator.js"(exports) { - "use strict"; - var util = require_util4(); - var defaultOptions = { - allowBooleanAttributes: false, - //A tag can have attributes without any value - unpairedTags: [] - }; - exports.validate = function(xmlData, options) { - options = Object.assign({}, defaultOptions, options); - const tags = []; - let tagFound = false; - let reachedRoot = false; - if (xmlData[0] === "\uFEFF") { - xmlData = xmlData.substr(1); - } - for (let i = 0; i < xmlData.length; i++) { - if (xmlData[i] === "<" && xmlData[i + 1] === "?") { - i += 2; - i = readPI(xmlData, i); - if (i.err) - return i; - } else if (xmlData[i] === "<") { - let tagStartPos = i; - i++; - if (xmlData[i] === "!") { - i = readCommentAndCDATA(xmlData, i); - continue; - } else { - let closingTag = false; - if (xmlData[i] === "/") { - closingTag = true; - i++; - } - let tagName = ""; - for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) { - tagName += xmlData[i]; - } - tagName = tagName.trim(); - if (tagName[tagName.length - 1] === "/") { - tagName = tagName.substring(0, tagName.length - 1); - i--; - } - if (!validateTagName(tagName)) { - let msg; - if (tagName.trim().length === 0) { - msg = "Invalid space after '<'."; - } else { - msg = "Tag '" + tagName + "' is an invalid name."; - } - return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i)); - } - const result = readAttributeStr(xmlData, i); - if (result === false) { - return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i)); - } - let attrStr = result.value; - i = result.index; - if (attrStr[attrStr.length - 1] === "/") { - const attrStrStart = i - attrStr.length; - attrStr = attrStr.substring(0, attrStr.length - 1); - const isValid = validateAttributeString(attrStr, options); - if (isValid === true) { - tagFound = true; - } else { - return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); - } - } else if (closingTag) { - if (!result.tagClosed) { - return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); - } else if (attrStr.trim().length > 0) { - return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); - } else { - const otg = tags.pop(); - if (tagName !== otg.tagName) { - let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); - return getErrorObject( - "InvalidTag", - "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", - getLineNumberForPosition(xmlData, tagStartPos) - ); - } - if (tags.length == 0) { - reachedRoot = true; - } - } - } else { - const isValid = validateAttributeString(attrStr, options); - if (isValid !== true) { - return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); - } - if (reachedRoot === true) { - return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i)); - } else if (options.unpairedTags.indexOf(tagName) !== -1) { - } else { - tags.push({ tagName, tagStartPos }); - } - tagFound = true; - } - for (i++; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - if (xmlData[i + 1] === "!") { - i++; - i = readCommentAndCDATA(xmlData, i); - continue; - } else if (xmlData[i + 1] === "?") { - i = readPI(xmlData, ++i); - if (i.err) - return i; - } else { - break; - } - } else if (xmlData[i] === "&") { - const afterAmp = validateAmpersand(xmlData, i); - if (afterAmp == -1) - return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); - i = afterAmp; - } else { - if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { - return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i)); - } - } - } - if (xmlData[i] === "<") { - i--; - } - } - } else { - if (isWhiteSpace(xmlData[i])) { - continue; - } - return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i)); - } - } - if (!tagFound) { - return getErrorObject("InvalidXml", "Start tag expected.", 1); - } else if (tags.length == 1) { - return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); - } else if (tags.length > 0) { - return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }); - } - return true; - }; - function isWhiteSpace(char) { - return char === " " || char === " " || char === "\n" || char === "\r"; - } - function readPI(xmlData, i) { - const start = i; - for (; i < xmlData.length; i++) { - if (xmlData[i] == "?" || xmlData[i] == " ") { - const tagname = xmlData.substr(start, i - start); - if (i > 5 && tagname === "xml") { - return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i)); - } else if (xmlData[i] == "?" && xmlData[i + 1] == ">") { - i++; - break; - } else { - continue; - } - } - } - return i; - } - function readCommentAndCDATA(xmlData, i) { - if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") { - for (i += 3; i < xmlData.length; i++) { - if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") { - i += 2; - break; - } - } - } else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") { - let angleBracketsCount = 1; - for (i += 8; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - angleBracketsCount++; - } else if (xmlData[i] === ">") { - angleBracketsCount--; - if (angleBracketsCount === 0) { - break; - } - } - } - } else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") { - for (i += 8; i < xmlData.length; i++) { - if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") { - i += 2; - break; - } - } - } - return i; - } - var doubleQuote = '"'; - var singleQuote = "'"; - function readAttributeStr(xmlData, i) { - let attrStr = ""; - let startChar = ""; - let tagClosed = false; - for (; i < xmlData.length; i++) { - if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { - if (startChar === "") { - startChar = xmlData[i]; - } else if (startChar !== xmlData[i]) { - } else { - startChar = ""; - } - } else if (xmlData[i] === ">") { - if (startChar === "") { - tagClosed = true; - break; - } - } - attrStr += xmlData[i]; - } - if (startChar !== "") { - return false; - } - return { - value: attrStr, - index: i, - tagClosed - }; - } - var validAttrStrRegxp = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); - function validateAttributeString(attrStr, options) { - const matches = util.getAllMatches(attrStr, validAttrStrRegxp); - const attrNames = {}; - for (let i = 0; i < matches.length; i++) { - if (matches[i][1].length === 0) { - return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i])); - } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) { - return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i])); - } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) { - return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i])); - } - const attrName = matches[i][2]; - if (!validateAttrName(attrName)) { - return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i])); - } - if (!attrNames.hasOwnProperty(attrName)) { - attrNames[attrName] = 1; - } else { - return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i])); - } - } - return true; - } - function validateNumberAmpersand(xmlData, i) { - let re = /\d/; - if (xmlData[i] === "x") { - i++; - re = /[\da-fA-F]/; - } - for (; i < xmlData.length; i++) { - if (xmlData[i] === ";") - return i; - if (!xmlData[i].match(re)) - break; - } - return -1; - } - function validateAmpersand(xmlData, i) { - i++; - if (xmlData[i] === ";") - return -1; - if (xmlData[i] === "#") { - i++; - return validateNumberAmpersand(xmlData, i); - } - let count = 0; - for (; i < xmlData.length; i++, count++) { - if (xmlData[i].match(/\w/) && count < 20) - continue; - if (xmlData[i] === ";") - break; - return -1; - } - return i; - } - function getErrorObject(code, message, lineNumber) { - return { - err: { - code, - msg: message, - line: lineNumber.line || lineNumber, - col: lineNumber.col - } - }; - } - function validateAttrName(attrName) { - return util.isName(attrName); - } - function validateTagName(tagname) { - return util.isName(tagname); - } - function getLineNumberForPosition(xmlData, index) { - const lines = xmlData.substring(0, index).split(/\r?\n/); - return { - line: lines.length, - // column number is last line's length + 1, because column numbering starts at 1: - col: lines[lines.length - 1].length + 1 - }; - } - function getPositionFromMatch(match) { - return match.startIndex + match[1].length; - } - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js -var require_OptionsBuilder = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(exports) { - var defaultOptions = { - preserveOrder: false, - attributeNamePrefix: "@_", - attributesGroupName: false, - textNodeName: "#text", - ignoreAttributes: true, - removeNSPrefix: false, - // remove NS from tag name or attribute name if true - allowBooleanAttributes: false, - //a tag can have attributes without any value - //ignoreRootElement : false, - parseTagValue: true, - parseAttributeValue: false, - trimValues: true, - //Trim string values of tag and attributes - cdataPropName: false, - numberParseOptions: { - hex: true, - leadingZeros: true, - eNotation: true - }, - tagValueProcessor: function(tagName, val2) { - return val2; - }, - attributeValueProcessor: function(attrName, val2) { - return val2; - }, - stopNodes: [], - //nested tags will not be parsed even for errors - alwaysCreateTextNode: false, - isArray: () => false, - commentPropName: false, - unpairedTags: [], - processEntities: true, - htmlEntities: false, - ignoreDeclaration: false, - ignorePiTags: false, - transformTagName: false, - transformAttributeName: false, - updateTag: function(tagName, jPath, attrs) { - return tagName; - } - // skipEmptyListItem: false - }; - var buildOptions = function(options) { - return Object.assign({}, defaultOptions, options); - }; - exports.buildOptions = buildOptions; - exports.defaultOptions = defaultOptions; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js -var require_xmlNode = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(exports, module2) { - "use strict"; - var XmlNode = class { - constructor(tagname) { - this.tagname = tagname; - this.child = []; - this[":@"] = {}; - } - add(key, val2) { - if (key === "__proto__") - key = "#__proto__"; - this.child.push({ [key]: val2 }); - } - addChild(node) { - if (node.tagname === "__proto__") - node.tagname = "#__proto__"; - if (node[":@"] && Object.keys(node[":@"]).length > 0) { - this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] }); - } else { - this.child.push({ [node.tagname]: node.child }); - } - } - }; - module2.exports = XmlNode; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js -var require_DocTypeReader = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(exports, module2) { - var util = require_util4(); - function readDocType(xmlData, i) { - const entities = {}; - if (xmlData[i + 3] === "O" && xmlData[i + 4] === "C" && xmlData[i + 5] === "T" && xmlData[i + 6] === "Y" && xmlData[i + 7] === "P" && xmlData[i + 8] === "E") { - i = i + 9; - let angleBracketsCount = 1; - let hasBody = false, comment = false; - let exp = ""; - for (; i < xmlData.length; i++) { - if (xmlData[i] === "<" && !comment) { - if (hasBody && isEntity(xmlData, i)) { - i += 7; - [entityName, val, i] = readEntityExp(xmlData, i + 1); - if (val.indexOf("&") === -1) - entities[validateEntityName(entityName)] = { - regx: RegExp(`&${entityName};`, "g"), - val - }; - } else if (hasBody && isElement(xmlData, i)) - i += 8; - else if (hasBody && isAttlist(xmlData, i)) - i += 8; - else if (hasBody && isNotation(xmlData, i)) - i += 9; - else if (isComment) - comment = true; - else - throw new Error("Invalid DOCTYPE"); - angleBracketsCount++; - exp = ""; - } else if (xmlData[i] === ">") { - if (comment) { - if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") { - comment = false; - angleBracketsCount--; - } - } else { - angleBracketsCount--; - } - if (angleBracketsCount === 0) { - break; - } - } else if (xmlData[i] === "[") { - hasBody = true; - } else { - exp += xmlData[i]; - } - } - if (angleBracketsCount !== 0) { - throw new Error(`Unclosed DOCTYPE`); - } - } else { - throw new Error(`Invalid Tag instead of DOCTYPE`); - } - return { entities, i }; - } - function readEntityExp(xmlData, i) { - let entityName2 = ""; - for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"'); i++) { - entityName2 += xmlData[i]; - } - entityName2 = entityName2.trim(); - if (entityName2.indexOf(" ") !== -1) - throw new Error("External entites are not supported"); - const startChar = xmlData[i++]; - let val2 = ""; - for (; i < xmlData.length && xmlData[i] !== startChar; i++) { - val2 += xmlData[i]; - } - return [entityName2, val2, i]; - } - function isComment(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "-" && xmlData[i + 3] === "-") - return true; - return false; - } - function isEntity(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "N" && xmlData[i + 4] === "T" && xmlData[i + 5] === "I" && xmlData[i + 6] === "T" && xmlData[i + 7] === "Y") - return true; - return false; - } - function isElement(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "L" && xmlData[i + 4] === "E" && xmlData[i + 5] === "M" && xmlData[i + 6] === "E" && xmlData[i + 7] === "N" && xmlData[i + 8] === "T") - return true; - return false; - } - function isAttlist(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "A" && xmlData[i + 3] === "T" && xmlData[i + 4] === "T" && xmlData[i + 5] === "L" && xmlData[i + 6] === "I" && xmlData[i + 7] === "S" && xmlData[i + 8] === "T") - return true; - return false; - } - function isNotation(xmlData, i) { - if (xmlData[i + 1] === "!" && xmlData[i + 2] === "N" && xmlData[i + 3] === "O" && xmlData[i + 4] === "T" && xmlData[i + 5] === "A" && xmlData[i + 6] === "T" && xmlData[i + 7] === "I" && xmlData[i + 8] === "O" && xmlData[i + 9] === "N") - return true; - return false; - } - function validateEntityName(name) { - if (util.isName(name)) - return name; - else - throw new Error(`Invalid entity name ${name}`); - } - module2.exports = readDocType; - } -}); - -// ../../../node_modules/strnum/strnum.js -var require_strnum = __commonJS({ - "../../../node_modules/strnum/strnum.js"(exports, module2) { - var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; - var numRegex = /^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/; - if (!Number.parseInt && window.parseInt) { - Number.parseInt = window.parseInt; - } - if (!Number.parseFloat && window.parseFloat) { - Number.parseFloat = window.parseFloat; - } - var consider = { - hex: true, - leadingZeros: true, - decimalPoint: ".", - eNotation: true - //skipLike: /regex/ - }; - function toNumber(str, options = {}) { - options = Object.assign({}, consider, options); - if (!str || typeof str !== "string") - return str; - let trimmedStr = str.trim(); - if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) - return str; - else if (options.hex && hexRegex.test(trimmedStr)) { - return Number.parseInt(trimmedStr, 16); - } else { - const match = numRegex.exec(trimmedStr); - if (match) { - const sign = match[1]; - const leadingZeros = match[2]; - let numTrimmedByZeros = trimZeros(match[3]); - const eNotation = match[4] || match[6]; - if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== ".") - return str; - else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") - return str; - else { - const num = Number(trimmedStr); - const numStr = "" + num; - if (numStr.search(/[eE]/) !== -1) { - if (options.eNotation) - return num; - else - return str; - } else if (eNotation) { - if (options.eNotation) - return num; - else - return str; - } else if (trimmedStr.indexOf(".") !== -1) { - if (numStr === "0" && numTrimmedByZeros === "") - return num; - else if (numStr === numTrimmedByZeros) - return num; - else if (sign && numStr === "-" + numTrimmedByZeros) - return num; - else - return str; - } - if (leadingZeros) { - if (numTrimmedByZeros === numStr) - return num; - else if (sign + numTrimmedByZeros === numStr) - return num; - else - return str; - } - if (trimmedStr === numStr) - return num; - else if (trimmedStr === sign + numStr) - return num; - return str; - } - } else { - return str; - } - } - } - function trimZeros(numStr) { - if (numStr && numStr.indexOf(".") !== -1) { - numStr = numStr.replace(/0+$/, ""); - if (numStr === ".") - numStr = "0"; - else if (numStr[0] === ".") - numStr = "0" + numStr; - else if (numStr[numStr.length - 1] === ".") - numStr = numStr.substr(0, numStr.length - 1); - return numStr; - } - return numStr; - } - module2.exports = toNumber; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js -var require_OrderedObjParser = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(exports, module2) { - "use strict"; - var util = require_util4(); - var xmlNode = require_xmlNode(); - var readDocType = require_DocTypeReader(); - var toNumber = require_strnum(); - var regx = "<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util.nameRegexp); - var OrderedObjParser = class { - constructor(options) { - this.options = options; - this.currentNode = null; - this.tagsNodeStack = []; - this.docTypeEntities = {}; - this.lastEntities = { - "apos": { regex: /&(apos|#39|#x27);/g, val: "'" }, - "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" }, - "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" }, - "quot": { regex: /&(quot|#34|#x22);/g, val: '"' } - }; - this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }; - this.htmlEntities = { - "space": { regex: /&(nbsp|#160);/g, val: " " }, - // "lt" : { regex: /&(lt|#60);/g, val: "<" }, - // "gt" : { regex: /&(gt|#62);/g, val: ">" }, - // "amp" : { regex: /&(amp|#38);/g, val: "&" }, - // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, - // "apos" : { regex: /&(apos|#39);/g, val: "'" }, - "cent": { regex: /&(cent|#162);/g, val: "\xA2" }, - "pound": { regex: /&(pound|#163);/g, val: "\xA3" }, - "yen": { regex: /&(yen|#165);/g, val: "\xA5" }, - "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" }, - "copyright": { regex: /&(copy|#169);/g, val: "\xA9" }, - "reg": { regex: /&(reg|#174);/g, val: "\xAE" }, - "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" } - }; - this.addExternalEntities = addExternalEntities; - this.parseXml = parseXml; - this.parseTextData = parseTextData; - this.resolveNameSpace = resolveNameSpace; - this.buildAttributesMap = buildAttributesMap; - this.isItStopNode = isItStopNode; - this.replaceEntitiesValue = replaceEntitiesValue; - this.readStopNodeData = readStopNodeData; - this.saveTextToParentTag = saveTextToParentTag; - this.addChild = addChild; - } - }; - function addExternalEntities(externalEntities) { - const entKeys = Object.keys(externalEntities); - for (let i = 0; i < entKeys.length; i++) { - const ent = entKeys[i]; - this.lastEntities[ent] = { - regex: new RegExp("&" + ent + ";", "g"), - val: externalEntities[ent] - }; - } - } - function parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { - if (val2 !== void 0) { - if (this.options.trimValues && !dontTrim) { - val2 = val2.trim(); - } - if (val2.length > 0) { - if (!escapeEntities) - val2 = this.replaceEntitiesValue(val2); - const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode); - if (newval === null || newval === void 0) { - return val2; - } else if (typeof newval !== typeof val2 || newval !== val2) { - return newval; - } else if (this.options.trimValues) { - return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); - } else { - const trimmedVal = val2.trim(); - if (trimmedVal === val2) { - return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); - } else { - return val2; - } - } - } - } - } - function resolveNameSpace(tagname) { - if (this.options.removeNSPrefix) { - const tags = tagname.split(":"); - const prefix = tagname.charAt(0) === "/" ? "/" : ""; - if (tags[0] === "xmlns") { - return ""; - } - if (tags.length === 2) { - tagname = prefix + tags[1]; - } - } - return tagname; - } - var attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); - function buildAttributesMap(attrStr, jPath, tagName) { - if (!this.options.ignoreAttributes && typeof attrStr === "string") { - const matches = util.getAllMatches(attrStr, attrsRegx); - const len = matches.length; - const attrs = {}; - for (let i = 0; i < len; i++) { - const attrName = this.resolveNameSpace(matches[i][1]); - let oldVal = matches[i][4]; - let aName = this.options.attributeNamePrefix + attrName; - if (attrName.length) { - if (this.options.transformAttributeName) { - aName = this.options.transformAttributeName(aName); - } - if (aName === "__proto__") - aName = "#__proto__"; - if (oldVal !== void 0) { - if (this.options.trimValues) { - oldVal = oldVal.trim(); - } - oldVal = this.replaceEntitiesValue(oldVal); - const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); - if (newVal === null || newVal === void 0) { - attrs[aName] = oldVal; - } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) { - attrs[aName] = newVal; - } else { - attrs[aName] = parseValue( - oldVal, - this.options.parseAttributeValue, - this.options.numberParseOptions - ); - } - } else if (this.options.allowBooleanAttributes) { - attrs[aName] = true; - } - } - } - if (!Object.keys(attrs).length) { - return; - } - if (this.options.attributesGroupName) { - const attrCollection = {}; - attrCollection[this.options.attributesGroupName] = attrs; - return attrCollection; - } - return attrs; - } - } - var parseXml = function(xmlData) { - xmlData = xmlData.replace(/\r\n?/g, "\n"); - const xmlObj = new xmlNode("!xml"); - let currentNode = xmlObj; - let textData = ""; - let jPath = ""; - for (let i = 0; i < xmlData.length; i++) { - const ch = xmlData[i]; - if (ch === "<") { - if (xmlData[i + 1] === "/") { - const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed."); - let tagName = xmlData.substring(i + 2, closeIndex).trim(); - if (this.options.removeNSPrefix) { - const colonIndex = tagName.indexOf(":"); - if (colonIndex !== -1) { - tagName = tagName.substr(colonIndex + 1); - } - } - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); - } - if (currentNode) { - textData = this.saveTextToParentTag(textData, currentNode, jPath); - } - const lastTagName = jPath.substring(jPath.lastIndexOf(".") + 1); - if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) { - throw new Error(`Unpaired tag can not be used as closing tag: `); - } - let propIndex = 0; - if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) { - propIndex = jPath.lastIndexOf(".", jPath.lastIndexOf(".") - 1); - this.tagsNodeStack.pop(); - } else { - propIndex = jPath.lastIndexOf("."); - } - jPath = jPath.substring(0, propIndex); - currentNode = this.tagsNodeStack.pop(); - textData = ""; - i = closeIndex; - } else if (xmlData[i + 1] === "?") { - let tagData = readTagExp(xmlData, i, false, "?>"); - if (!tagData) - throw new Error("Pi Tag is not closed."); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) { - } else { - const childNode = new xmlNode(tagData.tagName); - childNode.add(this.options.textNodeName, ""); - if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName); - } - this.addChild(currentNode, childNode, jPath); - } - i = tagData.closeIndex + 1; - } else if (xmlData.substr(i + 1, 3) === "!--") { - const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed."); - if (this.options.commentPropName) { - const comment = xmlData.substring(i + 4, endIndex - 2); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]); - } - i = endIndex; - } else if (xmlData.substr(i + 1, 2) === "!D") { - const result = readDocType(xmlData, i); - this.docTypeEntities = result.entities; - i = result.i; - } else if (xmlData.substr(i + 1, 2) === "![") { - const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; - const tagExp = xmlData.substring(i + 9, closeIndex); - textData = this.saveTextToParentTag(textData, currentNode, jPath); - if (this.options.cdataPropName) { - currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]); - } else { - let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true); - if (val2 == void 0) - val2 = ""; - currentNode.add(this.options.textNodeName, val2); - } - i = closeIndex + 2; - } else { - let result = readTagExp(xmlData, i, this.options.removeNSPrefix); - let tagName = result.tagName; - let tagExp = result.tagExp; - let attrExpPresent = result.attrExpPresent; - let closeIndex = result.closeIndex; - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); - } - if (currentNode && textData) { - if (currentNode.tagname !== "!xml") { - textData = this.saveTextToParentTag(textData, currentNode, jPath, false); - } - } - const lastTag = currentNode; - if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) { - currentNode = this.tagsNodeStack.pop(); - jPath = jPath.substring(0, jPath.lastIndexOf(".")); - } - if (tagName !== xmlObj.tagname) { - jPath += jPath ? "." + tagName : tagName; - } - if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { - let tagContent = ""; - if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { - i = result.closeIndex; - } else if (this.options.unpairedTags.indexOf(tagName) !== -1) { - i = result.closeIndex; - } else { - const result2 = this.readStopNodeData(xmlData, tagName, closeIndex + 1); - if (!result2) - throw new Error(`Unexpected end of ${tagName}`); - i = result2.i; - tagContent = result2.tagContent; - } - const childNode = new xmlNode(tagName); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - if (tagContent) { - tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); - } - jPath = jPath.substr(0, jPath.lastIndexOf(".")); - childNode.add(this.options.textNodeName, tagContent); - this.addChild(currentNode, childNode, jPath); - } else { - if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { - if (tagName[tagName.length - 1] === "/") { - tagName = tagName.substr(0, tagName.length - 1); - tagExp = tagName; - } else { - tagExp = tagExp.substr(0, tagExp.length - 1); - } - if (this.options.transformTagName) { - tagName = this.options.transformTagName(tagName); - } - const childNode = new xmlNode(tagName); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - this.addChild(currentNode, childNode, jPath); - jPath = jPath.substr(0, jPath.lastIndexOf(".")); - } else { - const childNode = new xmlNode(tagName); - this.tagsNodeStack.push(currentNode); - if (tagName !== tagExp && attrExpPresent) { - childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); - } - this.addChild(currentNode, childNode, jPath); - currentNode = childNode; - } - textData = ""; - i = closeIndex; - } - } - } else { - textData += xmlData[i]; - } - } - return xmlObj.child; - }; - function addChild(currentNode, childNode, jPath) { - const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]); - if (result === false) { - } else if (typeof result === "string") { - childNode.tagname = result; - currentNode.addChild(childNode); - } else { - currentNode.addChild(childNode); - } - } - var replaceEntitiesValue = function(val2) { - if (this.options.processEntities) { - for (let entityName2 in this.docTypeEntities) { - const entity = this.docTypeEntities[entityName2]; - val2 = val2.replace(entity.regx, entity.val); - } - for (let entityName2 in this.lastEntities) { - const entity = this.lastEntities[entityName2]; - val2 = val2.replace(entity.regex, entity.val); - } - if (this.options.htmlEntities) { - for (let entityName2 in this.htmlEntities) { - const entity = this.htmlEntities[entityName2]; - val2 = val2.replace(entity.regex, entity.val); - } - } - val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val); - } - return val2; - }; - function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { - if (textData) { - if (isLeafNode === void 0) - isLeafNode = Object.keys(currentNode.child).length === 0; - textData = this.parseTextData( - textData, - currentNode.tagname, - jPath, - false, - currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, - isLeafNode - ); - if (textData !== void 0 && textData !== "") - currentNode.add(this.options.textNodeName, textData); - textData = ""; - } - return textData; - } - function isItStopNode(stopNodes, jPath, currentTagName) { - const allNodesExp = "*." + currentTagName; - for (const stopNodePath in stopNodes) { - const stopNodeExp = stopNodes[stopNodePath]; - if (allNodesExp === stopNodeExp || jPath === stopNodeExp) - return true; - } - return false; - } - function tagExpWithClosingIndex(xmlData, i, closingChar = ">") { - let attrBoundary; - let tagExp = ""; - for (let index = i; index < xmlData.length; index++) { - let ch = xmlData[index]; - if (attrBoundary) { - if (ch === attrBoundary) - attrBoundary = ""; - } else if (ch === '"' || ch === "'") { - attrBoundary = ch; - } else if (ch === closingChar[0]) { - if (closingChar[1]) { - if (xmlData[index + 1] === closingChar[1]) { - return { - data: tagExp, - index - }; - } - } else { - return { - data: tagExp, - index - }; - } - } else if (ch === " ") { - ch = " "; - } - tagExp += ch; - } - } - function findClosingIndex(xmlData, str, i, errMsg) { - const closingIndex = xmlData.indexOf(str, i); - if (closingIndex === -1) { - throw new Error(errMsg); - } else { - return closingIndex + str.length - 1; - } - } - function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") { - const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar); - if (!result) - return; - let tagExp = result.data; - const closeIndex = result.index; - const separatorIndex = tagExp.search(/\s/); - let tagName = tagExp; - let attrExpPresent = true; - if (separatorIndex !== -1) { - tagName = tagExp.substr(0, separatorIndex).replace(/\s\s*$/, ""); - tagExp = tagExp.substr(separatorIndex + 1); - } - if (removeNSPrefix) { - const colonIndex = tagName.indexOf(":"); - if (colonIndex !== -1) { - tagName = tagName.substr(colonIndex + 1); - attrExpPresent = tagName !== result.data.substr(colonIndex + 1); - } - } - return { - tagName, - tagExp, - closeIndex, - attrExpPresent - }; - } - function readStopNodeData(xmlData, tagName, i) { - const startIndex = i; - let openTagCount = 1; - for (; i < xmlData.length; i++) { - if (xmlData[i] === "<") { - if (xmlData[i + 1] === "/") { - const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); - let closeTagName = xmlData.substring(i + 2, closeIndex).trim(); - if (closeTagName === tagName) { - openTagCount--; - if (openTagCount === 0) { - return { - tagContent: xmlData.substring(startIndex, i), - i: closeIndex - }; - } - } - i = closeIndex; - } else if (xmlData[i + 1] === "?") { - const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed."); - i = closeIndex; - } else if (xmlData.substr(i + 1, 3) === "!--") { - const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed."); - i = closeIndex; - } else if (xmlData.substr(i + 1, 2) === "![") { - const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; - i = closeIndex; - } else { - const tagData = readTagExp(xmlData, i, ">"); - if (tagData) { - const openTagName = tagData && tagData.tagName; - if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") { - openTagCount++; - } - i = tagData.closeIndex; - } - } - } - } - } - function parseValue(val2, shouldParse, options) { - if (shouldParse && typeof val2 === "string") { - const newval = val2.trim(); - if (newval === "true") - return true; - else if (newval === "false") - return false; - else - return toNumber(val2, options); - } else { - if (util.isExist(val2)) { - return val2; - } else { - return ""; - } - } - } - module2.exports = OrderedObjParser; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js -var require_node2json = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js"(exports) { - "use strict"; - function prettify(node, options) { - return compress(node, options); - } - function compress(arr, options, jPath) { - let text; - const compressedObj = {}; - for (let i = 0; i < arr.length; i++) { - const tagObj = arr[i]; - const property = propName(tagObj); - let newJpath = ""; - if (jPath === void 0) - newJpath = property; - else - newJpath = jPath + "." + property; - if (property === options.textNodeName) { - if (text === void 0) - text = tagObj[property]; - else - text += "" + tagObj[property]; - } else if (property === void 0) { - continue; - } else if (tagObj[property]) { - let val2 = compress(tagObj[property], options, newJpath); - const isLeaf = isLeafTag(val2, options); - if (tagObj[":@"]) { - assignAttributes(val2, tagObj[":@"], newJpath, options); - } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) { - val2 = val2[options.textNodeName]; - } else if (Object.keys(val2).length === 0) { - if (options.alwaysCreateTextNode) - val2[options.textNodeName] = ""; - else - val2 = ""; - } - if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) { - if (!Array.isArray(compressedObj[property])) { - compressedObj[property] = [compressedObj[property]]; - } - compressedObj[property].push(val2); - } else { - if (options.isArray(property, newJpath, isLeaf)) { - compressedObj[property] = [val2]; - } else { - compressedObj[property] = val2; - } - } - } - } - if (typeof text === "string") { - if (text.length > 0) - compressedObj[options.textNodeName] = text; - } else if (text !== void 0) - compressedObj[options.textNodeName] = text; - return compressedObj; - } - function propName(obj) { - const keys = Object.keys(obj); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key !== ":@") - return key; - } - } - function assignAttributes(obj, attrMap, jpath, options) { - if (attrMap) { - const keys = Object.keys(attrMap); - const len = keys.length; - for (let i = 0; i < len; i++) { - const atrrName = keys[i]; - if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { - obj[atrrName] = [attrMap[atrrName]]; - } else { - obj[atrrName] = attrMap[atrrName]; - } - } - } - } - function isLeafTag(obj, options) { - const { textNodeName } = options; - const propCount = Object.keys(obj).length; - if (propCount === 0) { - return true; - } - if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) { - return true; - } - return false; - } - exports.prettify = prettify; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js -var require_XMLParser = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(exports, module2) { - var { buildOptions } = require_OptionsBuilder(); - var OrderedObjParser = require_OrderedObjParser(); - var { prettify } = require_node2json(); - var validator = require_validator(); - var XMLParser = class { - constructor(options) { - this.externalEntities = {}; - this.options = buildOptions(options); - } - /** - * Parse XML dats to JS object - * @param {string|Buffer} xmlData - * @param {boolean|Object} validationOption - */ - parse(xmlData, validationOption) { - if (typeof xmlData === "string") { - } else if (xmlData.toString) { - xmlData = xmlData.toString(); - } else { - throw new Error("XML data is accepted in String or Bytes[] form."); - } - if (validationOption) { - if (validationOption === true) - validationOption = {}; - const result = validator.validate(xmlData, validationOption); - if (result !== true) { - throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`); - } - } - const orderedObjParser = new OrderedObjParser(this.options); - orderedObjParser.addExternalEntities(this.externalEntities); - const orderedResult = orderedObjParser.parseXml(xmlData); - if (this.options.preserveOrder || orderedResult === void 0) - return orderedResult; - else - return prettify(orderedResult, this.options); - } - /** - * Add Entity which is not by default supported by this library - * @param {string} key - * @param {string} value - */ - addEntity(key, value) { - if (value.indexOf("&") !== -1) { - throw new Error("Entity value can't have '&'"); - } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) { - throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); - } else if (value === "&") { - throw new Error("An entity with value '&' is not permitted"); - } else { - this.externalEntities[key] = value; - } - } - }; - module2.exports = XMLParser; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js -var require_orderedJs2Xml = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports, module2) { - var EOL = "\n"; - function toXml(jArray, options) { - let indentation = ""; - if (options.format && options.indentBy.length > 0) { - indentation = EOL; - } - return arrToStr(jArray, options, "", indentation); - } - function arrToStr(arr, options, jPath, indentation) { - let xmlStr = ""; - let isPreviousElementTag = false; - for (let i = 0; i < arr.length; i++) { - const tagObj = arr[i]; - const tagName = propName(tagObj); - let newJPath = ""; - if (jPath.length === 0) - newJPath = tagName; - else - newJPath = `${jPath}.${tagName}`; - if (tagName === options.textNodeName) { - let tagText = tagObj[tagName]; - if (!isStopNode(newJPath, options)) { - tagText = options.tagValueProcessor(tagName, tagText); - tagText = replaceEntitiesValue(tagText, options); - } - if (isPreviousElementTag) { - xmlStr += indentation; - } - xmlStr += tagText; - isPreviousElementTag = false; - continue; - } else if (tagName === options.cdataPropName) { - if (isPreviousElementTag) { - xmlStr += indentation; - } - xmlStr += ``; - isPreviousElementTag = false; - continue; - } else if (tagName === options.commentPropName) { - xmlStr += indentation + ``; - isPreviousElementTag = true; - continue; - } else if (tagName[0] === "?") { - const attStr2 = attr_to_str(tagObj[":@"], options); - const tempInd = tagName === "?xml" ? "" : indentation; - let piTextNodeName = tagObj[tagName][0][options.textNodeName]; - piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; - xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`; - isPreviousElementTag = true; - continue; - } - let newIdentation = indentation; - if (newIdentation !== "") { - newIdentation += options.indentBy; - } - const attStr = attr_to_str(tagObj[":@"], options); - const tagStart = indentation + `<${tagName}${attStr}`; - const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); - if (options.unpairedTags.indexOf(tagName) !== -1) { - if (options.suppressUnpairedNode) - xmlStr += tagStart + ">"; - else - xmlStr += tagStart + "/>"; - } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { - xmlStr += tagStart + "/>"; - } else if (tagValue && tagValue.endsWith(">")) { - xmlStr += tagStart + `>${tagValue}${indentation}`; - } else { - xmlStr += tagStart + ">"; - if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("`; - } - isPreviousElementTag = true; - } - return xmlStr; - } - function propName(obj) { - const keys = Object.keys(obj); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key !== ":@") - return key; - } - } - function attr_to_str(attrMap, options) { - let attrStr = ""; - if (attrMap && !options.ignoreAttributes) { - for (let attr in attrMap) { - let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); - attrVal = replaceEntitiesValue(attrVal, options); - if (attrVal === true && options.suppressBooleanAttributes) { - attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; - } else { - attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; - } - } - } - return attrStr; - } - function isStopNode(jPath, options) { - jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); - let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); - for (let index in options.stopNodes) { - if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) - return true; - } - return false; - } - function replaceEntitiesValue(textValue, options) { - if (textValue && textValue.length > 0 && options.processEntities) { - for (let i = 0; i < options.entities.length; i++) { - const entity = options.entities[i]; - textValue = textValue.replace(entity.regex, entity.val); - } - } - return textValue; - } - module2.exports = toXml; - } -}); - -// ../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js -var require_json2xml = __commonJS({ - "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(exports, module2) { - "use strict"; - var buildFromOrderedJs = require_orderedJs2Xml(); - var defaultOptions = { - attributeNamePrefix: "@_", - attributesGroupName: false, - textNodeName: "#text", - ignoreAttributes: true, - cdataPropName: false, - format: false, - indentBy: " ", - suppressEmptyNode: false, - suppressUnpairedNode: true, - suppressBooleanAttributes: true, - tagValueProcessor: function(key, a) { - return a; - }, - attributeValueProcessor: function(attrName, a) { - return a; - }, - preserveOrder: false, - commentPropName: false, - unpairedTags: [], - entities: [ - { regex: new RegExp("&", "g"), val: "&" }, - //it must be on top - { regex: new RegExp(">", "g"), val: ">" }, - { regex: new RegExp("<", "g"), val: "<" }, - { regex: new RegExp("'", "g"), val: "'" }, - { regex: new RegExp('"', "g"), val: """ } - ], - processEntities: true, - stopNodes: [], - // transformTagName: false, - // transformAttributeName: false, - oneListGroup: false - }; - function Builder(options) { - this.options = Object.assign({}, defaultOptions, options); - if (this.options.ignoreAttributes || this.options.attributesGroupName) { - this.isAttribute = function() { - return false; - }; - } else { - this.attrPrefixLen = this.options.attributeNamePrefix.length; - this.isAttribute = isAttribute; - } - this.processTextOrObjNode = processTextOrObjNode; - if (this.options.format) { - this.indentate = indentate; - this.tagEndChar = ">\n"; - this.newLine = "\n"; - } else { - this.indentate = function() { - return ""; - }; - this.tagEndChar = ">"; - this.newLine = ""; - } - } - Builder.prototype.build = function(jObj) { - if (this.options.preserveOrder) { - return buildFromOrderedJs(jObj, this.options); - } else { - if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) { - jObj = { - [this.options.arrayNodeName]: jObj - }; - } - return this.j2x(jObj, 0).val; - } - }; - Builder.prototype.j2x = function(jObj, level) { - let attrStr = ""; - let val2 = ""; - for (let key in jObj) { - if (typeof jObj[key] === "undefined") { - } else if (jObj[key] === null) { - if (key[0] === "?") - val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; - else - val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; - } else if (jObj[key] instanceof Date) { - val2 += this.buildTextValNode(jObj[key], key, "", level); - } else if (typeof jObj[key] !== "object") { - const attr = this.isAttribute(key); - if (attr) { - attrStr += this.buildAttrPairStr(attr, "" + jObj[key]); - } else { - if (key === this.options.textNodeName) { - let newval = this.options.tagValueProcessor(key, "" + jObj[key]); - val2 += this.replaceEntitiesValue(newval); - } else { - val2 += this.buildTextValNode(jObj[key], key, "", level); - } - } - } else if (Array.isArray(jObj[key])) { - const arrLen = jObj[key].length; - let listTagVal = ""; - for (let j = 0; j < arrLen; j++) { - const item = jObj[key][j]; - if (typeof item === "undefined") { - } else if (item === null) { - if (key[0] === "?") - val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; - else - val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; - } else if (typeof item === "object") { - if (this.options.oneListGroup) { - listTagVal += this.j2x(item, level + 1).val; - } else { - listTagVal += this.processTextOrObjNode(item, key, level); - } - } else { - listTagVal += this.buildTextValNode(item, key, "", level); - } - } - if (this.options.oneListGroup) { - listTagVal = this.buildObjectNode(listTagVal, key, "", level); - } - val2 += listTagVal; - } else { - if (this.options.attributesGroupName && key === this.options.attributesGroupName) { - const Ks = Object.keys(jObj[key]); - const L = Ks.length; - for (let j = 0; j < L; j++) { - attrStr += this.buildAttrPairStr(Ks[j], "" + jObj[key][Ks[j]]); - } - } else { - val2 += this.processTextOrObjNode(jObj[key], key, level); - } - } - } - return { attrStr, val: val2 }; - }; - Builder.prototype.buildAttrPairStr = function(attrName, val2) { - val2 = this.options.attributeValueProcessor(attrName, "" + val2); - val2 = this.replaceEntitiesValue(val2); - if (this.options.suppressBooleanAttributes && val2 === "true") { - return " " + attrName; - } else - return " " + attrName + '="' + val2 + '"'; - }; - function processTextOrObjNode(object, key, level) { - const result = this.j2x(object, level + 1); - if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) { - return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); - } else { - return this.buildObjectNode(result.val, key, result.attrStr, level); - } - } - Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) { - if (val2 === "") { - if (key[0] === "?") - return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; - else { - return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; - } - } else { - let tagEndExp = "" + val2 + tagEndExp; - } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { - return this.indentate(level) + `` + this.newLine; - } else { - return this.indentate(level) + "<" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp; - } - } - }; - Builder.prototype.closeTag = function(key) { - let closeTag = ""; - if (this.options.unpairedTags.indexOf(key) !== -1) { - if (!this.options.suppressUnpairedNode) - closeTag = "/"; - } else if (this.options.suppressEmptyNode) { - closeTag = "/"; - } else { - closeTag = `>` + this.newLine; - } else if (this.options.commentPropName !== false && key === this.options.commentPropName) { - return this.indentate(level) + `` + this.newLine; - } else if (key[0] === "?") { - return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; - } else { - let textValue = this.options.tagValueProcessor(key, val2); - textValue = this.replaceEntitiesValue(textValue); - if (textValue === "") { - return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; - } else { - return this.indentate(level) + "<" + key + attrStr + ">" + textValue + " 0 && this.options.processEntities) { - for (let i = 0; i < this.options.entities.length; i++) { - const entity = this.options.entities[i]; - textValue = textValue.replace(entity.regex, entity.val); - } - } - return textValue; - }; - function indentate(level) { - return this.options.indentBy.repeat(level); - } - function isAttribute(name) { - if (name.startsWith(this.options.attributeNamePrefix)) { - return name.substr(this.attrPrefixLen); - } else { - return false; - } - } - module2.exports = Builder; - } -}); - -// ../../../node_modules/fast-xml-parser/src/fxp.js -var require_fxp = __commonJS({ - "../../../node_modules/fast-xml-parser/src/fxp.js"(exports, module2) { - "use strict"; - var validator = require_validator(); - var XMLParser = require_XMLParser(); - var XMLBuilder = require_json2xml(); - module2.exports = { - XMLParser, - XMLValidator: validator, - XMLBuilder - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js -var require_Aws_query = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_GetSessionTokenCommand = exports.de_GetFederationTokenCommand = exports.de_GetCallerIdentityCommand = exports.de_GetAccessKeyInfoCommand = exports.de_DecodeAuthorizationMessageCommand = exports.de_AssumeRoleWithWebIdentityCommand = exports.de_AssumeRoleWithSAMLCommand = exports.de_AssumeRoleCommand = exports.se_GetSessionTokenCommand = exports.se_GetFederationTokenCommand = exports.se_GetCallerIdentityCommand = exports.se_GetAccessKeyInfoCommand = exports.se_DecodeAuthorizationMessageCommand = exports.se_AssumeRoleWithWebIdentityCommand = exports.se_AssumeRoleWithSAMLCommand = exports.se_AssumeRoleCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var fast_xml_parser_1 = require_fxp(); - var models_0_1 = require_models_0(); - var STSServiceException_1 = require_STSServiceException(); - var se_AssumeRoleCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleRequest(input, context), - Action: "AssumeRole", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_AssumeRoleCommand = se_AssumeRoleCommand; - var se_AssumeRoleWithSAMLCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleWithSAMLRequest(input, context), - Action: "AssumeRoleWithSAML", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_AssumeRoleWithSAMLCommand = se_AssumeRoleWithSAMLCommand; - var se_AssumeRoleWithWebIdentityCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_AssumeRoleWithWebIdentityRequest(input, context), - Action: "AssumeRoleWithWebIdentity", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_AssumeRoleWithWebIdentityCommand = se_AssumeRoleWithWebIdentityCommand; - var se_DecodeAuthorizationMessageCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_DecodeAuthorizationMessageRequest(input, context), - Action: "DecodeAuthorizationMessage", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DecodeAuthorizationMessageCommand = se_DecodeAuthorizationMessageCommand; - var se_GetAccessKeyInfoCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetAccessKeyInfoRequest(input, context), - Action: "GetAccessKeyInfo", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetAccessKeyInfoCommand = se_GetAccessKeyInfoCommand; - var se_GetCallerIdentityCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetCallerIdentityRequest(input, context), - Action: "GetCallerIdentity", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetCallerIdentityCommand = se_GetCallerIdentityCommand; - var se_GetFederationTokenCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetFederationTokenRequest(input, context), - Action: "GetFederationToken", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetFederationTokenCommand = se_GetFederationTokenCommand; - var se_GetSessionTokenCommand = async (input, context) => { - const headers = SHARED_HEADERS; - let body; - body = buildFormUrlencodedString({ - ...se_GetSessionTokenRequest(input, context), - Action: "GetSessionToken", - Version: "2011-06-15" - }); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetSessionTokenCommand = se_GetSessionTokenCommand; - var de_AssumeRoleCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleResponse(data.AssumeRoleResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_AssumeRoleCommand = de_AssumeRoleCommand; - var de_AssumeRoleCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_AssumeRoleWithSAMLCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleWithSAMLCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_AssumeRoleWithSAMLCommand = de_AssumeRoleWithSAMLCommand; - var de_AssumeRoleWithSAMLCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "IDPRejectedClaim": - case "com.amazonaws.sts#IDPRejectedClaimException": - throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); - case "InvalidIdentityToken": - case "com.amazonaws.sts#InvalidIdentityTokenException": - throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_AssumeRoleWithWebIdentityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_AssumeRoleWithWebIdentityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_AssumeRoleWithWebIdentityCommand = de_AssumeRoleWithWebIdentityCommand; - var de_AssumeRoleWithWebIdentityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExpiredTokenException": - case "com.amazonaws.sts#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "IDPCommunicationError": - case "com.amazonaws.sts#IDPCommunicationErrorException": - throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context); - case "IDPRejectedClaim": - case "com.amazonaws.sts#IDPRejectedClaimException": - throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); - case "InvalidIdentityToken": - case "com.amazonaws.sts#InvalidIdentityTokenException": - throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_DecodeAuthorizationMessageCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DecodeAuthorizationMessageCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DecodeAuthorizationMessageCommand = de_DecodeAuthorizationMessageCommand; - var de_DecodeAuthorizationMessageCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidAuthorizationMessageException": - case "com.amazonaws.sts#InvalidAuthorizationMessageException": - throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_GetAccessKeyInfoCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetAccessKeyInfoCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetAccessKeyInfoCommand = de_GetAccessKeyInfoCommand; - var de_GetAccessKeyInfoCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - }; - var de_GetCallerIdentityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetCallerIdentityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetCallerIdentityCommand = de_GetCallerIdentityCommand; - var de_GetCallerIdentityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - }; - var de_GetFederationTokenCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetFederationTokenCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetFederationTokenCommand = de_GetFederationTokenCommand; - var de_GetFederationTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "MalformedPolicyDocument": - case "com.amazonaws.sts#MalformedPolicyDocumentException": - throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); - case "PackedPolicyTooLarge": - case "com.amazonaws.sts#PackedPolicyTooLargeException": - throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_GetSessionTokenCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetSessionTokenCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetSessionTokenCommand = de_GetSessionTokenCommand; - var de_GetSessionTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadQueryErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "RegionDisabledException": - case "com.amazonaws.sts#RegionDisabledException": - throw await de_RegionDisabledExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody: parsedBody.Error, - errorCode - }); - } - }; - var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_ExpiredTokenException(body.Error, context); - const exception = new models_0_1.ExpiredTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_IDPCommunicationErrorException(body.Error, context); - const exception = new models_0_1.IDPCommunicationErrorException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_IDPRejectedClaimException(body.Error, context); - const exception = new models_0_1.IDPRejectedClaimException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidAuthorizationMessageExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_InvalidAuthorizationMessageException(body.Error, context); - const exception = new models_0_1.InvalidAuthorizationMessageException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_InvalidIdentityTokenException(body.Error, context); - const exception = new models_0_1.InvalidIdentityTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_MalformedPolicyDocumentException(body.Error, context); - const exception = new models_0_1.MalformedPolicyDocumentException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_PackedPolicyTooLargeException(body.Error, context); - const exception = new models_0_1.PackedPolicyTooLargeException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_RegionDisabledExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = de_RegionDisabledException(body.Error, context); - const exception = new models_0_1.RegionDisabledException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var se_AssumeRoleRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.RoleSessionName != null) { - entries["RoleSessionName"] = input.RoleSessionName; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.Tags != null) { - const memberEntries = se_tagListType(input.Tags, context); - if (input.Tags?.length === 0) { - entries.Tags = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); - } - if (input.TransitiveTagKeys != null) { - const memberEntries = se_tagKeyListType(input.TransitiveTagKeys, context); - if (input.TransitiveTagKeys?.length === 0) { - entries.TransitiveTagKeys = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `TransitiveTagKeys.${key}`; - entries[loc] = value; - }); - } - if (input.ExternalId != null) { - entries["ExternalId"] = input.ExternalId; - } - if (input.SerialNumber != null) { - entries["SerialNumber"] = input.SerialNumber; - } - if (input.TokenCode != null) { - entries["TokenCode"] = input.TokenCode; - } - if (input.SourceIdentity != null) { - entries["SourceIdentity"] = input.SourceIdentity; - } - if (input.ProvidedContexts != null) { - const memberEntries = se_ProvidedContextsListType(input.ProvidedContexts, context); - if (input.ProvidedContexts?.length === 0) { - entries.ProvidedContexts = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `ProvidedContexts.${key}`; - entries[loc] = value; - }); - } - return entries; - }; - var se_AssumeRoleWithSAMLRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.PrincipalArn != null) { - entries["PrincipalArn"] = input.PrincipalArn; - } - if (input.SAMLAssertion != null) { - entries["SAMLAssertion"] = input.SAMLAssertion; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - return entries; - }; - var se_AssumeRoleWithWebIdentityRequest = (input, context) => { - const entries = {}; - if (input.RoleArn != null) { - entries["RoleArn"] = input.RoleArn; - } - if (input.RoleSessionName != null) { - entries["RoleSessionName"] = input.RoleSessionName; - } - if (input.WebIdentityToken != null) { - entries["WebIdentityToken"] = input.WebIdentityToken; - } - if (input.ProviderId != null) { - entries["ProviderId"] = input.ProviderId; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - return entries; - }; - var se_DecodeAuthorizationMessageRequest = (input, context) => { - const entries = {}; - if (input.EncodedMessage != null) { - entries["EncodedMessage"] = input.EncodedMessage; - } - return entries; - }; - var se_GetAccessKeyInfoRequest = (input, context) => { - const entries = {}; - if (input.AccessKeyId != null) { - entries["AccessKeyId"] = input.AccessKeyId; - } - return entries; - }; - var se_GetCallerIdentityRequest = (input, context) => { - const entries = {}; - return entries; - }; - var se_GetFederationTokenRequest = (input, context) => { - const entries = {}; - if (input.Name != null) { - entries["Name"] = input.Name; - } - if (input.Policy != null) { - entries["Policy"] = input.Policy; - } - if (input.PolicyArns != null) { - const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); - if (input.PolicyArns?.length === 0) { - entries.PolicyArns = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `PolicyArns.${key}`; - entries[loc] = value; - }); - } - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.Tags != null) { - const memberEntries = se_tagListType(input.Tags, context); - if (input.Tags?.length === 0) { - entries.Tags = []; - } - Object.entries(memberEntries).forEach(([key, value]) => { - const loc = `Tags.${key}`; - entries[loc] = value; - }); - } - return entries; - }; - var se_GetSessionTokenRequest = (input, context) => { - const entries = {}; - if (input.DurationSeconds != null) { - entries["DurationSeconds"] = input.DurationSeconds; - } - if (input.SerialNumber != null) { - entries["SerialNumber"] = input.SerialNumber; - } - if (input.TokenCode != null) { - entries["TokenCode"] = input.TokenCode; - } - return entries; - }; - var se_policyDescriptorListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; - } - const memberEntries = se_PolicyDescriptorType(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var se_PolicyDescriptorType = (input, context) => { - const entries = {}; - if (input.arn != null) { - entries["arn"] = input.arn; - } - return entries; - }; - var se_ProvidedContext = (input, context) => { - const entries = {}; - if (input.ProviderArn != null) { - entries["ProviderArn"] = input.ProviderArn; - } - if (input.ContextAssertion != null) { - entries["ContextAssertion"] = input.ContextAssertion; - } - return entries; - }; - var se_ProvidedContextsListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; - } - const memberEntries = se_ProvidedContext(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var se_Tag = (input, context) => { - const entries = {}; - if (input.Key != null) { - entries["Key"] = input.Key; - } - if (input.Value != null) { - entries["Value"] = input.Value; - } - return entries; - }; - var se_tagKeyListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; - } - entries[`member.${counter}`] = entry; - counter++; - } - return entries; - }; - var se_tagListType = (input, context) => { - const entries = {}; - let counter = 1; - for (const entry of input) { - if (entry === null) { - continue; - } - const memberEntries = se_Tag(entry, context); - Object.entries(memberEntries).forEach(([key, value]) => { - entries[`member.${counter}.${key}`] = value; - }); - counter++; - } - return entries; - }; - var de_AssumedRoleUser = (output, context) => { - const contents = {}; - if (output["AssumedRoleId"] !== void 0) { - contents.AssumedRoleId = (0, smithy_client_1.expectString)(output["AssumedRoleId"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_AssumeRoleResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); - } - return contents; - }; - var de_AssumeRoleWithSAMLResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["Subject"] !== void 0) { - contents.Subject = (0, smithy_client_1.expectString)(output["Subject"]); - } - if (output["SubjectType"] !== void 0) { - contents.SubjectType = (0, smithy_client_1.expectString)(output["SubjectType"]); - } - if (output["Issuer"] !== void 0) { - contents.Issuer = (0, smithy_client_1.expectString)(output["Issuer"]); - } - if (output["Audience"] !== void 0) { - contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); - } - if (output["NameQualifier"] !== void 0) { - contents.NameQualifier = (0, smithy_client_1.expectString)(output["NameQualifier"]); - } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); - } - return contents; - }; - var de_AssumeRoleWithWebIdentityResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["SubjectFromWebIdentityToken"] !== void 0) { - contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output["SubjectFromWebIdentityToken"]); - } - if (output["AssumedRoleUser"] !== void 0) { - contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - if (output["Provider"] !== void 0) { - contents.Provider = (0, smithy_client_1.expectString)(output["Provider"]); - } - if (output["Audience"] !== void 0) { - contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); - } - if (output["SourceIdentity"] !== void 0) { - contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); - } - return contents; - }; - var de_Credentials = (output, context) => { - const contents = {}; - if (output["AccessKeyId"] !== void 0) { - contents.AccessKeyId = (0, smithy_client_1.expectString)(output["AccessKeyId"]); - } - if (output["SecretAccessKey"] !== void 0) { - contents.SecretAccessKey = (0, smithy_client_1.expectString)(output["SecretAccessKey"]); - } - if (output["SessionToken"] !== void 0) { - contents.SessionToken = (0, smithy_client_1.expectString)(output["SessionToken"]); - } - if (output["Expiration"] !== void 0) { - contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output["Expiration"])); - } - return contents; - }; - var de_DecodeAuthorizationMessageResponse = (output, context) => { - const contents = {}; - if (output["DecodedMessage"] !== void 0) { - contents.DecodedMessage = (0, smithy_client_1.expectString)(output["DecodedMessage"]); - } - return contents; - }; - var de_ExpiredTokenException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_FederatedUser = (output, context) => { - const contents = {}; - if (output["FederatedUserId"] !== void 0) { - contents.FederatedUserId = (0, smithy_client_1.expectString)(output["FederatedUserId"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_GetAccessKeyInfoResponse = (output, context) => { - const contents = {}; - if (output["Account"] !== void 0) { - contents.Account = (0, smithy_client_1.expectString)(output["Account"]); - } - return contents; - }; - var de_GetCallerIdentityResponse = (output, context) => { - const contents = {}; - if (output["UserId"] !== void 0) { - contents.UserId = (0, smithy_client_1.expectString)(output["UserId"]); - } - if (output["Account"] !== void 0) { - contents.Account = (0, smithy_client_1.expectString)(output["Account"]); - } - if (output["Arn"] !== void 0) { - contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); - } - return contents; - }; - var de_GetFederationTokenResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - if (output["FederatedUser"] !== void 0) { - contents.FederatedUser = de_FederatedUser(output["FederatedUser"], context); - } - if (output["PackedPolicySize"] !== void 0) { - contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); - } - return contents; - }; - var de_GetSessionTokenResponse = (output, context) => { - const contents = {}; - if (output["Credentials"] !== void 0) { - contents.Credentials = de_Credentials(output["Credentials"], context); - } - return contents; - }; - var de_IDPCommunicationErrorException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_IDPRejectedClaimException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_InvalidAuthorizationMessageException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_InvalidIdentityTokenException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_MalformedPolicyDocumentException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_PackedPolicyTooLargeException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var de_RegionDisabledException = (output, context) => { - const contents = {}; - if (output["message"] !== void 0) { - contents.message = (0, smithy_client_1.expectString)(output["message"]); - } - return contents; - }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var throwDefaultError = (0, smithy_client_1.withBaseException)(STSServiceException_1.STSServiceException); - var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const contents = { - protocol, - hostname, - port, - method: "POST", - path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, - headers - }; - if (resolvedHostname !== void 0) { - contents.hostname = resolvedHostname; - } - if (body !== void 0) { - contents.body = body; - } - return new protocol_http_1.HttpRequest(contents); - }; - var SHARED_HEADERS = { - "content-type": "application/x-www-form-urlencoded" - }; - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - const parser = new fast_xml_parser_1.XMLParser({ - attributeNamePrefix: "", - htmlEntities: true, - ignoreAttributes: false, - ignoreDeclaration: true, - parseTagValue: false, - trimValues: false, - tagValueProcessor: (_, val2) => val2.trim() === "" && val2.includes("\n") ? "" : void 0 - }); - parser.addEntity("#xD", "\r"); - parser.addEntity("#10", "\n"); - const parsedObj = parser.parse(encoded); - const textNodeName = "#text"; - const key = Object.keys(parsedObj)[0]; - const parsedObjToReturn = parsedObj[key]; - if (parsedObjToReturn[textNodeName]) { - parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; - delete parsedObjToReturn[textNodeName]; - } - return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - if (value.Error) { - value.Error.message = value.Error.message ?? value.Error.Message; - } - return value; - }; - var buildFormUrlencodedString = (formEntries) => Object.entries(formEntries).map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + "=" + (0, smithy_client_1.extendedEncodeURIComponent)(value)).join("&"); - var loadQueryErrorCode = (output, data) => { - if (data.Error?.Code !== void 0) { - return data.Error.Code; - } - if (output.statusCode == 404) { - return "NotFound"; - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js -var require_AssumeRoleCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AssumeRoleCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleCommand = class _AssumeRoleCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleCommand)(output, context); - } - }; - exports.AssumeRoleCommand = AssumeRoleCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js -var require_AssumeRoleWithWebIdentityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AssumeRoleWithWebIdentityCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleWithWebIdentityCommand = class _AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleWithWebIdentityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleWithWebIdentityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleWithWebIdentityCommand)(output, context); - } - }; - exports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js -var require_defaultStsRoleAssumers = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; - var AssumeRoleCommand_1 = require_AssumeRoleCommand(); - var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); - var ASSUME_ROLE_DEFAULT_REGION = "us-east-1"; - var decorateDefaultRegion = (region) => { - if (typeof region !== "function") { - return region === void 0 ? ASSUME_ROLE_DEFAULT_REGION : region; - } - return async () => { - try { - return await region(); - } catch (e) { - return ASSUME_ROLE_DEFAULT_REGION; - } - }; - }; - var getDefaultRoleAssumer = (stsOptions, stsClientCtor) => { - let stsClient; - let closureSourceCreds; - return async (sourceCreds, params) => { - closureSourceCreds = sourceCreds; - if (!stsClient) { - const { logger, region, requestHandler } = stsOptions; - stsClient = new stsClientCtor({ - logger, - credentialDefaultProvider: () => async () => closureSourceCreds, - region: decorateDefaultRegion(region || stsOptions.region), - ...requestHandler ? { requestHandler } : {} - }); - } - const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params)); - if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { - throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); - } - return { - accessKeyId: Credentials.AccessKeyId, - secretAccessKey: Credentials.SecretAccessKey, - sessionToken: Credentials.SessionToken, - expiration: Credentials.Expiration - }; - }; - }; - exports.getDefaultRoleAssumer = getDefaultRoleAssumer; - var getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => { - let stsClient; - return async (params) => { - if (!stsClient) { - const { logger, region, requestHandler } = stsOptions; - stsClient = new stsClientCtor({ - logger, - region: decorateDefaultRegion(region || stsOptions.region), - ...requestHandler ? { requestHandler } : {} - }); - } - const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params)); - if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { - throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); - } - return { - accessKeyId: Credentials.AccessKeyId, - secretAccessKey: Credentials.SecretAccessKey, - sessionToken: Credentials.SessionToken, - expiration: Credentials.Expiration - }; - }; - }; - exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; - var decorateDefaultCredentialProvider = (provider) => (input) => provider({ - roleAssumer: (0, exports.getDefaultRoleAssumer)(input, input.stsClientCtor), - roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor), - ...input - }); - exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js -var require_fromEnv = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromEnv = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0; - var property_provider_1 = require_dist_cjs6(); - exports.ENV_KEY = "AWS_ACCESS_KEY_ID"; - exports.ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; - exports.ENV_SESSION = "AWS_SESSION_TOKEN"; - exports.ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; - var fromEnv = () => async () => { - const accessKeyId = process.env[exports.ENV_KEY]; - const secretAccessKey = process.env[exports.ENV_SECRET]; - const sessionToken = process.env[exports.ENV_SESSION]; - const expiry = process.env[exports.ENV_EXPIRATION]; - if (accessKeyId && secretAccessKey) { - return { - accessKeyId, - secretAccessKey, - ...sessionToken && { sessionToken }, - ...expiry && { expiration: new Date(expiry) } - }; - } - throw new property_provider_1.CredentialsProviderError("Unable to find environment variable credentials."); - }; - exports.fromEnv = fromEnv; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js -var require_dist_cjs37 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromEnv(), exports); - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js -var require_getHomeDir = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getHomeDir = void 0; - var os_1 = require("os"); - var path_1 = require("path"); - var getHomeDir = () => { - const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env; - if (HOME) - return HOME; - if (USERPROFILE) - return USERPROFILE; - if (HOMEPATH) - return `${HOMEDRIVE}${HOMEPATH}`; - return (0, os_1.homedir)(); - }; - exports.getHomeDir = getHomeDir; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js -var require_getProfileName = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getProfileName = exports.DEFAULT_PROFILE = exports.ENV_PROFILE = void 0; - exports.ENV_PROFILE = "AWS_PROFILE"; - exports.DEFAULT_PROFILE = "default"; - var getProfileName = (init) => init.profile || process.env[exports.ENV_PROFILE] || exports.DEFAULT_PROFILE; - exports.getProfileName = getProfileName; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js -var require_getSSOTokenFilepath = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSSOTokenFilepath = void 0; - var crypto_1 = require("crypto"); - var path_1 = require("path"); - var getHomeDir_1 = require_getHomeDir(); - var getSSOTokenFilepath = (id) => { - const hasher = (0, crypto_1.createHash)("sha1"); - const cacheName = hasher.update(id).digest("hex"); - return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`); - }; - exports.getSSOTokenFilepath = getSSOTokenFilepath; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js -var require_getSSOTokenFromFile = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSSOTokenFromFile = void 0; - var fs_1 = require("fs"); - var getSSOTokenFilepath_1 = require_getSSOTokenFilepath(); - var { readFile } = fs_1.promises; - var getSSOTokenFromFile = async (id) => { - const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id); - const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); - return JSON.parse(ssoTokenText); - }; - exports.getSSOTokenFromFile = getSSOTokenFromFile; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js -var require_getConfigFilepath = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getConfigFilepath = exports.ENV_CONFIG_PATH = void 0; - var path_1 = require("path"); - var getHomeDir_1 = require_getHomeDir(); - exports.ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; - var getConfigFilepath = () => process.env[exports.ENV_CONFIG_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "config"); - exports.getConfigFilepath = getConfigFilepath; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js -var require_getCredentialsFilepath = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getCredentialsFilepath = exports.ENV_CREDENTIALS_PATH = void 0; - var path_1 = require("path"); - var getHomeDir_1 = require_getHomeDir(); - exports.ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; - var getCredentialsFilepath = () => process.env[exports.ENV_CREDENTIALS_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "credentials"); - exports.getCredentialsFilepath = getCredentialsFilepath; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js -var require_getProfileData = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getProfileData = void 0; - var profileKeyRegex = /^profile\s(["'])?([^\1]+)\1$/; - var getProfileData = (data) => Object.entries(data).filter(([key]) => profileKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [profileKeyRegex.exec(key)[2]]: value }), { - ...data.default && { default: data.default } - }); - exports.getProfileData = getProfileData; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js -var require_parseIni = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseIni = void 0; - var profileNameBlockList = ["__proto__", "profile __proto__"]; - var parseIni = (iniData) => { - const map = {}; - let currentSection; - for (let line of iniData.split(/\r?\n/)) { - line = line.split(/(^|\s)[;#]/)[0].trim(); - const isSection = line[0] === "[" && line[line.length - 1] === "]"; - if (isSection) { - currentSection = line.substring(1, line.length - 1); - if (profileNameBlockList.includes(currentSection)) { - throw new Error(`Found invalid profile name "${currentSection}"`); - } - } else if (currentSection) { - const indexOfEqualsSign = line.indexOf("="); - const start = 0; - const end = line.length - 1; - const isAssignment = indexOfEqualsSign !== -1 && indexOfEqualsSign !== start && indexOfEqualsSign !== end; - if (isAssignment) { - const [name, value] = [ - line.substring(0, indexOfEqualsSign).trim(), - line.substring(indexOfEqualsSign + 1).trim() - ]; - map[currentSection] = map[currentSection] || {}; - map[currentSection][name] = value; - } - } - } - return map; - }; - exports.parseIni = parseIni; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js -var require_slurpFile = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.slurpFile = void 0; - var fs_1 = require("fs"); - var { readFile } = fs_1.promises; - var filePromisesHash = {}; - var slurpFile = (path, options) => { - if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) { - filePromisesHash[path] = readFile(path, "utf8"); - } - return filePromisesHash[path]; - }; - exports.slurpFile = slurpFile; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js -var require_loadSharedConfigFiles = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.loadSharedConfigFiles = void 0; - var getConfigFilepath_1 = require_getConfigFilepath(); - var getCredentialsFilepath_1 = require_getCredentialsFilepath(); - var getProfileData_1 = require_getProfileData(); - var parseIni_1 = require_parseIni(); - var slurpFile_1 = require_slurpFile(); - var swallowError = () => ({}); - var loadSharedConfigFiles = async (init = {}) => { - const { filepath = (0, getCredentialsFilepath_1.getCredentialsFilepath)(), configFilepath = (0, getConfigFilepath_1.getConfigFilepath)() } = init; - const parsedFiles = await Promise.all([ - (0, slurpFile_1.slurpFile)(configFilepath, { - ignoreCache: init.ignoreCache - }).then(parseIni_1.parseIni).then(getProfileData_1.getProfileData).catch(swallowError), - (0, slurpFile_1.slurpFile)(filepath, { - ignoreCache: init.ignoreCache - }).then(parseIni_1.parseIni).catch(swallowError) - ]); - return { - configFile: parsedFiles[0], - credentialsFile: parsedFiles[1] - }; - }; - exports.loadSharedConfigFiles = loadSharedConfigFiles; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js -var require_getSsoSessionData = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSsoSessionData = void 0; - var ssoSessionKeyRegex = /^sso-session\s(["'])?([^\1]+)\1$/; - var getSsoSessionData = (data) => Object.entries(data).filter(([key]) => ssoSessionKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [ssoSessionKeyRegex.exec(key)[2]]: value }), {}); - exports.getSsoSessionData = getSsoSessionData; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js -var require_loadSsoSessionData = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.loadSsoSessionData = void 0; - var getConfigFilepath_1 = require_getConfigFilepath(); - var getSsoSessionData_1 = require_getSsoSessionData(); - var parseIni_1 = require_parseIni(); - var slurpFile_1 = require_slurpFile(); - var swallowError = () => ({}); - var loadSsoSessionData = async (init = {}) => { - var _a; - return (0, slurpFile_1.slurpFile)((_a = init.configFilepath) !== null && _a !== void 0 ? _a : (0, getConfigFilepath_1.getConfigFilepath)()).then(parseIni_1.parseIni).then(getSsoSessionData_1.getSsoSessionData).catch(swallowError); - }; - exports.loadSsoSessionData = loadSsoSessionData; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js -var require_mergeConfigFiles = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.mergeConfigFiles = void 0; - var mergeConfigFiles = (...files) => { - const merged = {}; - for (const file of files) { - for (const [key, values] of Object.entries(file)) { - if (merged[key] !== void 0) { - Object.assign(merged[key], values); - } else { - merged[key] = values; - } - } - } - return merged; - }; - exports.mergeConfigFiles = mergeConfigFiles; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js -var require_parseKnownFiles = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.parseKnownFiles = void 0; - var loadSharedConfigFiles_1 = require_loadSharedConfigFiles(); - var mergeConfigFiles_1 = require_mergeConfigFiles(); - var parseKnownFiles = async (init) => { - const parsedFiles = await (0, loadSharedConfigFiles_1.loadSharedConfigFiles)(init); - return (0, mergeConfigFiles_1.mergeConfigFiles)(parsedFiles.configFile, parsedFiles.credentialsFile); - }; - exports.parseKnownFiles = parseKnownFiles; - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js -var require_types5 = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js -var require_dist_cjs38 = __commonJS({ - "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_getHomeDir(), exports); - tslib_1.__exportStar(require_getProfileName(), exports); - tslib_1.__exportStar(require_getSSOTokenFilepath(), exports); - tslib_1.__exportStar(require_getSSOTokenFromFile(), exports); - tslib_1.__exportStar(require_loadSharedConfigFiles(), exports); - tslib_1.__exportStar(require_loadSsoSessionData(), exports); - tslib_1.__exportStar(require_parseKnownFiles(), exports); - tslib_1.__exportStar(require_types5(), exports); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js -var require_httpRequest2 = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.httpRequest = void 0; - var property_provider_1 = require_dist_cjs6(); - var buffer_1 = require("buffer"); - var http_1 = require("http"); - function httpRequest(options) { - return new Promise((resolve, reject) => { - var _a; - const req = (0, http_1.request)({ - method: "GET", - ...options, - hostname: (_a = options.hostname) === null || _a === void 0 ? void 0 : _a.replace(/^\[(.+)\]$/, "$1") - }); - req.on("error", (err) => { - reject(Object.assign(new property_provider_1.ProviderError("Unable to connect to instance metadata service"), err)); - req.destroy(); - }); - req.on("timeout", () => { - reject(new property_provider_1.ProviderError("TimeoutError from instance metadata service")); - req.destroy(); - }); - req.on("response", (res) => { - const { statusCode = 400 } = res; - if (statusCode < 200 || 300 <= statusCode) { - reject(Object.assign(new property_provider_1.ProviderError("Error response received from instance metadata service"), { statusCode })); - req.destroy(); - } - const chunks = []; - res.on("data", (chunk) => { - chunks.push(chunk); - }); - res.on("end", () => { - resolve(buffer_1.Buffer.concat(chunks)); - req.destroy(); - }); - }); - req.end(); - }); - } - exports.httpRequest = httpRequest; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js -var require_ImdsCredentials = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromImdsCredentials = exports.isImdsCredentials = void 0; - var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string"; - exports.isImdsCredentials = isImdsCredentials; - var fromImdsCredentials = (creds) => ({ - accessKeyId: creds.AccessKeyId, - secretAccessKey: creds.SecretAccessKey, - sessionToken: creds.Token, - expiration: new Date(creds.Expiration) - }); - exports.fromImdsCredentials = fromImdsCredentials; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js -var require_RemoteProviderInit = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.providerConfigFromInit = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT = void 0; - exports.DEFAULT_TIMEOUT = 1e3; - exports.DEFAULT_MAX_RETRIES = 0; - var providerConfigFromInit = ({ maxRetries = exports.DEFAULT_MAX_RETRIES, timeout = exports.DEFAULT_TIMEOUT }) => ({ maxRetries, timeout }); - exports.providerConfigFromInit = providerConfigFromInit; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js -var require_retry3 = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.retry = void 0; - var retry = (toRetry, maxRetries) => { - let promise = toRetry(); - for (let i = 0; i < maxRetries; i++) { - promise = promise.catch(toRetry); - } - return promise; - }; - exports.retry = retry; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js -var require_fromContainerMetadata = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromContainerMetadata = exports.ENV_CMDS_AUTH_TOKEN = exports.ENV_CMDS_RELATIVE_URI = exports.ENV_CMDS_FULL_URI = void 0; - var property_provider_1 = require_dist_cjs6(); - var url_1 = require("url"); - var httpRequest_1 = require_httpRequest2(); - var ImdsCredentials_1 = require_ImdsCredentials(); - var RemoteProviderInit_1 = require_RemoteProviderInit(); - var retry_1 = require_retry3(); - exports.ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; - exports.ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; - exports.ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; - var fromContainerMetadata = (init = {}) => { - const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); - return () => (0, retry_1.retry)(async () => { - const requestOptions = await getCmdsUri(); - const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); - if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { - throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); - } - return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); - }, maxRetries); - }; - exports.fromContainerMetadata = fromContainerMetadata; - var requestFromEcsImds = async (timeout, options) => { - if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) { - options.headers = { - ...options.headers, - Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN] - }; - } - const buffer = await (0, httpRequest_1.httpRequest)({ - ...options, - timeout - }); - return buffer.toString(); - }; - var CMDS_IP = "169.254.170.2"; - var GREENGRASS_HOSTS = { - localhost: true, - "127.0.0.1": true - }; - var GREENGRASS_PROTOCOLS = { - "http:": true, - "https:": true - }; - var getCmdsUri = async () => { - if (process.env[exports.ENV_CMDS_RELATIVE_URI]) { - return { - hostname: CMDS_IP, - path: process.env[exports.ENV_CMDS_RELATIVE_URI] - }; - } - if (process.env[exports.ENV_CMDS_FULL_URI]) { - const parsed = (0, url_1.parse)(process.env[exports.ENV_CMDS_FULL_URI]); - if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { - throw new property_provider_1.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false); - } - if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { - throw new property_provider_1.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false); - } - return { - ...parsed, - port: parsed.port ? parseInt(parsed.port, 10) : void 0 - }; - } - throw new property_provider_1.CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment variable is set`, false); - }; - } -}); - -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js -var require_fromEnv2 = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromEnv = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromEnv = (envVarSelector) => async () => { - try { - const config = envVarSelector(process.env); - if (config === void 0) { - throw new Error(); - } - return config; - } catch (e) { - throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`); - } - }; - exports.fromEnv = fromEnv; - } -}); - -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js -var require_fromSharedConfigFiles = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromSharedConfigFiles = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var fromSharedConfigFiles = (configSelector, { preferredFile = "config", ...init } = {}) => async () => { - const profile = (0, shared_ini_file_loader_1.getProfileName)(init); - const { configFile, credentialsFile } = await (0, shared_ini_file_loader_1.loadSharedConfigFiles)(init); - const profileFromCredentials = credentialsFile[profile] || {}; - const profileFromConfig = configFile[profile] || {}; - const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; - try { - const configValue = configSelector(mergedProfile); - if (configValue === void 0) { - throw new Error(); - } - return configValue; - } catch (e) { - throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`); - } - }; - exports.fromSharedConfigFiles = fromSharedConfigFiles; - } -}); - -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js -var require_fromStatic2 = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromStatic = void 0; - var property_provider_1 = require_dist_cjs6(); - var isFunction = (func) => typeof func === "function"; - var fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, property_provider_1.fromStatic)(defaultValue); - exports.fromStatic = fromStatic; - } -}); - -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js -var require_configLoader = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.loadConfig = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromEnv_1 = require_fromEnv2(); - var fromSharedConfigFiles_1 = require_fromSharedConfigFiles(); - var fromStatic_1 = require_fromStatic2(); - var loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromEnv_1.fromEnv)(environmentVariableSelector), (0, fromSharedConfigFiles_1.fromSharedConfigFiles)(configFileSelector, configuration), (0, fromStatic_1.fromStatic)(defaultValue))); - exports.loadConfig = loadConfig; - } -}); - -// ../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js -var require_dist_cjs39 = __commonJS({ - "../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_configLoader(), exports); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js -var require_Endpoint = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Endpoint = void 0; - var Endpoint; - (function(Endpoint2) { - Endpoint2["IPv4"] = "http://169.254.169.254"; - Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; - })(Endpoint = exports.Endpoint || (exports.Endpoint = {})); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js -var require_EndpointConfigOptions = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ENDPOINT_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_NAME = exports.ENV_ENDPOINT_NAME = void 0; - exports.ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; - exports.CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; - exports.ENDPOINT_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_NAME], - configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_NAME], - default: void 0 - }; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js -var require_EndpointMode = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.EndpointMode = void 0; - var EndpointMode; - (function(EndpointMode2) { - EndpointMode2["IPv4"] = "IPv4"; - EndpointMode2["IPv6"] = "IPv6"; - })(EndpointMode = exports.EndpointMode || (exports.EndpointMode = {})); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js -var require_EndpointModeConfigOptions = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ENDPOINT_MODE_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_MODE_NAME = exports.ENV_ENDPOINT_MODE_NAME = void 0; - var EndpointMode_1 = require_EndpointMode(); - exports.ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; - exports.CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; - exports.ENDPOINT_MODE_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_MODE_NAME], - configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_MODE_NAME], - default: EndpointMode_1.EndpointMode.IPv4 - }; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js -var require_getInstanceMetadataEndpoint = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getInstanceMetadataEndpoint = void 0; - var node_config_provider_1 = require_dist_cjs39(); - var url_parser_1 = require_dist_cjs24(); - var Endpoint_1 = require_Endpoint(); - var EndpointConfigOptions_1 = require_EndpointConfigOptions(); - var EndpointMode_1 = require_EndpointMode(); - var EndpointModeConfigOptions_1 = require_EndpointModeConfigOptions(); - var getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)(await getFromEndpointConfig() || await getFromEndpointModeConfig()); - exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint; - var getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)(); - var getFromEndpointModeConfig = async () => { - const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)(); - switch (endpointMode) { - case EndpointMode_1.EndpointMode.IPv4: - return Endpoint_1.Endpoint.IPv4; - case EndpointMode_1.EndpointMode.IPv6: - return Endpoint_1.Endpoint.IPv6; - default: - throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode_1.EndpointMode)}`); - } - }; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js -var require_getExtendedInstanceMetadataCredentials = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getExtendedInstanceMetadataCredentials = void 0; - var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; - var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; - var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; - var getExtendedInstanceMetadataCredentials = (credentials, logger) => { - var _a; - const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); - const newExpiration = new Date(Date.now() + refreshInterval * 1e3); - logger.warn("Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}.\nFor more information, please visit: " + STATIC_STABILITY_DOC_URL); - const originalExpiration = (_a = credentials.originalExpiration) !== null && _a !== void 0 ? _a : credentials.expiration; - return { - ...credentials, - ...originalExpiration ? { originalExpiration } : {}, - expiration: newExpiration - }; - }; - exports.getExtendedInstanceMetadataCredentials = getExtendedInstanceMetadataCredentials; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js -var require_staticStabilityProvider = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.staticStabilityProvider = void 0; - var getExtendedInstanceMetadataCredentials_1 = require_getExtendedInstanceMetadataCredentials(); - var staticStabilityProvider = (provider, options = {}) => { - const logger = (options === null || options === void 0 ? void 0 : options.logger) || console; - let pastCredentials; - return async () => { - let credentials; - try { - credentials = await provider(); - if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { - credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(credentials, logger); - } - } catch (e) { - if (pastCredentials) { - logger.warn("Credential renew failed: ", e); - credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(pastCredentials, logger); - } else { - throw e; - } - } - pastCredentials = credentials; - return credentials; - }; - }; - exports.staticStabilityProvider = staticStabilityProvider; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js -var require_fromInstanceMetadata = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromInstanceMetadata = void 0; - var property_provider_1 = require_dist_cjs6(); - var httpRequest_1 = require_httpRequest2(); - var ImdsCredentials_1 = require_ImdsCredentials(); - var RemoteProviderInit_1 = require_RemoteProviderInit(); - var retry_1 = require_retry3(); - var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); - var staticStabilityProvider_1 = require_staticStabilityProvider(); - var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; - var IMDS_TOKEN_PATH = "/latest/api/token"; - var fromInstanceMetadata = (init = {}) => (0, staticStabilityProvider_1.staticStabilityProvider)(getInstanceImdsProvider(init), { logger: init.logger }); - exports.fromInstanceMetadata = fromInstanceMetadata; - var getInstanceImdsProvider = (init) => { - let disableFetchToken = false; - const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); - const getCredentials = async (maxRetries2, options) => { - const profile = (await (0, retry_1.retry)(async () => { - let profile2; - try { - profile2 = await getProfile(options); - } catch (err) { - if (err.statusCode === 401) { - disableFetchToken = false; - } - throw err; - } - return profile2; - }, maxRetries2)).trim(); - return (0, retry_1.retry)(async () => { - let creds; - try { - creds = await getCredentialsFromProfile(profile, options); - } catch (err) { - if (err.statusCode === 401) { - disableFetchToken = false; - } - throw err; - } - return creds; - }, maxRetries2); - }; - return async () => { - const endpoint = await (0, getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint)(); - if (disableFetchToken) { - return getCredentials(maxRetries, { ...endpoint, timeout }); - } else { - let token; - try { - token = (await getMetadataToken({ ...endpoint, timeout })).toString(); - } catch (error) { - if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) { - throw Object.assign(error, { - message: "EC2 Metadata token request returned error" - }); - } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) { - disableFetchToken = true; - } - return getCredentials(maxRetries, { ...endpoint, timeout }); - } - return getCredentials(maxRetries, { - ...endpoint, - headers: { - "x-aws-ec2-metadata-token": token - }, - timeout - }); - } - }; - }; - var getMetadataToken = async (options) => (0, httpRequest_1.httpRequest)({ - ...options, - path: IMDS_TOKEN_PATH, - method: "PUT", - headers: { - "x-aws-ec2-metadata-token-ttl-seconds": "21600" - } - }); - var getProfile = async (options) => (await (0, httpRequest_1.httpRequest)({ ...options, path: IMDS_PATH })).toString(); - var getCredentialsFromProfile = async (profile, options) => { - const credsResponse = JSON.parse((await (0, httpRequest_1.httpRequest)({ - ...options, - path: IMDS_PATH + profile - })).toString()); - if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { - throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); - } - return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); - }; - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js -var require_types6 = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js -var require_dist_cjs40 = __commonJS({ - "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getInstanceMetadataEndpoint = exports.httpRequest = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromContainerMetadata(), exports); - tslib_1.__exportStar(require_fromInstanceMetadata(), exports); - tslib_1.__exportStar(require_RemoteProviderInit(), exports); - tslib_1.__exportStar(require_types6(), exports); - var httpRequest_1 = require_httpRequest2(); - Object.defineProperty(exports, "httpRequest", { enumerable: true, get: function() { - return httpRequest_1.httpRequest; - } }); - var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); - Object.defineProperty(exports, "getInstanceMetadataEndpoint", { enumerable: true, get: function() { - return getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js -var require_resolveCredentialSource = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveCredentialSource = void 0; - var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_imds_1 = require_dist_cjs40(); - var property_provider_1 = require_dist_cjs6(); - var resolveCredentialSource = (credentialSource, profileName) => { - const sourceProvidersMap = { - EcsContainer: credential_provider_imds_1.fromContainerMetadata, - Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata, - Environment: credential_provider_env_1.fromEnv - }; - if (credentialSource in sourceProvidersMap) { - return sourceProvidersMap[credentialSource](); - } else { - throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`); - } - }; - exports.resolveCredentialSource = resolveCredentialSource; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js -var require_resolveAssumeRoleCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var resolveCredentialSource_1 = require_resolveCredentialSource(); - var resolveProfileData_1 = require_resolveProfileData(); - var isAssumeRoleProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg)); - exports.isAssumeRoleProfile = isAssumeRoleProfile; - var isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; - var isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; - var resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => { - const data = profiles[profileName]; - if (!options.roleAssumer) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false); - } - const { source_profile } = data; - if (source_profile && source_profile in visitedProfiles) { - throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), false); - } - const sourceCredsProvider = source_profile ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, { - ...visitedProfiles, - [source_profile]: true - }) : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)(); - const params = { - RoleArn: data.role_arn, - RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`, - ExternalId: data.external_id - }; - const { mfa_serial } = data; - if (mfa_serial) { - if (!options.mfaCodeProvider) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false); - } - params.SerialNumber = mfa_serial; - params.TokenCode = await options.mfaCodeProvider(mfa_serial); - } - const sourceCreds = await sourceCredsProvider; - return options.roleAssumer(sourceCreds, params); - }; - exports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js -var require_getValidatedProcessCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getValidatedProcessCredentials = void 0; - var getValidatedProcessCredentials = (profileName, data) => { - if (data.Version !== 1) { - throw Error(`Profile ${profileName} credential_process did not return Version 1.`); - } - if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { - throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); - } - if (data.Expiration) { - const currentTime = /* @__PURE__ */ new Date(); - const expireTime = new Date(data.Expiration); - if (expireTime < currentTime) { - throw Error(`Profile ${profileName} credential_process returned expired credentials.`); - } - } - return { - accessKeyId: data.AccessKeyId, - secretAccessKey: data.SecretAccessKey, - ...data.SessionToken && { sessionToken: data.SessionToken }, - ...data.Expiration && { expiration: new Date(data.Expiration) } - }; - }; - exports.getValidatedProcessCredentials = getValidatedProcessCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js -var require_resolveProcessCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveProcessCredentials = void 0; - var property_provider_1 = require_dist_cjs6(); - var child_process_1 = require("child_process"); - var util_1 = require("util"); - var getValidatedProcessCredentials_1 = require_getValidatedProcessCredentials(); - var resolveProcessCredentials = async (profileName, profiles) => { - const profile = profiles[profileName]; - if (profiles[profileName]) { - const credentialProcess = profile["credential_process"]; - if (credentialProcess !== void 0) { - const execPromise = (0, util_1.promisify)(child_process_1.exec); - try { - const { stdout } = await execPromise(credentialProcess); - let data; - try { - data = JSON.parse(stdout.trim()); - } catch (_a) { - throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); - } - return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data); - } catch (error) { - throw new property_provider_1.CredentialsProviderError(error.message); - } - } else { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`); - } - } else { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`); - } - }; - exports.resolveProcessCredentials = resolveProcessCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js -var require_fromProcess = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromProcess = void 0; - var shared_ini_file_loader_1 = require_dist_cjs38(); - var resolveProcessCredentials_1 = require_resolveProcessCredentials(); - var fromProcess = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles); - }; - exports.fromProcess = fromProcess; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js -var require_dist_cjs41 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromProcess(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js -var require_resolveProcessCredentials2 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveProcessCredentials = exports.isProcessProfile = void 0; - var credential_provider_process_1 = require_dist_cjs41(); - var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string"; - exports.isProcessProfile = isProcessProfile; - var resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({ - ...options, - profile - })(); - exports.resolveProcessCredentials = resolveProcessCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js -var require_isSsoProfile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isSsoProfile = void 0; - var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"); - exports.isSsoProfile = isSsoProfile; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - defaultSigningName: "awsssoportal" - }; - }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/package.json -var require_package3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/package.json"(exports, module2) { - module2.exports = { - name: "@aws-sdk/client-sso", - description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", - version: "3.378.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.378.0", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.378.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.378.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso" - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js -var require_is_crt_available = __commonJS({ - "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isCrtAvailable = void 0; - var isCrtAvailable = () => { - try { - if (typeof require === "function" && typeof module2 !== "undefined" && require("aws-crt")) { - return ["md/crt-avail"]; - } - return null; - } catch (e) { - return null; - } - }; - exports.isCrtAvailable = isCrtAvailable; - } -}); - -// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js -var require_dist_cjs42 = __commonJS({ - "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = void 0; - var node_config_provider_1 = require_dist_cjs39(); - var os_1 = require("os"); - var process_1 = require("process"); - var is_crt_available_1 = require_is_crt_available(); - exports.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; - exports.UA_APP_ID_INI_NAME = "sdk-ua-app-id"; - var defaultUserAgent = ({ serviceId, clientVersion }) => { - const sections = [ - ["aws-sdk-js", clientVersion], - ["ua", "2.0"], - [`os/${(0, os_1.platform)()}`, (0, os_1.release)()], - ["lang/js"], - ["md/nodejs", `${process_1.versions.node}`] - ]; - const crtAvailable = (0, is_crt_available_1.isCrtAvailable)(); - if (crtAvailable) { - sections.push(crtAvailable); - } - if (serviceId) { - sections.push([`api/${serviceId}`, clientVersion]); - } - if (process_1.env.AWS_EXECUTION_ENV) { - sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]); - } - const appIdPromise = (0, node_config_provider_1.loadConfig)({ - environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME], - configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME], - default: void 0 - })(); - let resolvedUserAgent = void 0; - return async () => { - if (!resolvedUserAgent) { - const appId = await appIdPromise; - resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; - } - return resolvedUserAgent; - }; - }; - exports.defaultUserAgent = defaultUserAgent; - } -}); - -// ../../../node_modules/@smithy/hash-node/dist-cjs/index.js -var require_dist_cjs43 = __commonJS({ - "../../../node_modules/@smithy/hash-node/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Hash = void 0; - var util_buffer_from_1 = require_dist_cjs12(); - var util_utf8_1 = require_dist_cjs13(); - var buffer_1 = require("buffer"); - var crypto_1 = require("crypto"); - var Hash = class { - constructor(algorithmIdentifier, secret) { - this.algorithmIdentifier = algorithmIdentifier; - this.secret = secret; - this.reset(); - } - update(toHash, encoding) { - this.hash.update((0, util_utf8_1.toUint8Array)(castSourceData(toHash, encoding))); - } - digest() { - return Promise.resolve(this.hash.digest()); - } - reset() { - this.hash = this.secret ? (0, crypto_1.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, crypto_1.createHash)(this.algorithmIdentifier); - } - }; - exports.Hash = Hash; - function castSourceData(toCast, encoding) { - if (buffer_1.Buffer.isBuffer(toCast)) { - return toCast; - } - if (typeof toCast === "string") { - return (0, util_buffer_from_1.fromString)(toCast, encoding); - } - if (ArrayBuffer.isView(toCast)) { - return (0, util_buffer_from_1.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength); - } - return (0, util_buffer_from_1.fromArrayBuffer)(toCast); - } - } -}); - -// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js -var require_calculateBodyLength = __commonJS({ - "../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.calculateBodyLength = void 0; - var fs_1 = require("fs"); - var calculateBodyLength = (body) => { - if (!body) { - return 0; - } - if (typeof body === "string") { - return Buffer.from(body).length; - } else if (typeof body.byteLength === "number") { - return body.byteLength; - } else if (typeof body.size === "number") { - return body.size; - } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) { - return (0, fs_1.lstatSync)(body.path).size; - } else if (typeof body.fd === "number") { - return (0, fs_1.fstatSync)(body.fd).size; - } - throw new Error(`Body Length computation failed for ${body}`); - }; - exports.calculateBodyLength = calculateBodyLength; - } -}); - -// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js -var require_dist_cjs44 = __commonJS({ - "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_calculateBodyLength(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js -var require_ruleset = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; - var p = "required"; - var q = "fn"; - var r = "argv"; - var s = "ref"; - var a = "PartitionResult"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = { [p]: false, "type": "String" }; - var f = { [p]: true, "default": false, "type": "Boolean" }; - var g = { [s]: "Endpoint" }; - var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; - var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; - var j = {}; - var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; - var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; - var m = [g]; - var n = [h]; - var o = [i]; - var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js -var require_constants7 = __commonJS({ - "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.IMDS_REGION_PATH = exports.DEFAULTS_MODE_OPTIONS = exports.ENV_IMDS_DISABLED = exports.AWS_DEFAULT_REGION_ENV = exports.AWS_REGION_ENV = exports.AWS_EXECUTION_ENV = void 0; - exports.AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; - exports.AWS_REGION_ENV = "AWS_REGION"; - exports.AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; - exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; - exports.DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; - exports.IMDS_REGION_PATH = "/latest/meta-data/placement/region"; - } -}); - -// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js -var require_defaultsModeConfig = __commonJS({ - "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = void 0; - var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; - var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; - exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { - environmentVariableSelector: (env) => { - return env[AWS_DEFAULTS_MODE_ENV]; - }, - configFileSelector: (profile) => { - return profile[AWS_DEFAULTS_MODE_CONFIG]; - }, - default: "legacy" - }; - } -}); - -// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js -var require_resolveDefaultsModeConfig = __commonJS({ - "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveDefaultsModeConfig = void 0; - var config_resolver_1 = require_dist_cjs21(); - var credential_provider_imds_1 = require_dist_cjs40(); - var node_config_provider_1 = require_dist_cjs39(); - var property_provider_1 = require_dist_cjs6(); - var constants_1 = require_constants7(); - var defaultsModeConfig_1 = require_defaultsModeConfig(); - var resolveDefaultsModeConfig = ({ region = (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS), defaultsMode = (0, node_config_provider_1.loadConfig)(defaultsModeConfig_1.NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => (0, property_provider_1.memoize)(async () => { - const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; - switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) { - case "auto": - return resolveNodeDefaultsModeAuto(region); - case "in-region": - case "cross-region": - case "mobile": - case "standard": - case "legacy": - return Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase()); - case void 0: - return Promise.resolve("legacy"); - default: - throw new Error(`Invalid parameter for "defaultsMode", expect ${constants_1.DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`); - } - }); - exports.resolveDefaultsModeConfig = resolveDefaultsModeConfig; - var resolveNodeDefaultsModeAuto = async (clientRegion) => { - if (clientRegion) { - const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; - const inferredRegion = await inferPhysicalRegion(); - if (!inferredRegion) { - return "standard"; - } - if (resolvedRegion === inferredRegion) { - return "in-region"; - } else { - return "cross-region"; - } - } - return "standard"; - }; - var inferPhysicalRegion = async () => { - var _a; - if (process.env[constants_1.AWS_EXECUTION_ENV] && (process.env[constants_1.AWS_REGION_ENV] || process.env[constants_1.AWS_DEFAULT_REGION_ENV])) { - return (_a = process.env[constants_1.AWS_REGION_ENV]) !== null && _a !== void 0 ? _a : process.env[constants_1.AWS_DEFAULT_REGION_ENV]; - } - if (!process.env[constants_1.ENV_IMDS_DISABLED]) { - try { - const endpoint = await (0, credential_provider_imds_1.getInstanceMetadataEndpoint)(); - return (await (0, credential_provider_imds_1.httpRequest)({ ...endpoint, path: constants_1.IMDS_REGION_PATH })).toString(); - } catch (e) { - } - } - }; - } -}); - -// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js -var require_dist_cjs45 = __commonJS({ - "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_resolveDefaultsModeConfig(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js -var require_runtimeConfig = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package3()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); - var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); - return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) - }; - }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js -var require_SSOClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters3(); - var runtimeConfig_1 = require_runtimeConfig(); - var SSOClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); - super(_config_6); - this.config = _config_6; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); - } - }; - exports.SSOClient = SSOClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js -var require_SSOServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOServiceException = class _SSOServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _SSOServiceException.prototype); - } - }; - exports.SSOServiceException = SSOServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js -var require_models_02 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.LogoutRequestFilterSensitiveLog = exports.ListAccountsRequestFilterSensitiveLog = exports.ListAccountRolesRequestFilterSensitiveLog = exports.GetRoleCredentialsResponseFilterSensitiveLog = exports.RoleCredentialsFilterSensitiveLog = exports.GetRoleCredentialsRequestFilterSensitiveLog = exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = void 0; - var smithy_client_1 = require_dist_cjs35(); - var SSOServiceException_1 = require_SSOServiceException(); - var InvalidRequestException = class _InvalidRequestException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "InvalidRequestException", - $fault: "client", - ...opts - }); - this.name = "InvalidRequestException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidRequestException.prototype); - } - }; - exports.InvalidRequestException = InvalidRequestException; - var ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts - }); - this.name = "ResourceNotFoundException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ResourceNotFoundException.prototype); - } - }; - exports.ResourceNotFoundException = ResourceNotFoundException; - var TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "TooManyRequestsException", - $fault: "client", - ...opts - }); - this.name = "TooManyRequestsException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TooManyRequestsException.prototype); - } - }; - exports.TooManyRequestsException = TooManyRequestsException; - var UnauthorizedException = class _UnauthorizedException extends SSOServiceException_1.SSOServiceException { - constructor(opts) { - super({ - name: "UnauthorizedException", - $fault: "client", - ...opts - }); - this.name = "UnauthorizedException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnauthorizedException.prototype); - } - }; - exports.UnauthorizedException = UnauthorizedException; - var GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog; - var RoleCredentialsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }, - ...obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog; - var GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.roleCredentials && { roleCredentials: (0, exports.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) } - }); - exports.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog; - var ListAccountRolesRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog; - var ListAccountsRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog; - var LogoutRequestFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } - }); - exports.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson1 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_LogoutCommand = exports.de_ListAccountsCommand = exports.de_ListAccountRolesCommand = exports.de_GetRoleCredentialsCommand = exports.se_LogoutCommand = exports.se_ListAccountsCommand = exports.se_ListAccountRolesCommand = exports.se_GetRoleCredentialsCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_02(); - var SSOServiceException_1 = require_SSOServiceException(); - var se_GetRoleCredentialsCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/federation/credentials`; - const query = (0, smithy_client_1.map)({ - role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)], - account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports.se_GetRoleCredentialsCommand = se_GetRoleCredentialsCommand; - var se_ListAccountRolesCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/roles`; - const query = (0, smithy_client_1.map)({ - next_token: [, input.nextToken], - max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()], - account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports.se_ListAccountRolesCommand = se_ListAccountRolesCommand; - var se_ListAccountsCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/accounts`; - const query = (0, smithy_client_1.map)({ - next_token: [, input.nextToken], - max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()] - }); - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "GET", - headers, - path: resolvedPath, - query, - body - }); - }; - exports.se_ListAccountsCommand = se_ListAccountsCommand; - var se_LogoutCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { - "x-amz-sso_bearer_token": input.accessToken - }); - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/logout`; - let body; - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_LogoutCommand = se_LogoutCommand; - var de_GetRoleCredentialsCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetRoleCredentialsCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - roleCredentials: smithy_client_1._json - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_GetRoleCredentialsCommand = de_GetRoleCredentialsCommand; - var de_GetRoleCredentialsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListAccountRolesCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_ListAccountRolesCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - nextToken: smithy_client_1.expectString, - roleList: smithy_client_1._json - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_ListAccountRolesCommand = de_ListAccountRolesCommand; - var de_ListAccountRolesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListAccountsCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_ListAccountsCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accountList: smithy_client_1._json, - nextToken: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_ListAccountsCommand = de_ListAccountsCommand; - var de_ListAccountsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.sso#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_LogoutCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_LogoutCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - await (0, smithy_client_1.collectBody)(output.body, context); - return contents; - }; - exports.de_LogoutCommand = de_LogoutCommand; - var de_LogoutCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidRequestException": - case "com.amazonaws.sso#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "TooManyRequestsException": - case "com.amazonaws.sso#TooManyRequestsException": - throw await de_TooManyRequestsExceptionRes(parsedOutput, context); - case "UnauthorizedException": - case "com.amazonaws.sso#UnauthorizedException": - throw await de_UnauthorizedExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOServiceException_1.SSOServiceException); - var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.ResourceNotFoundException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_TooManyRequestsExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.TooManyRequestsException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_UnauthorizedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - message: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var isSerializableHeaderValue = (value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; - return value; - }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; - } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; - } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js -var require_GetRoleCredentialsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetRoleCredentialsCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var GetRoleCredentialsCommand = class _GetRoleCredentialsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetRoleCredentialsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "GetRoleCredentialsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_GetRoleCredentialsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_GetRoleCredentialsCommand)(output, context); - } - }; - exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js -var require_ListAccountRolesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListAccountRolesCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var ListAccountRolesCommand = class _ListAccountRolesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountRolesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "ListAccountRolesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_ListAccountRolesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_ListAccountRolesCommand)(output, context); - } - }; - exports.ListAccountRolesCommand = ListAccountRolesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js -var require_ListAccountsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListAccountsCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var ListAccountsCommand = class _ListAccountsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "ListAccountsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_ListAccountsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_ListAccountsCommand)(output, context); - } - }; - exports.ListAccountsCommand = ListAccountsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js -var require_LogoutCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.LogoutCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_02(); - var Aws_restJson1_1 = require_Aws_restJson1(); - var LogoutCommand = class _LogoutCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _LogoutCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOClient"; - const commandName = "LogoutCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_LogoutCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_LogoutCommand)(output, context); - } - }; - exports.LogoutCommand = LogoutCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js -var require_SSO = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSO = void 0; - var smithy_client_1 = require_dist_cjs35(); - var GetRoleCredentialsCommand_1 = require_GetRoleCredentialsCommand(); - var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); - var ListAccountsCommand_1 = require_ListAccountsCommand(); - var LogoutCommand_1 = require_LogoutCommand(); - var SSOClient_1 = require_SSOClient(); - var commands = { - GetRoleCredentialsCommand: GetRoleCredentialsCommand_1.GetRoleCredentialsCommand, - ListAccountRolesCommand: ListAccountRolesCommand_1.ListAccountRolesCommand, - ListAccountsCommand: ListAccountsCommand_1.ListAccountsCommand, - LogoutCommand: LogoutCommand_1.LogoutCommand - }; - var SSO = class extends SSOClient_1.SSOClient { - }; - exports.SSO = SSO; - (0, smithy_client_1.createAggregatedClient)(commands, SSO); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js -var require_commands = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_GetRoleCredentialsCommand(), exports); - tslib_1.__exportStar(require_ListAccountRolesCommand(), exports); - tslib_1.__exportStar(require_ListAccountsCommand(), exports); - tslib_1.__exportStar(require_LogoutCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js -var require_Interfaces = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js -var require_ListAccountRolesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListAccountRoles = void 0; - var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); - var SSOClient_1 = require_SSOClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args); - }; - async function* paginateListAccountRoles(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SSOClient_1.SSOClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SSO | SSOClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListAccountRoles = paginateListAccountRoles; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js -var require_ListAccountsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListAccounts = void 0; - var ListAccountsCommand_1 = require_ListAccountsCommand(); - var SSOClient_1 = require_SSOClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args); - }; - async function* paginateListAccounts(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SSOClient_1.SSOClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SSO | SSOClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListAccounts = paginateListAccounts; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js -var require_pagination3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_Interfaces(), exports); - tslib_1.__exportStar(require_ListAccountRolesPaginator(), exports); - tslib_1.__exportStar(require_ListAccountsPaginator(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js -var require_models = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_02(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js -var require_dist_cjs46 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOClient(), exports); - tslib_1.__exportStar(require_SSO(), exports); - tslib_1.__exportStar(require_commands(), exports); - tslib_1.__exportStar(require_pagination3(), exports); - tslib_1.__exportStar(require_models(), exports); - var SSOServiceException_1 = require_SSOServiceException(); - Object.defineProperty(exports, "SSOServiceException", { enumerable: true, get: function() { - return SSOServiceException_1.SSOServiceException; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js -var require_constants8 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; - exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; - exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js -var require_EndpointParameters4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/EndpointParameters.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveClientEndpointParameters = void 0; - var resolveClientEndpointParameters = (options) => { - return { - ...options, - useDualstackEndpoint: options.useDualstackEndpoint ?? false, - useFipsEndpoint: options.useFipsEndpoint ?? false, - defaultSigningName: "awsssooidc" - }; - }; - exports.resolveClientEndpointParameters = resolveClientEndpointParameters; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/package.json -var require_package4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/package.json"(exports, module2) { - module2.exports = { - name: "@aws-sdk/client-sso-oidc", - description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.378.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.378.0", - "@aws-sdk/middleware-logger": "3.378.0", - "@aws-sdk/middleware-recursion-detection": "3.378.0", - "@aws-sdk/middleware-user-agent": "3.378.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-endpoints": "3.378.0", - "@aws-sdk/util-user-agent-browser": "3.378.0", - "@aws-sdk/util-user-agent-node": "3.378.0", - "@smithy/config-resolver": "^2.0.1", - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/hash-node": "^2.0.1", - "@smithy/invalid-dependency": "^2.0.1", - "@smithy/middleware-content-length": "^2.0.1", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/middleware-retry": "^2.0.1", - "@smithy/middleware-serde": "^2.0.1", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.1", - "@smithy/util-defaults-mode-node": "^2.0.1", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso-oidc" - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js -var require_ruleset2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; - var p = "required"; - var q = "fn"; - var r = "argv"; - var s = "ref"; - var a = "PartitionResult"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = { [p]: false, "type": "String" }; - var f = { [p]: true, "default": false, "type": "Boolean" }; - var g = { [s]: "Endpoint" }; - var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; - var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; - var j = {}; - var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; - var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; - var m = [g]; - var n = [h]; - var o = [i]; - var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset2(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver2(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2019-06-10", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SSO OIDC", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js -var require_runtimeConfig2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package4()); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); - var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); - return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) - }; - }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js -var require_SSOOIDCClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDCClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters4(); - var runtimeConfig_1 = require_runtimeConfig2(); - var SSOOIDCClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); - super(_config_6); - this.config = _config_6; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); - } - }; - exports.SSOOIDCClient = SSOOIDCClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js -var require_SSOOIDCServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/SSOOIDCServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); - } - }; - exports.SSOOIDCServiceException = SSOOIDCServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js -var require_models_03 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.InvalidClientMetadataException = exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "AccessDeniedException", - $fault: "client", - ...opts - }); - this.name = "AccessDeniedException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _AccessDeniedException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.AccessDeniedException = AccessDeniedException; - var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "AuthorizationPendingException", - $fault: "client", - ...opts - }); - this.name = "AuthorizationPendingException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _AuthorizationPendingException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.AuthorizationPendingException = AuthorizationPendingException; - var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "ExpiredTokenException", - $fault: "client", - ...opts - }); - this.name = "ExpiredTokenException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExpiredTokenException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.ExpiredTokenException = ExpiredTokenException; - var InternalServerException = class _InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts - }); - this.name = "InternalServerException"; - this.$fault = "server"; - Object.setPrototypeOf(this, _InternalServerException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InternalServerException = InternalServerException; - var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientException = InvalidClientException; - var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidGrantException", - $fault: "client", - ...opts - }); - this.name = "InvalidGrantException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidGrantException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidGrantException = InvalidGrantException; - var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidRequestException", - $fault: "client", - ...opts - }); - this.name = "InvalidRequestException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidRequestException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidRequestException = InvalidRequestException; - var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidScopeException", - $fault: "client", - ...opts - }); - this.name = "InvalidScopeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidScopeException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidScopeException = InvalidScopeException; - var SlowDownException = class _SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "SlowDownException", - $fault: "client", - ...opts - }); - this.name = "SlowDownException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _SlowDownException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.SlowDownException = SlowDownException; - var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "UnauthorizedClientException", - $fault: "client", - ...opts - }); - this.name = "UnauthorizedClientException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnauthorizedClientException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.UnauthorizedClientException = UnauthorizedClientException; - var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "UnsupportedGrantTypeException", - $fault: "client", - ...opts - }); - this.name = "UnsupportedGrantTypeException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; - var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException_1.SSOOIDCServiceException { - constructor(opts) { - super({ - name: "InvalidClientMetadataException", - $fault: "client", - ...opts - }); - this.name = "InvalidClientMetadataException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); - this.error = opts.error; - this.error_description = opts.error_description; - } - }; - exports.InvalidClientMetadataException = InvalidClientMetadataException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js -var require_Aws_restJson12 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/protocols/Aws_restJson1.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_StartDeviceAuthorizationCommand = exports.de_RegisterClientCommand = exports.de_CreateTokenCommand = exports.se_StartDeviceAuthorizationCommand = exports.se_RegisterClientCommand = exports.se_CreateTokenCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_03(); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - var se_CreateTokenCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - code: [], - deviceCode: [], - grantType: [], - redirectUri: [], - refreshToken: [], - scope: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_CreateTokenCommand = se_CreateTokenCommand; - var se_RegisterClientCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientName: [], - clientType: [], - scopes: (_) => (0, smithy_client_1._json)(_) - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_RegisterClientCommand = se_RegisterClientCommand; - var se_StartDeviceAuthorizationCommand = async (input, context) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const headers = { - "content-type": "application/json" - }; - const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; - let body; - body = JSON.stringify((0, smithy_client_1.take)(input, { - clientId: [], - clientSecret: [], - startUrl: [] - })); - return new protocol_http_1.HttpRequest({ - protocol, - hostname, - port, - method: "POST", - headers, - path: resolvedPath, - body - }); - }; - exports.se_StartDeviceAuthorizationCommand = se_StartDeviceAuthorizationCommand; - var de_CreateTokenCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_CreateTokenCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - accessToken: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - idToken: smithy_client_1.expectString, - refreshToken: smithy_client_1.expectString, - tokenType: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_CreateTokenCommand = de_CreateTokenCommand; - var de_CreateTokenCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.ssooidc#AccessDeniedException": - throw await de_AccessDeniedExceptionRes(parsedOutput, context); - case "AuthorizationPendingException": - case "com.amazonaws.ssooidc#AuthorizationPendingException": - throw await de_AuthorizationPendingExceptionRes(parsedOutput, context); - case "ExpiredTokenException": - case "com.amazonaws.ssooidc#ExpiredTokenException": - throw await de_ExpiredTokenExceptionRes(parsedOutput, context); - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidGrantException": - case "com.amazonaws.ssooidc#InvalidGrantException": - throw await de_InvalidGrantExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - case "UnsupportedGrantTypeException": - case "com.amazonaws.ssooidc#UnsupportedGrantTypeException": - throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_RegisterClientCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_RegisterClientCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - authorizationEndpoint: smithy_client_1.expectString, - clientId: smithy_client_1.expectString, - clientIdIssuedAt: smithy_client_1.expectLong, - clientSecret: smithy_client_1.expectString, - clientSecretExpiresAt: smithy_client_1.expectLong, - tokenEndpoint: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_RegisterClientCommand = de_RegisterClientCommand; - var de_RegisterClientCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientMetadataException": - case "com.amazonaws.ssooidc#InvalidClientMetadataException": - throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "InvalidScopeException": - case "com.amazonaws.ssooidc#InvalidScopeException": - throw await de_InvalidScopeExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartDeviceAuthorizationCommand = async (output, context) => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_StartDeviceAuthorizationCommandError(output, context); - } - const contents = (0, smithy_client_1.map)({ - $metadata: deserializeMetadata(output) - }); - const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_1.take)(data, { - deviceCode: smithy_client_1.expectString, - expiresIn: smithy_client_1.expectInt32, - interval: smithy_client_1.expectInt32, - userCode: smithy_client_1.expectString, - verificationUri: smithy_client_1.expectString, - verificationUriComplete: smithy_client_1.expectString - }); - Object.assign(contents, doc); - return contents; - }; - exports.de_StartDeviceAuthorizationCommand = de_StartDeviceAuthorizationCommand; - var de_StartDeviceAuthorizationCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InternalServerException": - case "com.amazonaws.ssooidc#InternalServerException": - throw await de_InternalServerExceptionRes(parsedOutput, context); - case "InvalidClientException": - case "com.amazonaws.ssooidc#InvalidClientException": - throw await de_InvalidClientExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.ssooidc#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); - case "SlowDownException": - case "com.amazonaws.ssooidc#SlowDownException": - throw await de_SlowDownExceptionRes(parsedOutput, context); - case "UnauthorizedClientException": - case "com.amazonaws.ssooidc#UnauthorizedClientException": - throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOOIDCServiceException_1.SSOOIDCServiceException); - var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AccessDeniedException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.AuthorizationPendingException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.ExpiredTokenException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InternalServerException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidClientMetadataException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidGrantException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidRequestException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.InvalidScopeException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.SlowDownException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.UnauthorizedClientException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_1.map)({}); - const data = parsedOutput.body; - const doc = (0, smithy_client_1.take)(data, { - error: smithy_client_1.expectString, - error_description: smithy_client_1.expectString - }); - Object.assign(contents, doc); - const exception = new models_0_1.UnsupportedGrantTypeException({ - $metadata: deserializeMetadata(parsedOutput), - ...contents - }); - return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); - }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; - return value; - }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; - } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; - } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js -var require_CreateTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/CreateTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateTokenCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "CreateTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_CreateTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_CreateTokenCommand)(output, context); - } - }; - exports.CreateTokenCommand = CreateTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js -var require_RegisterClientCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/RegisterClientCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.RegisterClientCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "RegisterClientCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_RegisterClientCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_RegisterClientCommand)(output, context); - } - }; - exports.RegisterClientCommand = RegisterClientCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js -var require_StartDeviceAuthorizationCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/StartDeviceAuthorizationCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartDeviceAuthorizationCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_restJson1_1 = require_Aws_restJson12(); - var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SSOOIDCClient"; - const commandName = "StartDeviceAuthorizationCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_restJson1_1.se_StartDeviceAuthorizationCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_restJson1_1.de_StartDeviceAuthorizationCommand)(output, context); - } - }; - exports.StartDeviceAuthorizationCommand = StartDeviceAuthorizationCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js -var require_SSOOIDC = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/SSOOIDC.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDC = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateTokenCommand_1 = require_CreateTokenCommand(); - var RegisterClientCommand_1 = require_RegisterClientCommand(); - var StartDeviceAuthorizationCommand_1 = require_StartDeviceAuthorizationCommand(); - var SSOOIDCClient_1 = require_SSOOIDCClient(); - var commands = { - CreateTokenCommand: CreateTokenCommand_1.CreateTokenCommand, - RegisterClientCommand: RegisterClientCommand_1.RegisterClientCommand, - StartDeviceAuthorizationCommand: StartDeviceAuthorizationCommand_1.StartDeviceAuthorizationCommand - }; - var SSOOIDC = class extends SSOOIDCClient_1.SSOOIDCClient { - }; - exports.SSOOIDC = SSOOIDC; - (0, smithy_client_1.createAggregatedClient)(commands, SSOOIDC); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js -var require_commands2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateTokenCommand(), exports); - tslib_1.__exportStar(require_RegisterClientCommand(), exports); - tslib_1.__exportStar(require_StartDeviceAuthorizationCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js -var require_models2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_03(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js -var require_dist_cjs47 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SSOOIDCServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SSOOIDCClient(), exports); - tslib_1.__exportStar(require_SSOOIDC(), exports); - tslib_1.__exportStar(require_commands2(), exports); - tslib_1.__exportStar(require_models2(), exports); - var SSOOIDCServiceException_1 = require_SSOOIDCServiceException(); - Object.defineProperty(exports, "SSOOIDCServiceException", { enumerable: true, get: function() { - return SSOOIDCServiceException_1.SSOOIDCServiceException; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js -var require_getSsoOidcClient = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSsoOidcClient = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); - var ssoOidcClientsHash = {}; - var getSsoOidcClient = (ssoRegion) => { - if (ssoOidcClientsHash[ssoRegion]) { - return ssoOidcClientsHash[ssoRegion]; - } - const ssoOidcClient = new client_sso_oidc_1.SSOOIDCClient({ region: ssoRegion }); - ssoOidcClientsHash[ssoRegion] = ssoOidcClient; - return ssoOidcClient; - }; - exports.getSsoOidcClient = getSsoOidcClient; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js -var require_getNewSsoOidcToken = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getNewSsoOidcToken = void 0; - var client_sso_oidc_1 = require_dist_cjs47(); - var getSsoOidcClient_1 = require_getSsoOidcClient(); - var getNewSsoOidcToken = (ssoToken, ssoRegion) => { - const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new client_sso_oidc_1.CreateTokenCommand({ - clientId: ssoToken.clientId, - clientSecret: ssoToken.clientSecret, - refreshToken: ssoToken.refreshToken, - grantType: "refresh_token" - })); - }; - exports.getNewSsoOidcToken = getNewSsoOidcToken; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js -var require_validateTokenExpiry = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateTokenExpiry = void 0; - var property_provider_1 = require_dist_cjs6(); - var constants_1 = require_constants8(); - var validateTokenExpiry = (token) => { - if (token.expiration && token.expiration.getTime() < Date.now()) { - throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false); - } - }; - exports.validateTokenExpiry = validateTokenExpiry; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js -var require_validateTokenKey = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateTokenKey = void 0; - var property_provider_1 = require_dist_cjs6(); - var constants_1 = require_constants8(); - var validateTokenKey = (key, value, forRefresh = false) => { - if (typeof value === "undefined") { - throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${constants_1.REFRESH_MESSAGE}`, false); - } - }; - exports.validateTokenKey = validateTokenKey; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js -var require_writeSSOTokenToFile = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.writeSSOTokenToFile = void 0; - var shared_ini_file_loader_1 = require_dist_cjs38(); - var fs_1 = require("fs"); - var { writeFile } = fs_1.promises; - var writeSSOTokenToFile = (id, ssoToken) => { - const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id); - const tokenString = JSON.stringify(ssoToken, null, 2); - return writeFile(tokenFilepath, tokenString); - }; - exports.writeSSOTokenToFile = writeSSOTokenToFile; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js -var require_fromSso = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromSso = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var constants_1 = require_constants8(); - var getNewSsoOidcToken_1 = require_getNewSsoOidcToken(); - var validateTokenExpiry_1 = require_validateTokenExpiry(); - var validateTokenKey_1 = require_validateTokenKey(); - var writeSSOTokenToFile_1 = require_writeSSOTokenToFile(); - var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0); - var fromSso = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); - const profile = profiles[profileName]; - if (!profile) { - throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); - } else if (!profile["sso_session"]) { - throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); - } - const ssoSessionName = profile["sso_session"]; - const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); - const ssoSession = ssoSessions[ssoSessionName]; - if (!ssoSession) { - throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false); - } - for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { - if (!ssoSession[ssoSessionRequiredKey]) { - throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false); - } - } - const ssoStartUrl = ssoSession["sso_start_url"]; - const ssoRegion = ssoSession["sso_region"]; - let ssoToken; - try { - ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName); - } catch (e) { - throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false); - } - (0, validateTokenKey_1.validateTokenKey)("accessToken", ssoToken.accessToken); - (0, validateTokenKey_1.validateTokenKey)("expiresAt", ssoToken.expiresAt); - const { accessToken, expiresAt } = ssoToken; - const existingToken = { token: accessToken, expiration: new Date(expiresAt) }; - if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) { - return existingToken; - } - if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1e3) { - (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); - return existingToken; - } - (0, validateTokenKey_1.validateTokenKey)("clientId", ssoToken.clientId, true); - (0, validateTokenKey_1.validateTokenKey)("clientSecret", ssoToken.clientSecret, true); - (0, validateTokenKey_1.validateTokenKey)("refreshToken", ssoToken.refreshToken, true); - try { - lastRefreshAttemptTime.setTime(Date.now()); - const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion); - (0, validateTokenKey_1.validateTokenKey)("accessToken", newSsoOidcToken.accessToken); - (0, validateTokenKey_1.validateTokenKey)("expiresIn", newSsoOidcToken.expiresIn); - const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); - try { - await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, { - ...ssoToken, - accessToken: newSsoOidcToken.accessToken, - expiresAt: newTokenExpiration.toISOString(), - refreshToken: newSsoOidcToken.refreshToken - }); - } catch (error) { - } - return { - token: newSsoOidcToken.accessToken, - expiration: newTokenExpiration - }; - } catch (error) { - (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); - return existingToken; - } - }; - exports.fromSso = fromSso; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js -var require_fromStatic3 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromStatic = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromStatic = ({ token }) => async () => { - if (!token || !token.token) { - throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false); - } - return token; - }; - exports.fromStatic = fromStatic; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js -var require_nodeProvider = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.nodeProvider = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromSso_1 = require_fromSso(); - var nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => { - throw new property_provider_1.TokenProviderError("Could not load token from any providers", false); - }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0); - exports.nodeProvider = nodeProvider; - } -}); - -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js -var require_dist_cjs48 = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromSso(), exports); - tslib_1.__exportStar(require_fromStatic3(), exports); - tslib_1.__exportStar(require_nodeProvider(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js -var require_resolveSSOCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveSSOCredentials = void 0; - var client_sso_1 = require_dist_cjs46(); - var token_providers_1 = require_dist_cjs48(); - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; - var SHOULD_FAIL_CREDENTIAL_CHAIN = false; - var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile }) => { - let token; - const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; - if (ssoSession) { - try { - const _token = await (0, token_providers_1.fromSso)({ profile })(); - token = { - accessToken: _token.token, - expiresAt: new Date(_token.expiration).toISOString() - }; - } catch (e) { - throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - } else { - try { - token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl); - } catch (e) { - throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - } - if (new Date(token.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) { - throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - const { accessToken } = token; - const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion }); - let ssoResp; - try { - ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({ - accountId: ssoAccountId, - roleName: ssoRoleName, - accessToken - })); - } catch (e) { - throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN); - } - const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp; - if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { - throw new property_provider_1.CredentialsProviderError("SSO returns an invalid temporary credential.", SHOULD_FAIL_CREDENTIAL_CHAIN); - } - return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) }; - }; - exports.resolveSSOCredentials = resolveSSOCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js -var require_validateSsoProfile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateSsoProfile = void 0; - var property_provider_1 = require_dist_cjs6(); - var validateSsoProfile = (profile) => { - const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; - if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { - throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")} -Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false); - } - return profile; - }; - exports.validateSsoProfile = validateSsoProfile; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js -var require_fromSSO = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromSSO = void 0; - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var isSsoProfile_1 = require_isSsoProfile(); - var resolveSSOCredentials_1 = require_resolveSSOCredentials(); - var validateSsoProfile_1 = require_validateSsoProfile(); - var fromSSO = (init = {}) => async () => { - const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init; - const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); - if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - const profile = profiles[profileName]; - if (!profile) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`); - } - if (!(0, isSsoProfile_1.isSsoProfile)(profile)) { - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`); - } - if (profile === null || profile === void 0 ? void 0 : profile.sso_session) { - const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); - const session = ssoSessions[profile.sso_session]; - const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; - if (ssoRegion && ssoRegion !== session.sso_region) { - throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false); - } - if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { - throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false); - } - profile.sso_region = session.sso_region; - profile.sso_start_url = session.sso_start_url; - } - const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile); - return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ - ssoStartUrl: sso_start_url, - ssoSession: sso_session, - ssoAccountId: sso_account_id, - ssoRegion: sso_region, - ssoRoleName: sso_role_name, - ssoClient, - profile: profileName - }); - } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { - throw new property_provider_1.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"'); - } else { - return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ - ssoStartUrl, - ssoSession, - ssoAccountId, - ssoRegion, - ssoRoleName, - ssoClient, - profile: profileName - }); - } - }; - exports.fromSSO = fromSSO; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js -var require_types7 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js -var require_dist_cjs49 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromSSO(), exports); - tslib_1.__exportStar(require_isSsoProfile(), exports); - tslib_1.__exportStar(require_types7(), exports); - tslib_1.__exportStar(require_validateSsoProfile(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js -var require_resolveSsoCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveSsoCredentials = exports.isSsoProfile = void 0; - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_sso_2 = require_dist_cjs49(); - Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { - return credential_provider_sso_2.isSsoProfile; - } }); - var resolveSsoCredentials = (data) => { - const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data); - return (0, credential_provider_sso_1.fromSSO)({ - ssoStartUrl: sso_start_url, - ssoAccountId: sso_account_id, - ssoSession: sso_session, - ssoRegion: sso_region, - ssoRoleName: sso_role_name - })(); - }; - exports.resolveSsoCredentials = resolveSsoCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js -var require_resolveStaticCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0; - var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1; - exports.isStaticCredsProfile = isStaticCredsProfile; - var resolveStaticCredentials = (profile) => Promise.resolve({ - accessKeyId: profile.aws_access_key_id, - secretAccessKey: profile.aws_secret_access_key, - sessionToken: profile.aws_session_token - }); - exports.resolveStaticCredentials = resolveStaticCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js -var require_fromWebToken = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromWebToken = void 0; - var property_provider_1 = require_dist_cjs6(); - var fromWebToken = (init) => () => { - const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity } = init; - if (!roleAssumerWithWebIdentity) { - throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity, but no role assumption callback was provided.`, false); - } - return roleAssumerWithWebIdentity({ - RoleArn: roleArn, - RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`, - WebIdentityToken: webIdentityToken, - ProviderId: providerId, - PolicyArns: policyArns, - Policy: policy, - DurationSeconds: durationSeconds - }); - }; - exports.fromWebToken = fromWebToken; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js -var require_fromTokenFile = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromTokenFile = void 0; - var property_provider_1 = require_dist_cjs6(); - var fs_1 = require("fs"); - var fromWebToken_1 = require_fromWebToken(); - var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; - var ENV_ROLE_ARN = "AWS_ROLE_ARN"; - var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; - var fromTokenFile = (init = {}) => async () => { - var _a, _b, _c; - const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE]; - const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN]; - const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME]; - if (!webIdentityTokenFile || !roleArn) { - throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified"); - } - return (0, fromWebToken_1.fromWebToken)({ - ...init, - webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }), - roleArn, - roleSessionName - })(); - }; - exports.fromTokenFile = fromTokenFile; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js -var require_dist_cjs50 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromTokenFile(), exports); - tslib_1.__exportStar(require_fromWebToken(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js -var require_resolveWebIdentityCredentials = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; - var credential_provider_web_identity_1 = require_dist_cjs50(); - var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; - exports.isWebIdentityProfile = isWebIdentityProfile; - var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ - webIdentityTokenFile: profile.web_identity_token_file, - roleArn: profile.role_arn, - roleSessionName: profile.role_session_name, - roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity - })(); - exports.resolveWebIdentityCredentials = resolveWebIdentityCredentials; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js -var require_resolveProfileData = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveProfileData = void 0; - var property_provider_1 = require_dist_cjs6(); - var resolveAssumeRoleCredentials_1 = require_resolveAssumeRoleCredentials(); - var resolveProcessCredentials_1 = require_resolveProcessCredentials2(); - var resolveSsoCredentials_1 = require_resolveSsoCredentials(); - var resolveStaticCredentials_1 = require_resolveStaticCredentials(); - var resolveWebIdentityCredentials_1 = require_resolveWebIdentityCredentials(); - var resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => { - const data = profiles[profileName]; - if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { - return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); - } - if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) { - return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles); - } - if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { - return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); - } - if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) { - return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options); - } - if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) { - return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName); - } - if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) { - return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data); - } - throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`); - }; - exports.resolveProfileData = resolveProfileData; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js -var require_fromIni = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fromIni = void 0; - var shared_ini_file_loader_1 = require_dist_cjs38(); - var resolveProfileData_1 = require_resolveProfileData(); - var fromIni = (init = {}) => async () => { - const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); - return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init); - }; - exports.fromIni = fromIni; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js -var require_dist_cjs51 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_fromIni(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js -var require_remoteProvider = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.remoteProvider = exports.ENV_IMDS_DISABLED = void 0; - var credential_provider_imds_1 = require_dist_cjs40(); - var property_provider_1 = require_dist_cjs6(); - exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; - var remoteProvider = (init) => { - if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) { - return (0, credential_provider_imds_1.fromContainerMetadata)(init); - } - if (process.env[exports.ENV_IMDS_DISABLED]) { - return async () => { - throw new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"); - }; - } - return (0, credential_provider_imds_1.fromInstanceMetadata)(init); - }; - exports.remoteProvider = remoteProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js -var require_defaultProvider = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultProvider = void 0; - var credential_provider_env_1 = require_dist_cjs37(); - var credential_provider_ini_1 = require_dist_cjs51(); - var credential_provider_process_1 = require_dist_cjs41(); - var credential_provider_sso_1 = require_dist_cjs49(); - var credential_provider_web_identity_1 = require_dist_cjs50(); - var property_provider_1 = require_dist_cjs6(); - var shared_ini_file_loader_1 = require_dist_cjs38(); - var remoteProvider_1 = require_remoteProvider(); - var defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()], (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => { - throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false); - }), (credentials) => credentials.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, (credentials) => credentials.expiration !== void 0); - exports.defaultProvider = defaultProvider; - } -}); - -// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js -var require_dist_cjs52 = __commonJS({ - "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_defaultProvider(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js -var require_ruleset3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; - var F = "required"; - var G = "type"; - var H = "fn"; - var I = "argv"; - var J = "ref"; - var a = false; - var b = true; - var c = "booleanEquals"; - var d = "tree"; - var e = "stringEquals"; - var f = "sigv4"; - var g = "sts"; - var h = "us-east-1"; - var i = "endpoint"; - var j = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; - var k = "error"; - var l = "getAttr"; - var m = { [F]: false, [G]: "String" }; - var n = { [F]: true, "default": false, [G]: "Boolean" }; - var o = { [J]: "Endpoint" }; - var p = { [H]: "isSet", [I]: [{ [J]: "Region" }] }; - var q = { [J]: "Region" }; - var r = { [H]: "aws.partition", [I]: [q], "assign": "PartitionResult" }; - var s = { [J]: "UseFIPS" }; - var t = { [J]: "UseDualStack" }; - var u = { "url": "https://sts.amazonaws.com", "properties": { "authSchemes": [{ "name": f, "signingName": g, "signingRegion": h }] }, "headers": {} }; - var v = {}; - var w = { "conditions": [{ [H]: e, [I]: [q, "aws-global"] }], [i]: u, [G]: i }; - var x = { [H]: c, [I]: [s, true] }; - var y = { [H]: c, [I]: [t, true] }; - var z = { [H]: c, [I]: [true, { [H]: l, [I]: [{ [J]: "PartitionResult" }, "supportsFIPS"] }] }; - var A = { [J]: "PartitionResult" }; - var B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, "supportsDualStack"] }] }; - var C = [{ [H]: "isSet", [I]: [o] }]; - var D = [x]; - var E = [y]; - var _data = { version: "1.0", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: "UseGlobalEndpoint" }, b] }, { [H]: "not", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], [G]: d, rules: [{ conditions: [{ [H]: e, [I]: [q, "ap-northeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-south-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-2"] }], endpoint: u, [G]: i }, w, { conditions: [{ [H]: e, [I]: [q, "ca-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-north-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-3"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "sa-east-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, h] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-east-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-2"] }], endpoint: u, [G]: i }, { endpoint: { url: j, properties: { authSchemes: [{ name: f, signingName: g, signingRegion: "{Region}" }] }, headers: v }, [G]: i }] }, { conditions: C, [G]: d, rules: [{ conditions: D, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G]: k }, { [G]: d, rules: [{ conditions: E, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: i }] }] }, { [G]: d, rules: [{ conditions: [p], [G]: d, rules: [{ conditions: [r], [G]: d, rules: [{ conditions: [x, y], [G]: d, rules: [{ conditions: [z, B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G]: k }] }, { conditions: D, [G]: d, rules: [{ conditions: [z], [G]: d, rules: [{ [G]: d, rules: [{ conditions: [{ [H]: e, [I]: ["aws-us-gov", { [H]: l, [I]: [A, "name"] }] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v, headers: v }, [G]: i }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", [G]: k }] }, { conditions: E, [G]: d, rules: [{ conditions: [B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", [G]: k }] }, { [G]: d, rules: [w, { endpoint: { url: j, properties: v, headers: v }, [G]: i }] }] }] }, { error: "Invalid Configuration: Missing Region", [G]: k }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset3(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver3(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2011-06-15", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "STS", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js -var require_runtimeConfig3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package2()); - var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var credential_provider_node_1 = require_dist_cjs52(); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); - var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); - return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) - }; - }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js -var require_STSClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.STSClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_sdk_sts_1 = require_dist_cjs36(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters2(); - var runtimeConfig_1 = require_runtimeConfig3(); - var STSClient = class _STSClient extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: _STSClient }); - const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); - super(_config_7); - this.config = _config_7; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); - } - }; - exports.STSClient = STSClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js -var require_AssumeRoleWithSAMLCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.AssumeRoleWithSAMLCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var AssumeRoleWithSAMLCommand = class _AssumeRoleWithSAMLCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithSAMLCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "AssumeRoleWithSAMLCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_AssumeRoleWithSAMLCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_AssumeRoleWithSAMLCommand)(output, context); - } - }; - exports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js -var require_DecodeAuthorizationMessageCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DecodeAuthorizationMessageCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_query_1 = require_Aws_query(); - var DecodeAuthorizationMessageCommand = class _DecodeAuthorizationMessageCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DecodeAuthorizationMessageCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "DecodeAuthorizationMessageCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_DecodeAuthorizationMessageCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_DecodeAuthorizationMessageCommand)(output, context); - } - }; - exports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js -var require_GetAccessKeyInfoCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetAccessKeyInfoCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_query_1 = require_Aws_query(); - var GetAccessKeyInfoCommand = class _GetAccessKeyInfoCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetAccessKeyInfoCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetAccessKeyInfoCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_GetAccessKeyInfoCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_GetAccessKeyInfoCommand)(output, context); - } - }; - exports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js -var require_GetCallerIdentityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetCallerIdentityCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_query_1 = require_Aws_query(); - var GetCallerIdentityCommand = class _GetCallerIdentityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetCallerIdentityCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetCallerIdentityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_GetCallerIdentityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_GetCallerIdentityCommand)(output, context); - } - }; - exports.GetCallerIdentityCommand = GetCallerIdentityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js -var require_GetFederationTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetFederationTokenCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var GetFederationTokenCommand = class _GetFederationTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetFederationTokenCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetFederationTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_GetFederationTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_GetFederationTokenCommand)(output, context); - } - }; - exports.GetFederationTokenCommand = GetFederationTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js -var require_GetSessionTokenCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetSessionTokenCommand = exports.$Command = void 0; - var middleware_signing_1 = require_dist_cjs16(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_0(); - var Aws_query_1 = require_Aws_query(); - var GetSessionTokenCommand = class _GetSessionTokenCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetSessionTokenCommand.getEndpointParameterInstructions())); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "STSClient"; - const commandName = "GetSessionTokenCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_query_1.se_GetSessionTokenCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_query_1.de_GetSessionTokenCommand)(output, context); - } - }; - exports.GetSessionTokenCommand = GetSessionTokenCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js -var require_STS = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.STS = void 0; - var smithy_client_1 = require_dist_cjs35(); - var AssumeRoleCommand_1 = require_AssumeRoleCommand(); - var AssumeRoleWithSAMLCommand_1 = require_AssumeRoleWithSAMLCommand(); - var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); - var DecodeAuthorizationMessageCommand_1 = require_DecodeAuthorizationMessageCommand(); - var GetAccessKeyInfoCommand_1 = require_GetAccessKeyInfoCommand(); - var GetCallerIdentityCommand_1 = require_GetCallerIdentityCommand(); - var GetFederationTokenCommand_1 = require_GetFederationTokenCommand(); - var GetSessionTokenCommand_1 = require_GetSessionTokenCommand(); - var STSClient_1 = require_STSClient(); - var commands = { - AssumeRoleCommand: AssumeRoleCommand_1.AssumeRoleCommand, - AssumeRoleWithSAMLCommand: AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand, - AssumeRoleWithWebIdentityCommand: AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand, - DecodeAuthorizationMessageCommand: DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand, - GetAccessKeyInfoCommand: GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand, - GetCallerIdentityCommand: GetCallerIdentityCommand_1.GetCallerIdentityCommand, - GetFederationTokenCommand: GetFederationTokenCommand_1.GetFederationTokenCommand, - GetSessionTokenCommand: GetSessionTokenCommand_1.GetSessionTokenCommand - }; - var STS = class extends STSClient_1.STSClient { - }; - exports.STS = STS; - (0, smithy_client_1.createAggregatedClient)(commands, STS); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js -var require_commands3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_AssumeRoleCommand(), exports); - tslib_1.__exportStar(require_AssumeRoleWithSAMLCommand(), exports); - tslib_1.__exportStar(require_AssumeRoleWithWebIdentityCommand(), exports); - tslib_1.__exportStar(require_DecodeAuthorizationMessageCommand(), exports); - tslib_1.__exportStar(require_GetAccessKeyInfoCommand(), exports); - tslib_1.__exportStar(require_GetCallerIdentityCommand(), exports); - tslib_1.__exportStar(require_GetFederationTokenCommand(), exports); - tslib_1.__exportStar(require_GetSessionTokenCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js -var require_models3 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_0(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js -var require_defaultRoleAssumers = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; - var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); - var STSClient_1 = require_STSClient(); - var getCustomizableStsClientCtor = (baseCtor, customizations) => { - if (!customizations) - return baseCtor; - else - return class CustomizableSTSClient extends baseCtor { - constructor(config) { - super(config); - for (const customization of customizations) { - this.middlewareStack.use(customization); - } - } - }; - }; - var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); - exports.getDefaultRoleAssumer = getDefaultRoleAssumer; - var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); - exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; - var decorateDefaultCredentialProvider = (provider) => (input) => provider({ - roleAssumer: (0, exports.getDefaultRoleAssumer)(input), - roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input), - ...input - }); - exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; - } -}); - -// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js -var require_dist_cjs53 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.STSServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_STSClient(), exports); - tslib_1.__exportStar(require_STS(), exports); - tslib_1.__exportStar(require_commands3(), exports); - tslib_1.__exportStar(require_models3(), exports); - tslib_1.__exportStar(require_defaultRoleAssumers(), exports); - var STSServiceException_1 = require_STSServiceException(); - Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { - return STSServiceException_1.STSServiceException; - } }); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js -var require_ruleset4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ruleSet = void 0; - var r = "required"; - var s = "fn"; - var t = "argv"; - var u = "ref"; - var a = "isSet"; - var b = "tree"; - var c = "error"; - var d = "endpoint"; - var e = "PartitionResult"; - var f = { [r]: false, "type": "String" }; - var g = { [r]: true, "default": false, "type": "Boolean" }; - var h = { [u]: "Endpoint" }; - var i = { [s]: "booleanEquals", [t]: [{ [u]: "UseFIPS" }, true] }; - var j = { [s]: "booleanEquals", [t]: [{ [u]: "UseDualStack" }, true] }; - var k = {}; - var l = { [u]: "Region" }; - var m = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsFIPS"] }] }; - var n = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsDualStack"] }] }; - var o = [i]; - var p = [j]; - var q = [l]; - var _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [s]: a, [t]: [h] }], type: b, rules: [{ conditions: o, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: p, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [s]: a, [t]: q }], type: b, rules: [{ conditions: [{ [s]: "aws.partition", [t]: q, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [m, n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ type: b, rules: [{ conditions: [{ [s]: "stringEquals", [t]: [l, "us-gov-west-1"] }], endpoint: { url: "https://states.us-gov-west-1.amazonaws.com", properties: k, headers: k }, type: d }, { endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }] }; - exports.ruleSet = _data; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js -var require_endpointResolver4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.defaultEndpointResolver = void 0; - var util_endpoints_1 = require_dist_cjs18(); - var ruleset_1 = require_ruleset4(); - var defaultEndpointResolver = (endpointParams, context = {}) => { - return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { - endpointParams, - logger: context.logger - }); - }; - exports.defaultEndpointResolver = defaultEndpointResolver; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js -var require_runtimeConfig_shared4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var smithy_client_1 = require_dist_cjs35(); - var url_parser_1 = require_dist_cjs24(); - var util_base64_1 = require_dist_cjs31(); - var util_utf8_1 = require_dist_cjs13(); - var endpointResolver_1 = require_endpointResolver4(); - var getRuntimeConfig = (config) => ({ - apiVersion: "2016-11-23", - base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, - base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, - disableHostPrefix: config?.disableHostPrefix ?? false, - endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, - logger: config?.logger ?? new smithy_client_1.NoOpLogger(), - serviceId: config?.serviceId ?? "SFN", - urlParser: config?.urlParser ?? url_parser_1.parseUrl, - utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, - utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 - }); - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js -var require_runtimeConfig4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRuntimeConfig = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var package_json_1 = tslib_1.__importDefault(require_package()); - var client_sts_1 = require_dist_cjs53(); - var credential_provider_node_1 = require_dist_cjs52(); - var util_user_agent_node_1 = require_dist_cjs42(); - var config_resolver_1 = require_dist_cjs21(); - var hash_node_1 = require_dist_cjs43(); - var middleware_retry_1 = require_dist_cjs29(); - var node_config_provider_1 = require_dist_cjs39(); - var node_http_handler_1 = require_dist_cjs33(); - var util_body_length_node_1 = require_dist_cjs44(); - var util_retry_1 = require_dist_cjs28(); - var runtimeConfig_shared_1 = require_runtimeConfig_shared4(); - var smithy_client_1 = require_dist_cjs35(); - var util_defaults_mode_node_1 = require_dist_cjs45(); - var smithy_client_2 = require_dist_cjs35(); - var getRuntimeConfig = (config) => { - (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); - const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); - const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); - const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); - return { - ...clientSharedValues, - ...config, - runtime: "node", - defaultsMode, - bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, - credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), - defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), - maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), - region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), - requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), - retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ - ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, - default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE - }), - sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), - streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, - useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), - useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) - }; - }; - exports.getRuntimeConfig = getRuntimeConfig; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js -var require_SFNClient = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SFNClient = exports.__Client = void 0; - var middleware_host_header_1 = require_dist_cjs3(); - var middleware_logger_1 = require_dist_cjs4(); - var middleware_recursion_detection_1 = require_dist_cjs5(); - var middleware_signing_1 = require_dist_cjs16(); - var middleware_user_agent_1 = require_dist_cjs19(); - var config_resolver_1 = require_dist_cjs21(); - var middleware_content_length_1 = require_dist_cjs22(); - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_retry_1 = require_dist_cjs29(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { - return smithy_client_1.Client; - } }); - var EndpointParameters_1 = require_EndpointParameters(); - var runtimeConfig_1 = require_runtimeConfig4(); - var SFNClient = class extends smithy_client_1.Client { - constructor(configuration) { - const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration); - const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); - const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); - const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); - const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); - const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); - const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5); - const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); - super(_config_7); - this.config = _config_7; - this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); - this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); - this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); - this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); - this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config)); - this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); - } - destroy() { - super.destroy(); - } - }; - exports.SFNClient = SFNClient; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js -var require_SFNServiceException = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SFNServiceException = exports.__ServiceException = void 0; - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { - return smithy_client_1.ServiceException; - } }); - var SFNServiceException = class _SFNServiceException extends smithy_client_1.ServiceException { - constructor(options) { - super(options); - Object.setPrototypeOf(this, _SFNServiceException.prototype); - } - }; - exports.SFNServiceException = SFNServiceException; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js -var require_models_04 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ExecutionStartedEventDetailsFilterSensitiveLog = exports.ExecutionFailedEventDetailsFilterSensitiveLog = exports.ExecutionAbortedEventDetailsFilterSensitiveLog = exports.GetActivityTaskOutputFilterSensitiveLog = exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = exports.DescribeStateMachineAliasOutputFilterSensitiveLog = exports.DescribeStateMachineOutputFilterSensitiveLog = exports.DescribeExecutionOutputFilterSensitiveLog = exports.CreateStateMachineAliasInputFilterSensitiveLog = exports.CreateStateMachineInputFilterSensitiveLog = exports.ActivityTimedOutEventDetailsFilterSensitiveLog = exports.ActivitySucceededEventDetailsFilterSensitiveLog = exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = exports.ActivityScheduledEventDetailsFilterSensitiveLog = exports.ActivityFailedEventDetailsFilterSensitiveLog = exports.MissingRequiredParameter = exports.SyncExecutionStatus = exports.InvalidExecutionInput = exports.ExecutionLimitExceeded = exports.ExecutionAlreadyExists = exports.InvalidOutput = exports.TaskTimedOut = exports.TaskDoesNotExist = exports.InvalidToken = exports.HistoryEventType = exports.StateMachineDoesNotExist = exports.StateMachineStatus = exports.MapRunStatus = exports.ExecutionDoesNotExist = exports.ExecutionStatus = exports.ServiceQuotaExceededException = exports.ResourceNotFound = exports.ValidationException = exports.ValidationExceptionReason = exports.StateMachineTypeNotSupported = exports.StateMachineLimitExceeded = exports.StateMachineDeleting = exports.StateMachineAlreadyExists = exports.InvalidTracingConfiguration = exports.InvalidLoggingConfiguration = exports.InvalidDefinition = exports.InvalidArn = exports.StateMachineType = exports.LogLevel = exports.ConflictException = exports.TooManyTags = exports.InvalidName = exports.ActivityWorkerLimitExceeded = exports.ActivityLimitExceeded = exports.ActivityDoesNotExist = void 0; - exports.UpdateStateMachineAliasInputFilterSensitiveLog = exports.UpdateStateMachineInputFilterSensitiveLog = exports.StopExecutionInputFilterSensitiveLog = exports.StartSyncExecutionOutputFilterSensitiveLog = exports.StartSyncExecutionInputFilterSensitiveLog = exports.StartExecutionInputFilterSensitiveLog = exports.SendTaskSuccessInputFilterSensitiveLog = exports.SendTaskFailureInputFilterSensitiveLog = exports.PublishStateMachineVersionInputFilterSensitiveLog = exports.GetExecutionHistoryOutputFilterSensitiveLog = exports.HistoryEventFilterSensitiveLog = exports.TaskTimedOutEventDetailsFilterSensitiveLog = exports.TaskSucceededEventDetailsFilterSensitiveLog = exports.TaskSubmittedEventDetailsFilterSensitiveLog = exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = exports.TaskStartFailedEventDetailsFilterSensitiveLog = exports.TaskScheduledEventDetailsFilterSensitiveLog = exports.TaskFailedEventDetailsFilterSensitiveLog = exports.StateExitedEventDetailsFilterSensitiveLog = exports.StateEnteredEventDetailsFilterSensitiveLog = exports.MapRunFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = exports.ExecutionSucceededEventDetailsFilterSensitiveLog = void 0; - var smithy_client_1 = require_dist_cjs35(); - var SFNServiceException_1 = require_SFNServiceException(); - var ActivityDoesNotExist = class _ActivityDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ActivityDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "ActivityDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityDoesNotExist.prototype); - } - }; - exports.ActivityDoesNotExist = ActivityDoesNotExist; - var ActivityLimitExceeded = class _ActivityLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ActivityLimitExceeded", - $fault: "client", - ...opts - }); - this.name = "ActivityLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityLimitExceeded.prototype); - } - }; - exports.ActivityLimitExceeded = ActivityLimitExceeded; - var ActivityWorkerLimitExceeded = class _ActivityWorkerLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ActivityWorkerLimitExceeded", - $fault: "client", - ...opts - }); - this.name = "ActivityWorkerLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ActivityWorkerLimitExceeded.prototype); - } - }; - exports.ActivityWorkerLimitExceeded = ActivityWorkerLimitExceeded; - var InvalidName = class _InvalidName extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidName", - $fault: "client", - ...opts - }); - this.name = "InvalidName"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidName.prototype); - } - }; - exports.InvalidName = InvalidName; - var TooManyTags = class _TooManyTags extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "TooManyTags", - $fault: "client", - ...opts - }); - this.name = "TooManyTags"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TooManyTags.prototype); - this.resourceName = opts.resourceName; - } - }; - exports.TooManyTags = TooManyTags; - var ConflictException = class _ConflictException extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ConflictException", - $fault: "client", - ...opts - }); - this.name = "ConflictException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ConflictException.prototype); - } - }; - exports.ConflictException = ConflictException; - exports.LogLevel = { - ALL: "ALL", - ERROR: "ERROR", - FATAL: "FATAL", - OFF: "OFF" - }; - exports.StateMachineType = { - EXPRESS: "EXPRESS", - STANDARD: "STANDARD" - }; - var InvalidArn = class _InvalidArn extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidArn", - $fault: "client", - ...opts - }); - this.name = "InvalidArn"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidArn.prototype); - } - }; - exports.InvalidArn = InvalidArn; - var InvalidDefinition = class _InvalidDefinition extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidDefinition", - $fault: "client", - ...opts - }); - this.name = "InvalidDefinition"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidDefinition.prototype); - } - }; - exports.InvalidDefinition = InvalidDefinition; - var InvalidLoggingConfiguration = class _InvalidLoggingConfiguration extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidLoggingConfiguration", - $fault: "client", - ...opts - }); - this.name = "InvalidLoggingConfiguration"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidLoggingConfiguration.prototype); - } - }; - exports.InvalidLoggingConfiguration = InvalidLoggingConfiguration; - var InvalidTracingConfiguration = class _InvalidTracingConfiguration extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidTracingConfiguration", - $fault: "client", - ...opts - }); - this.name = "InvalidTracingConfiguration"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidTracingConfiguration.prototype); - } - }; - exports.InvalidTracingConfiguration = InvalidTracingConfiguration; - var StateMachineAlreadyExists = class _StateMachineAlreadyExists extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineAlreadyExists", - $fault: "client", - ...opts - }); - this.name = "StateMachineAlreadyExists"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineAlreadyExists.prototype); - } - }; - exports.StateMachineAlreadyExists = StateMachineAlreadyExists; - var StateMachineDeleting = class _StateMachineDeleting extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineDeleting", - $fault: "client", - ...opts - }); - this.name = "StateMachineDeleting"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineDeleting.prototype); - } - }; - exports.StateMachineDeleting = StateMachineDeleting; - var StateMachineLimitExceeded = class _StateMachineLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineLimitExceeded", - $fault: "client", - ...opts - }); - this.name = "StateMachineLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineLimitExceeded.prototype); - } - }; - exports.StateMachineLimitExceeded = StateMachineLimitExceeded; - var StateMachineTypeNotSupported = class _StateMachineTypeNotSupported extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineTypeNotSupported", - $fault: "client", - ...opts - }); - this.name = "StateMachineTypeNotSupported"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineTypeNotSupported.prototype); - } - }; - exports.StateMachineTypeNotSupported = StateMachineTypeNotSupported; - exports.ValidationExceptionReason = { - API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", - CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", - INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", - MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER" - }; - var ValidationException = class _ValidationException extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ValidationException", - $fault: "client", - ...opts - }); - this.name = "ValidationException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ValidationException.prototype); - this.reason = opts.reason; - } - }; - exports.ValidationException = ValidationException; - var ResourceNotFound = class _ResourceNotFound extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ResourceNotFound", - $fault: "client", - ...opts - }); - this.name = "ResourceNotFound"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ResourceNotFound.prototype); - this.resourceName = opts.resourceName; - } - }; - exports.ResourceNotFound = ResourceNotFound; - var ServiceQuotaExceededException = class _ServiceQuotaExceededException extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ServiceQuotaExceededException", - $fault: "client", - ...opts - }); - this.name = "ServiceQuotaExceededException"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ServiceQuotaExceededException.prototype); - } - }; - exports.ServiceQuotaExceededException = ServiceQuotaExceededException; - exports.ExecutionStatus = { - ABORTED: "ABORTED", - FAILED: "FAILED", - RUNNING: "RUNNING", - SUCCEEDED: "SUCCEEDED", - TIMED_OUT: "TIMED_OUT" - }; - var ExecutionDoesNotExist = class _ExecutionDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "ExecutionDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionDoesNotExist.prototype); - } - }; - exports.ExecutionDoesNotExist = ExecutionDoesNotExist; - exports.MapRunStatus = { - ABORTED: "ABORTED", - FAILED: "FAILED", - RUNNING: "RUNNING", - SUCCEEDED: "SUCCEEDED" - }; - exports.StateMachineStatus = { - ACTIVE: "ACTIVE", - DELETING: "DELETING" - }; - var StateMachineDoesNotExist = class _StateMachineDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "StateMachineDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "StateMachineDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _StateMachineDoesNotExist.prototype); - } - }; - exports.StateMachineDoesNotExist = StateMachineDoesNotExist; - exports.HistoryEventType = { - ActivityFailed: "ActivityFailed", - ActivityScheduleFailed: "ActivityScheduleFailed", - ActivityScheduled: "ActivityScheduled", - ActivityStarted: "ActivityStarted", - ActivitySucceeded: "ActivitySucceeded", - ActivityTimedOut: "ActivityTimedOut", - ChoiceStateEntered: "ChoiceStateEntered", - ChoiceStateExited: "ChoiceStateExited", - ExecutionAborted: "ExecutionAborted", - ExecutionFailed: "ExecutionFailed", - ExecutionStarted: "ExecutionStarted", - ExecutionSucceeded: "ExecutionSucceeded", - ExecutionTimedOut: "ExecutionTimedOut", - FailStateEntered: "FailStateEntered", - LambdaFunctionFailed: "LambdaFunctionFailed", - LambdaFunctionScheduleFailed: "LambdaFunctionScheduleFailed", - LambdaFunctionScheduled: "LambdaFunctionScheduled", - LambdaFunctionStartFailed: "LambdaFunctionStartFailed", - LambdaFunctionStarted: "LambdaFunctionStarted", - LambdaFunctionSucceeded: "LambdaFunctionSucceeded", - LambdaFunctionTimedOut: "LambdaFunctionTimedOut", - MapIterationAborted: "MapIterationAborted", - MapIterationFailed: "MapIterationFailed", - MapIterationStarted: "MapIterationStarted", - MapIterationSucceeded: "MapIterationSucceeded", - MapRunAborted: "MapRunAborted", - MapRunFailed: "MapRunFailed", - MapRunStarted: "MapRunStarted", - MapRunSucceeded: "MapRunSucceeded", - MapStateAborted: "MapStateAborted", - MapStateEntered: "MapStateEntered", - MapStateExited: "MapStateExited", - MapStateFailed: "MapStateFailed", - MapStateStarted: "MapStateStarted", - MapStateSucceeded: "MapStateSucceeded", - ParallelStateAborted: "ParallelStateAborted", - ParallelStateEntered: "ParallelStateEntered", - ParallelStateExited: "ParallelStateExited", - ParallelStateFailed: "ParallelStateFailed", - ParallelStateStarted: "ParallelStateStarted", - ParallelStateSucceeded: "ParallelStateSucceeded", - PassStateEntered: "PassStateEntered", - PassStateExited: "PassStateExited", - SucceedStateEntered: "SucceedStateEntered", - SucceedStateExited: "SucceedStateExited", - TaskFailed: "TaskFailed", - TaskScheduled: "TaskScheduled", - TaskStartFailed: "TaskStartFailed", - TaskStarted: "TaskStarted", - TaskStateAborted: "TaskStateAborted", - TaskStateEntered: "TaskStateEntered", - TaskStateExited: "TaskStateExited", - TaskSubmitFailed: "TaskSubmitFailed", - TaskSubmitted: "TaskSubmitted", - TaskSucceeded: "TaskSucceeded", - TaskTimedOut: "TaskTimedOut", - WaitStateAborted: "WaitStateAborted", - WaitStateEntered: "WaitStateEntered", - WaitStateExited: "WaitStateExited" - }; - var InvalidToken = class _InvalidToken extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidToken", - $fault: "client", - ...opts - }); - this.name = "InvalidToken"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidToken.prototype); - } - }; - exports.InvalidToken = InvalidToken; - var TaskDoesNotExist = class _TaskDoesNotExist extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "TaskDoesNotExist", - $fault: "client", - ...opts - }); - this.name = "TaskDoesNotExist"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TaskDoesNotExist.prototype); - } - }; - exports.TaskDoesNotExist = TaskDoesNotExist; - var TaskTimedOut = class _TaskTimedOut extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "TaskTimedOut", - $fault: "client", - ...opts - }); - this.name = "TaskTimedOut"; - this.$fault = "client"; - Object.setPrototypeOf(this, _TaskTimedOut.prototype); - } - }; - exports.TaskTimedOut = TaskTimedOut; - var InvalidOutput = class _InvalidOutput extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidOutput", - $fault: "client", - ...opts - }); - this.name = "InvalidOutput"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidOutput.prototype); - } - }; - exports.InvalidOutput = InvalidOutput; - var ExecutionAlreadyExists = class _ExecutionAlreadyExists extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionAlreadyExists", - $fault: "client", - ...opts - }); - this.name = "ExecutionAlreadyExists"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionAlreadyExists.prototype); - } - }; - exports.ExecutionAlreadyExists = ExecutionAlreadyExists; - var ExecutionLimitExceeded = class _ExecutionLimitExceeded extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "ExecutionLimitExceeded", - $fault: "client", - ...opts - }); - this.name = "ExecutionLimitExceeded"; - this.$fault = "client"; - Object.setPrototypeOf(this, _ExecutionLimitExceeded.prototype); - } - }; - exports.ExecutionLimitExceeded = ExecutionLimitExceeded; - var InvalidExecutionInput = class _InvalidExecutionInput extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "InvalidExecutionInput", - $fault: "client", - ...opts - }); - this.name = "InvalidExecutionInput"; - this.$fault = "client"; - Object.setPrototypeOf(this, _InvalidExecutionInput.prototype); - } - }; - exports.InvalidExecutionInput = InvalidExecutionInput; - exports.SyncExecutionStatus = { - FAILED: "FAILED", - SUCCEEDED: "SUCCEEDED", - TIMED_OUT: "TIMED_OUT" - }; - var MissingRequiredParameter = class _MissingRequiredParameter extends SFNServiceException_1.SFNServiceException { - constructor(opts) { - super({ - name: "MissingRequiredParameter", - $fault: "client", - ...opts - }); - this.name = "MissingRequiredParameter"; - this.$fault = "client"; - Object.setPrototypeOf(this, _MissingRequiredParameter.prototype); - } - }; - exports.MissingRequiredParameter = MissingRequiredParameter; - var ActivityFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ActivityFailedEventDetailsFilterSensitiveLog = ActivityFailedEventDetailsFilterSensitiveLog; - var ActivityScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.ActivityScheduledEventDetailsFilterSensitiveLog = ActivityScheduledEventDetailsFilterSensitiveLog; - var ActivityScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = ActivityScheduleFailedEventDetailsFilterSensitiveLog; - var ActivitySucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.ActivitySucceededEventDetailsFilterSensitiveLog = ActivitySucceededEventDetailsFilterSensitiveLog; - var ActivityTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ActivityTimedOutEventDetailsFilterSensitiveLog = ActivityTimedOutEventDetailsFilterSensitiveLog; - var CreateStateMachineInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } - }); - exports.CreateStateMachineInputFilterSensitiveLog = CreateStateMachineInputFilterSensitiveLog; - var CreateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports.CreateStateMachineAliasInputFilterSensitiveLog = CreateStateMachineAliasInputFilterSensitiveLog; - var DescribeExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING }, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.DescribeExecutionOutputFilterSensitiveLog = DescribeExecutionOutputFilterSensitiveLog; - var DescribeStateMachineOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports.DescribeStateMachineOutputFilterSensitiveLog = DescribeStateMachineOutputFilterSensitiveLog; - var DescribeStateMachineAliasOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports.DescribeStateMachineAliasOutputFilterSensitiveLog = DescribeStateMachineAliasOutputFilterSensitiveLog; - var DescribeStateMachineForExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING } - }); - exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = DescribeStateMachineForExecutionOutputFilterSensitiveLog; - var GetActivityTaskOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.GetActivityTaskOutputFilterSensitiveLog = GetActivityTaskOutputFilterSensitiveLog; - var ExecutionAbortedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ExecutionAbortedEventDetailsFilterSensitiveLog = ExecutionAbortedEventDetailsFilterSensitiveLog; - var ExecutionFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ExecutionFailedEventDetailsFilterSensitiveLog = ExecutionFailedEventDetailsFilterSensitiveLog; - var ExecutionStartedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.ExecutionStartedEventDetailsFilterSensitiveLog = ExecutionStartedEventDetailsFilterSensitiveLog; - var ExecutionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.ExecutionSucceededEventDetailsFilterSensitiveLog = ExecutionSucceededEventDetailsFilterSensitiveLog; - var ExecutionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = ExecutionTimedOutEventDetailsFilterSensitiveLog; - var LambdaFunctionFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = LambdaFunctionFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = LambdaFunctionScheduledEventDetailsFilterSensitiveLog; - var LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = LambdaFunctionStartFailedEventDetailsFilterSensitiveLog; - var LambdaFunctionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = LambdaFunctionSucceededEventDetailsFilterSensitiveLog; - var LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = LambdaFunctionTimedOutEventDetailsFilterSensitiveLog; - var MapRunFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.MapRunFailedEventDetailsFilterSensitiveLog = MapRunFailedEventDetailsFilterSensitiveLog; - var StateEnteredEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.StateEnteredEventDetailsFilterSensitiveLog = StateEnteredEventDetailsFilterSensitiveLog; - var StateExitedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.StateExitedEventDetailsFilterSensitiveLog = StateExitedEventDetailsFilterSensitiveLog; - var TaskFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskFailedEventDetailsFilterSensitiveLog = TaskFailedEventDetailsFilterSensitiveLog; - var TaskScheduledEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.parameters && { parameters: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskScheduledEventDetailsFilterSensitiveLog = TaskScheduledEventDetailsFilterSensitiveLog; - var TaskStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskStartFailedEventDetailsFilterSensitiveLog = TaskStartFailedEventDetailsFilterSensitiveLog; - var TaskSubmitFailedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = TaskSubmitFailedEventDetailsFilterSensitiveLog; - var TaskSubmittedEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskSubmittedEventDetailsFilterSensitiveLog = TaskSubmittedEventDetailsFilterSensitiveLog; - var TaskSucceededEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskSucceededEventDetailsFilterSensitiveLog = TaskSucceededEventDetailsFilterSensitiveLog; - var TaskTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.TaskTimedOutEventDetailsFilterSensitiveLog = TaskTimedOutEventDetailsFilterSensitiveLog; - var HistoryEventFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.activityFailedEventDetails && { - activityFailedEventDetails: (0, exports.ActivityFailedEventDetailsFilterSensitiveLog)(obj.activityFailedEventDetails) - }, - ...obj.activityScheduleFailedEventDetails && { - activityScheduleFailedEventDetails: (0, exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog)(obj.activityScheduleFailedEventDetails) - }, - ...obj.activityScheduledEventDetails && { - activityScheduledEventDetails: (0, exports.ActivityScheduledEventDetailsFilterSensitiveLog)(obj.activityScheduledEventDetails) - }, - ...obj.activitySucceededEventDetails && { - activitySucceededEventDetails: (0, exports.ActivitySucceededEventDetailsFilterSensitiveLog)(obj.activitySucceededEventDetails) - }, - ...obj.activityTimedOutEventDetails && { - activityTimedOutEventDetails: (0, exports.ActivityTimedOutEventDetailsFilterSensitiveLog)(obj.activityTimedOutEventDetails) - }, - ...obj.taskFailedEventDetails && { - taskFailedEventDetails: (0, exports.TaskFailedEventDetailsFilterSensitiveLog)(obj.taskFailedEventDetails) - }, - ...obj.taskScheduledEventDetails && { - taskScheduledEventDetails: (0, exports.TaskScheduledEventDetailsFilterSensitiveLog)(obj.taskScheduledEventDetails) - }, - ...obj.taskStartFailedEventDetails && { - taskStartFailedEventDetails: (0, exports.TaskStartFailedEventDetailsFilterSensitiveLog)(obj.taskStartFailedEventDetails) - }, - ...obj.taskSubmitFailedEventDetails && { - taskSubmitFailedEventDetails: (0, exports.TaskSubmitFailedEventDetailsFilterSensitiveLog)(obj.taskSubmitFailedEventDetails) - }, - ...obj.taskSubmittedEventDetails && { - taskSubmittedEventDetails: (0, exports.TaskSubmittedEventDetailsFilterSensitiveLog)(obj.taskSubmittedEventDetails) - }, - ...obj.taskSucceededEventDetails && { - taskSucceededEventDetails: (0, exports.TaskSucceededEventDetailsFilterSensitiveLog)(obj.taskSucceededEventDetails) - }, - ...obj.taskTimedOutEventDetails && { - taskTimedOutEventDetails: (0, exports.TaskTimedOutEventDetailsFilterSensitiveLog)(obj.taskTimedOutEventDetails) - }, - ...obj.executionFailedEventDetails && { - executionFailedEventDetails: (0, exports.ExecutionFailedEventDetailsFilterSensitiveLog)(obj.executionFailedEventDetails) - }, - ...obj.executionStartedEventDetails && { - executionStartedEventDetails: (0, exports.ExecutionStartedEventDetailsFilterSensitiveLog)(obj.executionStartedEventDetails) - }, - ...obj.executionSucceededEventDetails && { - executionSucceededEventDetails: (0, exports.ExecutionSucceededEventDetailsFilterSensitiveLog)(obj.executionSucceededEventDetails) - }, - ...obj.executionAbortedEventDetails && { - executionAbortedEventDetails: (0, exports.ExecutionAbortedEventDetailsFilterSensitiveLog)(obj.executionAbortedEventDetails) - }, - ...obj.executionTimedOutEventDetails && { - executionTimedOutEventDetails: (0, exports.ExecutionTimedOutEventDetailsFilterSensitiveLog)(obj.executionTimedOutEventDetails) - }, - ...obj.lambdaFunctionFailedEventDetails && { - lambdaFunctionFailedEventDetails: (0, exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionFailedEventDetails) - }, - ...obj.lambdaFunctionScheduleFailedEventDetails && { - lambdaFunctionScheduleFailedEventDetails: (0, exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduleFailedEventDetails) - }, - ...obj.lambdaFunctionScheduledEventDetails && { - lambdaFunctionScheduledEventDetails: (0, exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduledEventDetails) - }, - ...obj.lambdaFunctionStartFailedEventDetails && { - lambdaFunctionStartFailedEventDetails: (0, exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionStartFailedEventDetails) - }, - ...obj.lambdaFunctionSucceededEventDetails && { - lambdaFunctionSucceededEventDetails: (0, exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog)(obj.lambdaFunctionSucceededEventDetails) - }, - ...obj.lambdaFunctionTimedOutEventDetails && { - lambdaFunctionTimedOutEventDetails: (0, exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog)(obj.lambdaFunctionTimedOutEventDetails) - }, - ...obj.stateEnteredEventDetails && { - stateEnteredEventDetails: (0, exports.StateEnteredEventDetailsFilterSensitiveLog)(obj.stateEnteredEventDetails) - }, - ...obj.stateExitedEventDetails && { - stateExitedEventDetails: (0, exports.StateExitedEventDetailsFilterSensitiveLog)(obj.stateExitedEventDetails) - }, - ...obj.mapRunFailedEventDetails && { - mapRunFailedEventDetails: (0, exports.MapRunFailedEventDetailsFilterSensitiveLog)(obj.mapRunFailedEventDetails) - } - }); - exports.HistoryEventFilterSensitiveLog = HistoryEventFilterSensitiveLog; - var GetExecutionHistoryOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.events && { events: obj.events.map((item) => (0, exports.HistoryEventFilterSensitiveLog)(item)) } - }); - exports.GetExecutionHistoryOutputFilterSensitiveLog = GetExecutionHistoryOutputFilterSensitiveLog; - var PublishStateMachineVersionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports.PublishStateMachineVersionInputFilterSensitiveLog = PublishStateMachineVersionInputFilterSensitiveLog; - var SendTaskFailureInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.SendTaskFailureInputFilterSensitiveLog = SendTaskFailureInputFilterSensitiveLog; - var SendTaskSuccessInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.SendTaskSuccessInputFilterSensitiveLog = SendTaskSuccessInputFilterSensitiveLog; - var StartExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.StartExecutionInputFilterSensitiveLog = StartExecutionInputFilterSensitiveLog; - var StartSyncExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } - }); - exports.StartSyncExecutionInputFilterSensitiveLog = StartSyncExecutionInputFilterSensitiveLog; - var StartSyncExecutionOutputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING }, - ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, - ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } - }); - exports.StartSyncExecutionOutputFilterSensitiveLog = StartSyncExecutionOutputFilterSensitiveLog; - var StopExecutionInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, - ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } - }); - exports.StopExecutionInputFilterSensitiveLog = StopExecutionInputFilterSensitiveLog; - var UpdateStateMachineInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, - ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } - }); - exports.UpdateStateMachineInputFilterSensitiveLog = UpdateStateMachineInputFilterSensitiveLog; - var UpdateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ - ...obj, - ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } - }); - exports.UpdateStateMachineAliasInputFilterSensitiveLog = UpdateStateMachineAliasInputFilterSensitiveLog; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js -var require_Aws_json1_0 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.de_ListActivitiesCommand = exports.de_GetExecutionHistoryCommand = exports.de_GetActivityTaskCommand = exports.de_DescribeStateMachineForExecutionCommand = exports.de_DescribeStateMachineAliasCommand = exports.de_DescribeStateMachineCommand = exports.de_DescribeMapRunCommand = exports.de_DescribeExecutionCommand = exports.de_DescribeActivityCommand = exports.de_DeleteStateMachineVersionCommand = exports.de_DeleteStateMachineAliasCommand = exports.de_DeleteStateMachineCommand = exports.de_DeleteActivityCommand = exports.de_CreateStateMachineAliasCommand = exports.de_CreateStateMachineCommand = exports.de_CreateActivityCommand = exports.se_UpdateStateMachineAliasCommand = exports.se_UpdateStateMachineCommand = exports.se_UpdateMapRunCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_StopExecutionCommand = exports.se_StartSyncExecutionCommand = exports.se_StartExecutionCommand = exports.se_SendTaskSuccessCommand = exports.se_SendTaskHeartbeatCommand = exports.se_SendTaskFailureCommand = exports.se_PublishStateMachineVersionCommand = exports.se_ListTagsForResourceCommand = exports.se_ListStateMachineVersionsCommand = exports.se_ListStateMachinesCommand = exports.se_ListStateMachineAliasesCommand = exports.se_ListMapRunsCommand = exports.se_ListExecutionsCommand = exports.se_ListActivitiesCommand = exports.se_GetExecutionHistoryCommand = exports.se_GetActivityTaskCommand = exports.se_DescribeStateMachineForExecutionCommand = exports.se_DescribeStateMachineAliasCommand = exports.se_DescribeStateMachineCommand = exports.se_DescribeMapRunCommand = exports.se_DescribeExecutionCommand = exports.se_DescribeActivityCommand = exports.se_DeleteStateMachineVersionCommand = exports.se_DeleteStateMachineAliasCommand = exports.se_DeleteStateMachineCommand = exports.se_DeleteActivityCommand = exports.se_CreateStateMachineAliasCommand = exports.se_CreateStateMachineCommand = exports.se_CreateActivityCommand = void 0; - exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; - var protocol_http_1 = require_dist_cjs2(); - var smithy_client_1 = require_dist_cjs35(); - var models_0_1 = require_models_04(); - var SFNServiceException_1 = require_SFNServiceException(); - var se_CreateActivityCommand = async (input, context) => { - const headers = sharedHeaders("CreateActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_CreateActivityCommand = se_CreateActivityCommand; - var se_CreateStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("CreateStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_CreateStateMachineCommand = se_CreateStateMachineCommand; - var se_CreateStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("CreateStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_CreateStateMachineAliasCommand = se_CreateStateMachineAliasCommand; - var se_DeleteActivityCommand = async (input, context) => { - const headers = sharedHeaders("DeleteActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DeleteActivityCommand = se_DeleteActivityCommand; - var se_DeleteStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DeleteStateMachineCommand = se_DeleteStateMachineCommand; - var se_DeleteStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DeleteStateMachineAliasCommand = se_DeleteStateMachineAliasCommand; - var se_DeleteStateMachineVersionCommand = async (input, context) => { - const headers = sharedHeaders("DeleteStateMachineVersion"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DeleteStateMachineVersionCommand = se_DeleteStateMachineVersionCommand; - var se_DescribeActivityCommand = async (input, context) => { - const headers = sharedHeaders("DescribeActivity"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeActivityCommand = se_DescribeActivityCommand; - var se_DescribeExecutionCommand = async (input, context) => { - const headers = sharedHeaders("DescribeExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeExecutionCommand = se_DescribeExecutionCommand; - var se_DescribeMapRunCommand = async (input, context) => { - const headers = sharedHeaders("DescribeMapRun"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeMapRunCommand = se_DescribeMapRunCommand; - var se_DescribeStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeStateMachineCommand = se_DescribeStateMachineCommand; - var se_DescribeStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeStateMachineAliasCommand = se_DescribeStateMachineAliasCommand; - var se_DescribeStateMachineForExecutionCommand = async (input, context) => { - const headers = sharedHeaders("DescribeStateMachineForExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_DescribeStateMachineForExecutionCommand = se_DescribeStateMachineForExecutionCommand; - var se_GetActivityTaskCommand = async (input, context) => { - const headers = sharedHeaders("GetActivityTask"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetActivityTaskCommand = se_GetActivityTaskCommand; - var se_GetExecutionHistoryCommand = async (input, context) => { - const headers = sharedHeaders("GetExecutionHistory"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_GetExecutionHistoryCommand = se_GetExecutionHistoryCommand; - var se_ListActivitiesCommand = async (input, context) => { - const headers = sharedHeaders("ListActivities"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListActivitiesCommand = se_ListActivitiesCommand; - var se_ListExecutionsCommand = async (input, context) => { - const headers = sharedHeaders("ListExecutions"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListExecutionsCommand = se_ListExecutionsCommand; - var se_ListMapRunsCommand = async (input, context) => { - const headers = sharedHeaders("ListMapRuns"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListMapRunsCommand = se_ListMapRunsCommand; - var se_ListStateMachineAliasesCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachineAliases"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListStateMachineAliasesCommand = se_ListStateMachineAliasesCommand; - var se_ListStateMachinesCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachines"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListStateMachinesCommand = se_ListStateMachinesCommand; - var se_ListStateMachineVersionsCommand = async (input, context) => { - const headers = sharedHeaders("ListStateMachineVersions"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListStateMachineVersionsCommand = se_ListStateMachineVersionsCommand; - var se_ListTagsForResourceCommand = async (input, context) => { - const headers = sharedHeaders("ListTagsForResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_ListTagsForResourceCommand = se_ListTagsForResourceCommand; - var se_PublishStateMachineVersionCommand = async (input, context) => { - const headers = sharedHeaders("PublishStateMachineVersion"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_PublishStateMachineVersionCommand = se_PublishStateMachineVersionCommand; - var se_SendTaskFailureCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskFailure"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_SendTaskFailureCommand = se_SendTaskFailureCommand; - var se_SendTaskHeartbeatCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskHeartbeat"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_SendTaskHeartbeatCommand = se_SendTaskHeartbeatCommand; - var se_SendTaskSuccessCommand = async (input, context) => { - const headers = sharedHeaders("SendTaskSuccess"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_SendTaskSuccessCommand = se_SendTaskSuccessCommand; - var se_StartExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StartExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_StartExecutionCommand = se_StartExecutionCommand; - var se_StartSyncExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StartSyncExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - let { hostname: resolvedHostname } = await context.endpoint(); - if (context.disableHostPrefix !== true) { - resolvedHostname = "sync-" + resolvedHostname; - if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) { - throw new Error("ValidationError: prefixed hostname must be hostname compatible."); - } - } - return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); - }; - exports.se_StartSyncExecutionCommand = se_StartSyncExecutionCommand; - var se_StopExecutionCommand = async (input, context) => { - const headers = sharedHeaders("StopExecution"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_StopExecutionCommand = se_StopExecutionCommand; - var se_TagResourceCommand = async (input, context) => { - const headers = sharedHeaders("TagResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_TagResourceCommand = se_TagResourceCommand; - var se_UntagResourceCommand = async (input, context) => { - const headers = sharedHeaders("UntagResource"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_UntagResourceCommand = se_UntagResourceCommand; - var se_UpdateMapRunCommand = async (input, context) => { - const headers = sharedHeaders("UpdateMapRun"); - let body; - body = JSON.stringify(se_UpdateMapRunInput(input, context)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_UpdateMapRunCommand = se_UpdateMapRunCommand; - var se_UpdateStateMachineCommand = async (input, context) => { - const headers = sharedHeaders("UpdateStateMachine"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_UpdateStateMachineCommand = se_UpdateStateMachineCommand; - var se_UpdateStateMachineAliasCommand = async (input, context) => { - const headers = sharedHeaders("UpdateStateMachineAlias"); - let body; - body = JSON.stringify((0, smithy_client_1._json)(input)); - return buildHttpRpcRequest(context, headers, "/", void 0, body); - }; - exports.se_UpdateStateMachineAliasCommand = se_UpdateStateMachineAliasCommand; - var de_CreateActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateActivityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateActivityOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_CreateActivityCommand = de_CreateActivityCommand; - var de_CreateActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityLimitExceeded": - case "com.amazonaws.sfn#ActivityLimitExceeded": - throw await de_ActivityLimitExceededRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_CreateStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateStateMachineCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_CreateStateMachineCommand = de_CreateStateMachineCommand; - var de_CreateStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidDefinition": - case "com.amazonaws.sfn#InvalidDefinition": - throw await de_InvalidDefinitionRes(parsedOutput, context); - case "InvalidLoggingConfiguration": - case "com.amazonaws.sfn#InvalidLoggingConfiguration": - throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "InvalidTracingConfiguration": - case "com.amazonaws.sfn#InvalidTracingConfiguration": - throw await de_InvalidTracingConfigurationRes(parsedOutput, context); - case "StateMachineAlreadyExists": - case "com.amazonaws.sfn#StateMachineAlreadyExists": - throw await de_StateMachineAlreadyExistsRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineLimitExceeded": - case "com.amazonaws.sfn#StateMachineLimitExceeded": - throw await de_StateMachineLimitExceededRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_CreateStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_CreateStateMachineAliasCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_CreateStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_CreateStateMachineAliasCommand = de_CreateStateMachineAliasCommand; - var de_CreateStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DeleteActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteActivityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DeleteActivityCommand = de_DeleteActivityCommand; - var de_DeleteActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DeleteStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DeleteStateMachineCommand = de_DeleteStateMachineCommand; - var de_DeleteStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DeleteStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineAliasCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DeleteStateMachineAliasCommand = de_DeleteStateMachineAliasCommand; - var de_DeleteStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DeleteStateMachineVersionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DeleteStateMachineVersionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DeleteStateMachineVersionCommand = de_DeleteStateMachineVersionCommand; - var de_DeleteStateMachineVersionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeActivityCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeActivityCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeActivityOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeActivityCommand = de_DescribeActivityCommand; - var de_DescribeActivityCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityDoesNotExist": - case "com.amazonaws.sfn#ActivityDoesNotExist": - throw await de_ActivityDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeExecutionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeExecutionCommand = de_DescribeExecutionCommand; - var de_DescribeExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeMapRunCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeMapRunCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeMapRunOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeMapRunCommand = de_DescribeMapRunCommand; - var de_DescribeMapRunCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeStateMachineCommand = de_DescribeStateMachineCommand; - var de_DescribeStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineAliasCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeStateMachineAliasCommand = de_DescribeStateMachineAliasCommand; - var de_DescribeStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_DescribeStateMachineForExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_DescribeStateMachineForExecutionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_DescribeStateMachineForExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_DescribeStateMachineForExecutionCommand = de_DescribeStateMachineForExecutionCommand; - var de_DescribeStateMachineForExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_GetActivityTaskCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetActivityTaskCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetActivityTaskCommand = de_GetActivityTaskCommand; - var de_GetActivityTaskCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ActivityDoesNotExist": - case "com.amazonaws.sfn#ActivityDoesNotExist": - throw await de_ActivityDoesNotExistRes(parsedOutput, context); - case "ActivityWorkerLimitExceeded": - case "com.amazonaws.sfn#ActivityWorkerLimitExceeded": - throw await de_ActivityWorkerLimitExceededRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_GetExecutionHistoryCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_GetExecutionHistoryCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_GetExecutionHistoryOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_GetExecutionHistoryCommand = de_GetExecutionHistoryCommand; - var de_GetExecutionHistoryCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListActivitiesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListActivitiesCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListActivitiesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListActivitiesCommand = de_ListActivitiesCommand; - var de_ListActivitiesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListExecutionsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListExecutionsCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListExecutionsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListExecutionsCommand = de_ListExecutionsCommand; - var de_ListExecutionsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListMapRunsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListMapRunsCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListMapRunsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListMapRunsCommand = de_ListMapRunsCommand; - var de_ListMapRunsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListStateMachineAliasesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachineAliasesCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachineAliasesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListStateMachineAliasesCommand = de_ListStateMachineAliasesCommand; - var de_ListStateMachineAliasesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListStateMachinesCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachinesCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachinesOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListStateMachinesCommand = de_ListStateMachinesCommand; - var de_ListStateMachinesCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListStateMachineVersionsCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListStateMachineVersionsCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_ListStateMachineVersionsOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListStateMachineVersionsCommand = de_ListStateMachineVersionsCommand; - var de_ListStateMachineVersionsCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ListTagsForResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_ListTagsForResourceCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_ListTagsForResourceCommand = de_ListTagsForResourceCommand; - var de_ListTagsForResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_PublishStateMachineVersionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_PublishStateMachineVersionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_PublishStateMachineVersionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_PublishStateMachineVersionCommand = de_PublishStateMachineVersionCommand; - var de_PublishStateMachineVersionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_SendTaskFailureCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskFailureCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_SendTaskFailureCommand = de_SendTaskFailureCommand; - var de_SendTaskFailureCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_SendTaskHeartbeatCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskHeartbeatCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_SendTaskHeartbeatCommand = de_SendTaskHeartbeatCommand; - var de_SendTaskHeartbeatCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_SendTaskSuccessCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_SendTaskSuccessCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_SendTaskSuccessCommand = de_SendTaskSuccessCommand; - var de_SendTaskSuccessCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidOutput": - case "com.amazonaws.sfn#InvalidOutput": - throw await de_InvalidOutputRes(parsedOutput, context); - case "InvalidToken": - case "com.amazonaws.sfn#InvalidToken": - throw await de_InvalidTokenRes(parsedOutput, context); - case "TaskDoesNotExist": - case "com.amazonaws.sfn#TaskDoesNotExist": - throw await de_TaskDoesNotExistRes(parsedOutput, context); - case "TaskTimedOut": - case "com.amazonaws.sfn#TaskTimedOut": - throw await de_TaskTimedOutRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StartExecutionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StartExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_StartExecutionCommand = de_StartExecutionCommand; - var de_StartExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionAlreadyExists": - case "com.amazonaws.sfn#ExecutionAlreadyExists": - throw await de_ExecutionAlreadyExistsRes(parsedOutput, context); - case "ExecutionLimitExceeded": - case "com.amazonaws.sfn#ExecutionLimitExceeded": - throw await de_ExecutionLimitExceededRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidExecutionInput": - case "com.amazonaws.sfn#InvalidExecutionInput": - throw await de_InvalidExecutionInputRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StartSyncExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StartSyncExecutionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StartSyncExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_StartSyncExecutionCommand = de_StartSyncExecutionCommand; - var de_StartSyncExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidExecutionInput": - case "com.amazonaws.sfn#InvalidExecutionInput": - throw await de_InvalidExecutionInputRes(parsedOutput, context); - case "InvalidName": - case "com.amazonaws.sfn#InvalidName": - throw await de_InvalidNameRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_StopExecutionCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_StopExecutionCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_StopExecutionOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_StopExecutionCommand = de_StopExecutionCommand; - var de_StopExecutionCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_TagResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_TagResourceCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_TagResourceCommand = de_TagResourceCommand; - var de_TagResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "TooManyTags": - case "com.amazonaws.sfn#TooManyTags": - throw await de_TooManyTagsRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_UntagResourceCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UntagResourceCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_UntagResourceCommand = de_UntagResourceCommand; - var de_UntagResourceCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_UpdateMapRunCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateMapRunCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = (0, smithy_client_1._json)(data); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_UpdateMapRunCommand = de_UpdateMapRunCommand; - var de_UpdateMapRunCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_UpdateStateMachineCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateStateMachineCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_UpdateStateMachineOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_UpdateStateMachineCommand = de_UpdateStateMachineCommand; - var de_UpdateStateMachineCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "InvalidDefinition": - case "com.amazonaws.sfn#InvalidDefinition": - throw await de_InvalidDefinitionRes(parsedOutput, context); - case "InvalidLoggingConfiguration": - case "com.amazonaws.sfn#InvalidLoggingConfiguration": - throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); - case "InvalidTracingConfiguration": - case "com.amazonaws.sfn#InvalidTracingConfiguration": - throw await de_InvalidTracingConfigurationRes(parsedOutput, context); - case "MissingRequiredParameter": - case "com.amazonaws.sfn#MissingRequiredParameter": - throw await de_MissingRequiredParameterRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.sfn#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "StateMachineDeleting": - case "com.amazonaws.sfn#StateMachineDeleting": - throw await de_StateMachineDeletingRes(parsedOutput, context); - case "StateMachineDoesNotExist": - case "com.amazonaws.sfn#StateMachineDoesNotExist": - throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_UpdateStateMachineAliasCommand = async (output, context) => { - if (output.statusCode >= 300) { - return de_UpdateStateMachineAliasCommandError(output, context); - } - const data = await parseBody(output.body, context); - let contents = {}; - contents = de_UpdateStateMachineAliasOutput(data, context); - const response = { - $metadata: deserializeMetadata(output), - ...contents - }; - return response; - }; - exports.de_UpdateStateMachineAliasCommand = de_UpdateStateMachineAliasCommand; - var de_UpdateStateMachineAliasCommandError = async (output, context) => { - const parsedOutput = { - ...output, - body: await parseErrorBody(output.body, context) - }; - const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); - switch (errorCode) { - case "ConflictException": - case "com.amazonaws.sfn#ConflictException": - throw await de_ConflictExceptionRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); - case "ResourceNotFound": - case "com.amazonaws.sfn#ResourceNotFound": - throw await de_ResourceNotFoundRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); - default: - const parsedBody = parsedOutput.body; - return throwDefaultError({ - output, - parsedBody, - errorCode - }); - } - }; - var de_ActivityDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ActivityLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ActivityWorkerLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ActivityWorkerLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ConflictExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ConflictException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionAlreadyExistsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionAlreadyExists({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ExecutionLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ExecutionLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidArnRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidArn({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidDefinitionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidDefinition({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidExecutionInputRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidExecutionInput({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidLoggingConfigurationRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidLoggingConfiguration({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidNameRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidName({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidOutputRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidOutput({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidTokenRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidToken({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_InvalidTracingConfigurationRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.InvalidTracingConfiguration({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_MissingRequiredParameterRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.MissingRequiredParameter({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ResourceNotFoundRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ResourceNotFound({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ServiceQuotaExceededException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_StateMachineAlreadyExistsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineAlreadyExists({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_StateMachineDeletingRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineDeleting({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_StateMachineDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_StateMachineLimitExceededRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineLimitExceeded({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_StateMachineTypeNotSupportedRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.StateMachineTypeNotSupported({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_TaskDoesNotExistRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TaskDoesNotExist({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_TaskTimedOutRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TaskTimedOut({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_TooManyTagsRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.TooManyTags({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var de_ValidationExceptionRes = async (parsedOutput, context) => { - const body = parsedOutput.body; - const deserialized = (0, smithy_client_1._json)(body); - const exception = new models_0_1.ValidationException({ - $metadata: deserializeMetadata(parsedOutput), - ...deserialized - }); - return (0, smithy_client_1.decorateServiceException)(exception, body); - }; - var se_UpdateMapRunInput = (input, context) => { - return (0, smithy_client_1.take)(input, { - mapRunArn: [], - maxConcurrency: [], - toleratedFailureCount: [], - toleratedFailurePercentage: smithy_client_1.serializeFloat - }); - }; - var de_ActivityList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_ActivityListItem(entry, context); - }); - return retVal; - }; - var de_ActivityListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString - }); - }; - var de_CreateActivityOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_CreateStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString - }); - }; - var de_CreateStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString - }); - }; - var de_DescribeActivityOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityArn: smithy_client_1.expectString, - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString - }); - }; - var de_DescribeExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - cause: smithy_client_1.expectString, - error: smithy_client_1.expectString, - executionArn: smithy_client_1.expectString, - input: smithy_client_1.expectString, - inputDetails: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - output: smithy_client_1.expectString, - outputDetails: smithy_client_1._json, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - traceHeader: smithy_client_1.expectString - }); - }; - var de_DescribeMapRunOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - executionCounts: smithy_client_1._json, - itemCounts: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - maxConcurrency: smithy_client_1.expectInt32, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - toleratedFailureCount: smithy_client_1.expectLong, - toleratedFailurePercentage: smithy_client_1.limitedParseFloat32 - }); - }; - var de_DescribeStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - description: smithy_client_1.expectString, - name: smithy_client_1.expectString, - routingConfiguration: smithy_client_1._json, - stateMachineAliasArn: smithy_client_1.expectString, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_DescribeStateMachineForExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - definition: smithy_client_1.expectString, - label: smithy_client_1.expectString, - loggingConfiguration: smithy_client_1._json, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - revisionId: smithy_client_1.expectString, - roleArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - tracingConfiguration: smithy_client_1._json, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_DescribeStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - definition: smithy_client_1.expectString, - description: smithy_client_1.expectString, - label: smithy_client_1.expectString, - loggingConfiguration: smithy_client_1._json, - name: smithy_client_1.expectString, - revisionId: smithy_client_1.expectString, - roleArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - tracingConfiguration: smithy_client_1._json, - type: smithy_client_1.expectString - }); - }; - var de_ExecutionList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_ExecutionListItem(entry, context); - }); - return retVal; - }; - var de_ExecutionListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - itemCount: smithy_client_1.expectInt32, - mapRunArn: smithy_client_1.expectString, - name: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_GetExecutionHistoryOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - events: (_) => de_HistoryEventList(_, context), - nextToken: smithy_client_1.expectString - }); - }; - var de_HistoryEvent = (output, context) => { - return (0, smithy_client_1.take)(output, { - activityFailedEventDetails: smithy_client_1._json, - activityScheduleFailedEventDetails: smithy_client_1._json, - activityScheduledEventDetails: smithy_client_1._json, - activityStartedEventDetails: smithy_client_1._json, - activitySucceededEventDetails: smithy_client_1._json, - activityTimedOutEventDetails: smithy_client_1._json, - executionAbortedEventDetails: smithy_client_1._json, - executionFailedEventDetails: smithy_client_1._json, - executionStartedEventDetails: smithy_client_1._json, - executionSucceededEventDetails: smithy_client_1._json, - executionTimedOutEventDetails: smithy_client_1._json, - id: smithy_client_1.expectLong, - lambdaFunctionFailedEventDetails: smithy_client_1._json, - lambdaFunctionScheduleFailedEventDetails: smithy_client_1._json, - lambdaFunctionScheduledEventDetails: smithy_client_1._json, - lambdaFunctionStartFailedEventDetails: smithy_client_1._json, - lambdaFunctionSucceededEventDetails: smithy_client_1._json, - lambdaFunctionTimedOutEventDetails: smithy_client_1._json, - mapIterationAbortedEventDetails: smithy_client_1._json, - mapIterationFailedEventDetails: smithy_client_1._json, - mapIterationStartedEventDetails: smithy_client_1._json, - mapIterationSucceededEventDetails: smithy_client_1._json, - mapRunFailedEventDetails: smithy_client_1._json, - mapRunStartedEventDetails: smithy_client_1._json, - mapStateStartedEventDetails: smithy_client_1._json, - previousEventId: smithy_client_1.expectLong, - stateEnteredEventDetails: smithy_client_1._json, - stateExitedEventDetails: smithy_client_1._json, - taskFailedEventDetails: smithy_client_1._json, - taskScheduledEventDetails: smithy_client_1._json, - taskStartFailedEventDetails: smithy_client_1._json, - taskStartedEventDetails: smithy_client_1._json, - taskSubmitFailedEventDetails: smithy_client_1._json, - taskSubmittedEventDetails: smithy_client_1._json, - taskSucceededEventDetails: smithy_client_1._json, - taskTimedOutEventDetails: smithy_client_1._json, - timestamp: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - type: smithy_client_1.expectString - }); - }; - var de_HistoryEventList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_HistoryEvent(entry, context); - }); - return retVal; - }; - var de_ListActivitiesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - activities: (_) => de_ActivityList(_, context), - nextToken: smithy_client_1.expectString - }); - }; - var de_ListExecutionsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executions: (_) => de_ExecutionList(_, context), - nextToken: smithy_client_1.expectString - }); - }; - var de_ListMapRunsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - mapRuns: (_) => de_MapRunList(_, context), - nextToken: smithy_client_1.expectString - }); - }; - var de_ListStateMachineAliasesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachineAliases: (_) => de_StateMachineAliasList(_, context) - }); - }; - var de_ListStateMachinesOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachines: (_) => de_StateMachineList(_, context) - }); - }; - var de_ListStateMachineVersionsOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - nextToken: smithy_client_1.expectString, - stateMachineVersions: (_) => de_StateMachineVersionList(_, context) - }); - }; - var de_MapRunList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_MapRunListItem(entry, context); - }); - return retVal; - }; - var de_MapRunListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - mapRunArn: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_PublishStateMachineVersionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineVersionArn: smithy_client_1.expectString - }); - }; - var de_StartExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - executionArn: smithy_client_1.expectString, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_StartSyncExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - billingDetails: smithy_client_1._json, - cause: smithy_client_1.expectString, - error: smithy_client_1.expectString, - executionArn: smithy_client_1.expectString, - input: smithy_client_1.expectString, - inputDetails: smithy_client_1._json, - name: smithy_client_1.expectString, - output: smithy_client_1.expectString, - outputDetails: smithy_client_1._json, - startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineArn: smithy_client_1.expectString, - status: smithy_client_1.expectString, - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - traceHeader: smithy_client_1.expectString - }); - }; - var de_StateMachineAliasList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineAliasListItem(entry, context); - }); - return retVal; - }; - var de_StateMachineAliasListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineAliasArn: smithy_client_1.expectString - }); - }; - var de_StateMachineList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineListItem(entry, context); - }); - return retVal; - }; - var de_StateMachineListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - name: smithy_client_1.expectString, - stateMachineArn: smithy_client_1.expectString, - type: smithy_client_1.expectString - }); - }; - var de_StateMachineVersionList = (output, context) => { - const retVal = (output || []).filter((e) => e != null).map((entry) => { - return de_StateMachineVersionListItem(entry, context); - }); - return retVal; - }; - var de_StateMachineVersionListItem = (output, context) => { - return (0, smithy_client_1.take)(output, { - creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), - stateMachineVersionArn: smithy_client_1.expectString - }); - }; - var de_StopExecutionOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_UpdateStateMachineAliasOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var de_UpdateStateMachineOutput = (output, context) => { - return (0, smithy_client_1.take)(output, { - revisionId: smithy_client_1.expectString, - stateMachineVersionArn: smithy_client_1.expectString, - updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) - }); - }; - var deserializeMetadata = (output) => ({ - httpStatusCode: output.statusCode, - requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], - extendedRequestId: output.headers["x-amz-id-2"], - cfId: output.headers["x-amz-cf-id"] - }); - var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); - var throwDefaultError = (0, smithy_client_1.withBaseException)(SFNServiceException_1.SFNServiceException); - var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { - const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); - const contents = { - protocol, - hostname, - port, - method: "POST", - path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, - headers - }; - if (resolvedHostname !== void 0) { - contents.hostname = resolvedHostname; - } - if (body !== void 0) { - contents.body = body; - } - return new protocol_http_1.HttpRequest(contents); - }; - function sharedHeaders(operation) { - return { - "content-type": "application/x-amz-json-1.0", - "x-amz-target": `AWSStepFunctions.${operation}` - }; - } - var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { - if (encoded.length) { - return JSON.parse(encoded); - } - return {}; - }); - var parseErrorBody = async (errorBody, context) => { - const value = await parseBody(errorBody, context); - value.message = value.message ?? value.Message; - return value; - }; - var loadRestJsonErrorCode = (output, data) => { - const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); - const sanitizeErrorCode = (rawValue) => { - let cleanValue = rawValue; - if (typeof cleanValue === "number") { - cleanValue = cleanValue.toString(); - } - if (cleanValue.indexOf(",") >= 0) { - cleanValue = cleanValue.split(",")[0]; - } - if (cleanValue.indexOf(":") >= 0) { - cleanValue = cleanValue.split(":")[0]; - } - if (cleanValue.indexOf("#") >= 0) { - cleanValue = cleanValue.split("#")[1]; - } - return cleanValue; - }; - const headerKey = findKey(output.headers, "x-amzn-errortype"); - if (headerKey !== void 0) { - return sanitizeErrorCode(output.headers[headerKey]); - } - if (data.code !== void 0) { - return sanitizeErrorCode(data.code); - } - if (data["__type"] !== void 0) { - return sanitizeErrorCode(data["__type"]); - } - }; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js -var require_CreateActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateActivityCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateActivityCommand = class _CreateActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateActivityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateActivityCommand)(output, context); - } - }; - exports.CreateActivityCommand = CreateActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js -var require_CreateStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateStateMachineAliasCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.CreateStateMachineAliasInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateStateMachineAliasCommand)(output, context); - } - }; - exports.CreateStateMachineAliasCommand = CreateStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js -var require_CreateStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CreateStateMachineCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "CreateStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.CreateStateMachineInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_CreateStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_CreateStateMachineCommand)(output, context); - } - }; - exports.CreateStateMachineCommand = CreateStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js -var require_DeleteActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DeleteActivityCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteActivityCommand = class _DeleteActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteActivityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteActivityCommand)(output, context); - } - }; - exports.DeleteActivityCommand = DeleteActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js -var require_DeleteStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DeleteStateMachineAliasCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineAliasCommand = class _DeleteStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineAliasCommand)(output, context); - } - }; - exports.DeleteStateMachineAliasCommand = DeleteStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js -var require_DeleteStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DeleteStateMachineCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineCommand = class _DeleteStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineCommand)(output, context); - } - }; - exports.DeleteStateMachineCommand = DeleteStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js -var require_DeleteStateMachineVersionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DeleteStateMachineVersionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DeleteStateMachineVersionCommand = class _DeleteStateMachineVersionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineVersionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DeleteStateMachineVersionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DeleteStateMachineVersionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DeleteStateMachineVersionCommand)(output, context); - } - }; - exports.DeleteStateMachineVersionCommand = DeleteStateMachineVersionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js -var require_DescribeActivityCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeActivityCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeActivityCommand = class _DescribeActivityCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeActivityCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeActivityCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeActivityCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeActivityCommand)(output, context); - } - }; - exports.DescribeActivityCommand = DescribeActivityCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js -var require_DescribeExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeExecutionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeExecutionOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeExecutionCommand)(output, context); - } - }; - exports.DescribeExecutionCommand = DescribeExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js -var require_DescribeMapRunCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeMapRunCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeMapRunCommand = class _DescribeMapRunCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeMapRunCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeMapRunCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeMapRunCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeMapRunCommand)(output, context); - } - }; - exports.DescribeMapRunCommand = DescribeMapRunCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js -var require_DescribeStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeStateMachineAliasCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineAliasOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineAliasCommand)(output, context); - } - }; - exports.DescribeStateMachineAliasCommand = DescribeStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js -var require_DescribeStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeStateMachineCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineCommand)(output, context); - } - }; - exports.DescribeStateMachineCommand = DescribeStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js -var require_DescribeStateMachineForExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DescribeStateMachineForExecutionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineForExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "DescribeStateMachineForExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.DescribeStateMachineForExecutionOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_DescribeStateMachineForExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_DescribeStateMachineForExecutionCommand)(output, context); - } - }; - exports.DescribeStateMachineForExecutionCommand = DescribeStateMachineForExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js -var require_GetActivityTaskCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetActivityTaskCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetActivityTaskCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "GetActivityTaskCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetActivityTaskOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_GetActivityTaskCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_GetActivityTaskCommand)(output, context); - } - }; - exports.GetActivityTaskCommand = GetActivityTaskCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js -var require_GetExecutionHistoryCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.GetExecutionHistoryCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetExecutionHistoryCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "GetExecutionHistoryCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: models_0_1.GetExecutionHistoryOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_GetExecutionHistoryCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_GetExecutionHistoryCommand)(output, context); - } - }; - exports.GetExecutionHistoryCommand = GetExecutionHistoryCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js -var require_ListActivitiesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListActivitiesCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListActivitiesCommand = class _ListActivitiesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListActivitiesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListActivitiesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListActivitiesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListActivitiesCommand)(output, context); - } - }; - exports.ListActivitiesCommand = ListActivitiesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js -var require_ListExecutionsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListExecutionsCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListExecutionsCommand = class _ListExecutionsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListExecutionsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListExecutionsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListExecutionsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListExecutionsCommand)(output, context); - } - }; - exports.ListExecutionsCommand = ListExecutionsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js -var require_ListMapRunsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListMapRunsCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListMapRunsCommand = class _ListMapRunsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListMapRunsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListMapRunsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListMapRunsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListMapRunsCommand)(output, context); - } - }; - exports.ListMapRunsCommand = ListMapRunsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js -var require_ListStateMachineAliasesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListStateMachineAliasesCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachineAliasesCommand = class _ListStateMachineAliasesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineAliasesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachineAliasesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachineAliasesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachineAliasesCommand)(output, context); - } - }; - exports.ListStateMachineAliasesCommand = ListStateMachineAliasesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js -var require_ListStateMachinesCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListStateMachinesCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachinesCommand = class _ListStateMachinesCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachinesCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachinesCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachinesCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachinesCommand)(output, context); - } - }; - exports.ListStateMachinesCommand = ListStateMachinesCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js -var require_ListStateMachineVersionsCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListStateMachineVersionsCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListStateMachineVersionsCommand = class _ListStateMachineVersionsCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineVersionsCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListStateMachineVersionsCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListStateMachineVersionsCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListStateMachineVersionsCommand)(output, context); - } - }; - exports.ListStateMachineVersionsCommand = ListStateMachineVersionsCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js -var require_ListTagsForResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ListTagsForResourceCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var ListTagsForResourceCommand = class _ListTagsForResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListTagsForResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "ListTagsForResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_ListTagsForResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_ListTagsForResourceCommand)(output, context); - } - }; - exports.ListTagsForResourceCommand = ListTagsForResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js -var require_PublishStateMachineVersionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.PublishStateMachineVersionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _PublishStateMachineVersionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "PublishStateMachineVersionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.PublishStateMachineVersionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_PublishStateMachineVersionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_PublishStateMachineVersionCommand)(output, context); - } - }; - exports.PublishStateMachineVersionCommand = PublishStateMachineVersionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js -var require_SendTaskFailureCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SendTaskFailureCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskFailureCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskFailureCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.SendTaskFailureInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskFailureCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskFailureCommand)(output, context); - } - }; - exports.SendTaskFailureCommand = SendTaskFailureCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js -var require_SendTaskHeartbeatCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SendTaskHeartbeatCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskHeartbeatCommand = class _SendTaskHeartbeatCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskHeartbeatCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskHeartbeatCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskHeartbeatCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskHeartbeatCommand)(output, context); - } - }; - exports.SendTaskHeartbeatCommand = SendTaskHeartbeatCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js -var require_SendTaskSuccessCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SendTaskSuccessCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskSuccessCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "SendTaskSuccessCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.SendTaskSuccessInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_SendTaskSuccessCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_SendTaskSuccessCommand)(output, context); - } - }; - exports.SendTaskSuccessCommand = SendTaskSuccessCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js -var require_StartExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartExecutionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StartExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StartExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StartExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StartExecutionCommand)(output, context); - } - }; - exports.StartExecutionCommand = StartExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js -var require_StartSyncExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StartSyncExecutionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartSyncExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StartSyncExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StartSyncExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: models_0_1.StartSyncExecutionOutputFilterSensitiveLog - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StartSyncExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StartSyncExecutionCommand)(output, context); - } - }; - exports.StartSyncExecutionCommand = StartSyncExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js -var require_StopExecutionCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.StopExecutionCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StopExecutionCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "StopExecutionCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.StopExecutionInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_StopExecutionCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_StopExecutionCommand)(output, context); - } - }; - exports.StopExecutionCommand = StopExecutionCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js -var require_TagResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.TagResourceCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var TagResourceCommand = class _TagResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _TagResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "TagResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_TagResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_TagResourceCommand)(output, context); - } - }; - exports.TagResourceCommand = TagResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js -var require_UntagResourceCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.UntagResourceCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UntagResourceCommand = class _UntagResourceCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UntagResourceCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UntagResourceCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UntagResourceCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UntagResourceCommand)(output, context); - } - }; - exports.UntagResourceCommand = UntagResourceCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js -var require_UpdateMapRunCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.UpdateMapRunCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateMapRunCommand = class _UpdateMapRunCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateMapRunCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateMapRunCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: (_) => _, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateMapRunCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateMapRunCommand)(output, context); - } - }; - exports.UpdateMapRunCommand = UpdateMapRunCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js -var require_UpdateStateMachineAliasCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.UpdateStateMachineAliasCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineAliasCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateStateMachineAliasCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.UpdateStateMachineAliasInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateStateMachineAliasCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateStateMachineAliasCommand)(output, context); - } - }; - exports.UpdateStateMachineAliasCommand = UpdateStateMachineAliasCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js -var require_UpdateStateMachineCommand = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.UpdateStateMachineCommand = exports.$Command = void 0; - var middleware_endpoint_1 = require_dist_cjs26(); - var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_1 = require_dist_cjs35(); - Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { - return smithy_client_1.Command; - } }); - var models_0_1 = require_models_04(); - var Aws_json1_0_1 = require_Aws_json1_0(); - var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { - static getEndpointParameterInstructions() { - return { - UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, - Endpoint: { type: "builtInParams", name: "endpoint" }, - Region: { type: "builtInParams", name: "region" }, - UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } - }; - } - constructor(input) { - super(); - this.input = input; - } - resolveMiddleware(clientStack, configuration, options) { - this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); - this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineCommand.getEndpointParameterInstructions())); - const stack = clientStack.concat(this.middlewareStack); - const { logger } = configuration; - const clientName = "SFNClient"; - const commandName = "UpdateStateMachineCommand"; - const handlerExecutionContext = { - logger, - clientName, - commandName, - inputFilterSensitiveLog: models_0_1.UpdateStateMachineInputFilterSensitiveLog, - outputFilterSensitiveLog: (_) => _ - }; - const { requestHandler } = configuration; - return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); - } - serialize(input, context) { - return (0, Aws_json1_0_1.se_UpdateStateMachineCommand)(input, context); - } - deserialize(output, context) { - return (0, Aws_json1_0_1.de_UpdateStateMachineCommand)(output, context); - } - }; - exports.UpdateStateMachineCommand = UpdateStateMachineCommand; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js -var require_SFN = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SFN = void 0; - var smithy_client_1 = require_dist_cjs35(); - var CreateActivityCommand_1 = require_CreateActivityCommand(); - var CreateStateMachineAliasCommand_1 = require_CreateStateMachineAliasCommand(); - var CreateStateMachineCommand_1 = require_CreateStateMachineCommand(); - var DeleteActivityCommand_1 = require_DeleteActivityCommand(); - var DeleteStateMachineAliasCommand_1 = require_DeleteStateMachineAliasCommand(); - var DeleteStateMachineCommand_1 = require_DeleteStateMachineCommand(); - var DeleteStateMachineVersionCommand_1 = require_DeleteStateMachineVersionCommand(); - var DescribeActivityCommand_1 = require_DescribeActivityCommand(); - var DescribeExecutionCommand_1 = require_DescribeExecutionCommand(); - var DescribeMapRunCommand_1 = require_DescribeMapRunCommand(); - var DescribeStateMachineAliasCommand_1 = require_DescribeStateMachineAliasCommand(); - var DescribeStateMachineCommand_1 = require_DescribeStateMachineCommand(); - var DescribeStateMachineForExecutionCommand_1 = require_DescribeStateMachineForExecutionCommand(); - var GetActivityTaskCommand_1 = require_GetActivityTaskCommand(); - var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); - var ListActivitiesCommand_1 = require_ListActivitiesCommand(); - var ListExecutionsCommand_1 = require_ListExecutionsCommand(); - var ListMapRunsCommand_1 = require_ListMapRunsCommand(); - var ListStateMachineAliasesCommand_1 = require_ListStateMachineAliasesCommand(); - var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); - var ListStateMachineVersionsCommand_1 = require_ListStateMachineVersionsCommand(); - var ListTagsForResourceCommand_1 = require_ListTagsForResourceCommand(); - var PublishStateMachineVersionCommand_1 = require_PublishStateMachineVersionCommand(); - var SendTaskFailureCommand_1 = require_SendTaskFailureCommand(); - var SendTaskHeartbeatCommand_1 = require_SendTaskHeartbeatCommand(); - var SendTaskSuccessCommand_1 = require_SendTaskSuccessCommand(); - var StartExecutionCommand_1 = require_StartExecutionCommand(); - var StartSyncExecutionCommand_1 = require_StartSyncExecutionCommand(); - var StopExecutionCommand_1 = require_StopExecutionCommand(); - var TagResourceCommand_1 = require_TagResourceCommand(); - var UntagResourceCommand_1 = require_UntagResourceCommand(); - var UpdateMapRunCommand_1 = require_UpdateMapRunCommand(); - var UpdateStateMachineAliasCommand_1 = require_UpdateStateMachineAliasCommand(); - var UpdateStateMachineCommand_1 = require_UpdateStateMachineCommand(); - var SFNClient_1 = require_SFNClient(); - var commands = { - CreateActivityCommand: CreateActivityCommand_1.CreateActivityCommand, - CreateStateMachineCommand: CreateStateMachineCommand_1.CreateStateMachineCommand, - CreateStateMachineAliasCommand: CreateStateMachineAliasCommand_1.CreateStateMachineAliasCommand, - DeleteActivityCommand: DeleteActivityCommand_1.DeleteActivityCommand, - DeleteStateMachineCommand: DeleteStateMachineCommand_1.DeleteStateMachineCommand, - DeleteStateMachineAliasCommand: DeleteStateMachineAliasCommand_1.DeleteStateMachineAliasCommand, - DeleteStateMachineVersionCommand: DeleteStateMachineVersionCommand_1.DeleteStateMachineVersionCommand, - DescribeActivityCommand: DescribeActivityCommand_1.DescribeActivityCommand, - DescribeExecutionCommand: DescribeExecutionCommand_1.DescribeExecutionCommand, - DescribeMapRunCommand: DescribeMapRunCommand_1.DescribeMapRunCommand, - DescribeStateMachineCommand: DescribeStateMachineCommand_1.DescribeStateMachineCommand, - DescribeStateMachineAliasCommand: DescribeStateMachineAliasCommand_1.DescribeStateMachineAliasCommand, - DescribeStateMachineForExecutionCommand: DescribeStateMachineForExecutionCommand_1.DescribeStateMachineForExecutionCommand, - GetActivityTaskCommand: GetActivityTaskCommand_1.GetActivityTaskCommand, - GetExecutionHistoryCommand: GetExecutionHistoryCommand_1.GetExecutionHistoryCommand, - ListActivitiesCommand: ListActivitiesCommand_1.ListActivitiesCommand, - ListExecutionsCommand: ListExecutionsCommand_1.ListExecutionsCommand, - ListMapRunsCommand: ListMapRunsCommand_1.ListMapRunsCommand, - ListStateMachineAliasesCommand: ListStateMachineAliasesCommand_1.ListStateMachineAliasesCommand, - ListStateMachinesCommand: ListStateMachinesCommand_1.ListStateMachinesCommand, - ListStateMachineVersionsCommand: ListStateMachineVersionsCommand_1.ListStateMachineVersionsCommand, - ListTagsForResourceCommand: ListTagsForResourceCommand_1.ListTagsForResourceCommand, - PublishStateMachineVersionCommand: PublishStateMachineVersionCommand_1.PublishStateMachineVersionCommand, - SendTaskFailureCommand: SendTaskFailureCommand_1.SendTaskFailureCommand, - SendTaskHeartbeatCommand: SendTaskHeartbeatCommand_1.SendTaskHeartbeatCommand, - SendTaskSuccessCommand: SendTaskSuccessCommand_1.SendTaskSuccessCommand, - StartExecutionCommand: StartExecutionCommand_1.StartExecutionCommand, - StartSyncExecutionCommand: StartSyncExecutionCommand_1.StartSyncExecutionCommand, - StopExecutionCommand: StopExecutionCommand_1.StopExecutionCommand, - TagResourceCommand: TagResourceCommand_1.TagResourceCommand, - UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand, - UpdateMapRunCommand: UpdateMapRunCommand_1.UpdateMapRunCommand, - UpdateStateMachineCommand: UpdateStateMachineCommand_1.UpdateStateMachineCommand, - UpdateStateMachineAliasCommand: UpdateStateMachineAliasCommand_1.UpdateStateMachineAliasCommand - }; - var SFN2 = class extends SFNClient_1.SFNClient { - }; - exports.SFN = SFN2; - (0, smithy_client_1.createAggregatedClient)(commands, SFN2); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js -var require_commands4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_CreateActivityCommand(), exports); - tslib_1.__exportStar(require_CreateStateMachineAliasCommand(), exports); - tslib_1.__exportStar(require_CreateStateMachineCommand(), exports); - tslib_1.__exportStar(require_DeleteActivityCommand(), exports); - tslib_1.__exportStar(require_DeleteStateMachineAliasCommand(), exports); - tslib_1.__exportStar(require_DeleteStateMachineCommand(), exports); - tslib_1.__exportStar(require_DeleteStateMachineVersionCommand(), exports); - tslib_1.__exportStar(require_DescribeActivityCommand(), exports); - tslib_1.__exportStar(require_DescribeExecutionCommand(), exports); - tslib_1.__exportStar(require_DescribeMapRunCommand(), exports); - tslib_1.__exportStar(require_DescribeStateMachineAliasCommand(), exports); - tslib_1.__exportStar(require_DescribeStateMachineCommand(), exports); - tslib_1.__exportStar(require_DescribeStateMachineForExecutionCommand(), exports); - tslib_1.__exportStar(require_GetActivityTaskCommand(), exports); - tslib_1.__exportStar(require_GetExecutionHistoryCommand(), exports); - tslib_1.__exportStar(require_ListActivitiesCommand(), exports); - tslib_1.__exportStar(require_ListExecutionsCommand(), exports); - tslib_1.__exportStar(require_ListMapRunsCommand(), exports); - tslib_1.__exportStar(require_ListStateMachineAliasesCommand(), exports); - tslib_1.__exportStar(require_ListStateMachineVersionsCommand(), exports); - tslib_1.__exportStar(require_ListStateMachinesCommand(), exports); - tslib_1.__exportStar(require_ListTagsForResourceCommand(), exports); - tslib_1.__exportStar(require_PublishStateMachineVersionCommand(), exports); - tslib_1.__exportStar(require_SendTaskFailureCommand(), exports); - tslib_1.__exportStar(require_SendTaskHeartbeatCommand(), exports); - tslib_1.__exportStar(require_SendTaskSuccessCommand(), exports); - tslib_1.__exportStar(require_StartExecutionCommand(), exports); - tslib_1.__exportStar(require_StartSyncExecutionCommand(), exports); - tslib_1.__exportStar(require_StopExecutionCommand(), exports); - tslib_1.__exportStar(require_TagResourceCommand(), exports); - tslib_1.__exportStar(require_UntagResourceCommand(), exports); - tslib_1.__exportStar(require_UpdateMapRunCommand(), exports); - tslib_1.__exportStar(require_UpdateStateMachineAliasCommand(), exports); - tslib_1.__exportStar(require_UpdateStateMachineCommand(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js -var require_GetExecutionHistoryPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateGetExecutionHistory = void 0; - var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new GetExecutionHistoryCommand_1.GetExecutionHistoryCommand(input), ...args); - }; - async function* paginateGetExecutionHistory(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateGetExecutionHistory = paginateGetExecutionHistory; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js -var require_Interfaces2 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js -var require_ListActivitiesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListActivities = void 0; - var ListActivitiesCommand_1 = require_ListActivitiesCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListActivitiesCommand_1.ListActivitiesCommand(input), ...args); - }; - async function* paginateListActivities(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListActivities = paginateListActivities; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js -var require_ListExecutionsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListExecutions = void 0; - var ListExecutionsCommand_1 = require_ListExecutionsCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListExecutionsCommand_1.ListExecutionsCommand(input), ...args); - }; - async function* paginateListExecutions(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListExecutions = paginateListExecutions; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js -var require_ListMapRunsPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListMapRuns = void 0; - var ListMapRunsCommand_1 = require_ListMapRunsCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListMapRunsCommand_1.ListMapRunsCommand(input), ...args); - }; - async function* paginateListMapRuns(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListMapRuns = paginateListMapRuns; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js -var require_ListStateMachinesPaginator = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.paginateListStateMachines = void 0; - var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); - var SFNClient_1 = require_SFNClient(); - var makePagedClientRequest = async (client, input, ...args) => { - return await client.send(new ListStateMachinesCommand_1.ListStateMachinesCommand(input), ...args); - }; - async function* paginateListStateMachines(config, input, ...additionalArguments) { - let token = config.startingToken || void 0; - let hasNext = true; - let page; - while (hasNext) { - input.nextToken = token; - input["maxResults"] = config.pageSize; - if (config.client instanceof SFNClient_1.SFNClient) { - page = await makePagedClientRequest(config.client, input, ...additionalArguments); - } else { - throw new Error("Invalid client, expected SFN | SFNClient"); - } - yield page; - const prevToken = token; - token = page.nextToken; - hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); - } - return void 0; - } - exports.paginateListStateMachines = paginateListStateMachines; - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js -var require_pagination4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_GetExecutionHistoryPaginator(), exports); - tslib_1.__exportStar(require_Interfaces2(), exports); - tslib_1.__exportStar(require_ListActivitiesPaginator(), exports); - tslib_1.__exportStar(require_ListExecutionsPaginator(), exports); - tslib_1.__exportStar(require_ListMapRunsPaginator(), exports); - tslib_1.__exportStar(require_ListStateMachinesPaginator(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js -var require_models4 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models_04(), exports); - } -}); - -// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js -var require_dist_cjs54 = __commonJS({ - "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SFNServiceException = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_SFNClient(), exports); - tslib_1.__exportStar(require_SFN(), exports); - tslib_1.__exportStar(require_commands4(), exports); - tslib_1.__exportStar(require_pagination4(), exports); - tslib_1.__exportStar(require_models4(), exports); - var SFNServiceException_1 = require_SFNServiceException(); - Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { - return SFNServiceException_1.SFNServiceException; - } }); - } -}); - -// ../../../node_modules/webidl-conversions/lib/index.js -var require_lib2 = __commonJS({ - "../../../node_modules/webidl-conversions/lib/index.js"(exports, module2) { - "use strict"; - var conversions = {}; - module2.exports = conversions; - function sign(x) { - return x < 0 ? -1 : 1; - } - function evenRound(x) { - if (x % 1 === 0.5 && (x & 1) === 0) { - return Math.floor(x); - } else { - return Math.round(x); - } - } - function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function(V, opts) { - if (!opts) - opts = {}; - let x = +V; - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite number"); - } - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError("Argument is not in byte range"); - } - return x; - } - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - if (x < lowerBound) - x = lowerBound; - if (x > upperBound) - x = upperBound; - return x; - } - if (!Number.isFinite(x) || x === 0) { - return 0; - } - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { - return 0; - } - } - return x; - }; - } - conversions["void"] = function() { - return void 0; - }; - conversions["boolean"] = function(val2) { - return !!val2; - }; - conversions["byte"] = createNumberConversion(8, { unsigned: false }); - conversions["octet"] = createNumberConversion(8, { unsigned: true }); - conversions["short"] = createNumberConversion(16, { unsigned: false }); - conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - conversions["long"] = createNumberConversion(32, { unsigned: false }); - conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); - conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions["double"] = function(V) { - const x = +V; - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite floating-point value"); - } - return x; - }; - conversions["unrestricted double"] = function(V) { - const x = +V; - if (isNaN(x)) { - throw new TypeError("Argument is NaN"); - } - return x; - }; - conversions["float"] = conversions["double"]; - conversions["unrestricted float"] = conversions["unrestricted double"]; - conversions["DOMString"] = function(V, opts) { - if (!opts) - opts = {}; - if (opts.treatNullAsEmptyString && V === null) { - return ""; - } - return String(V); - }; - conversions["ByteString"] = function(V, opts) { - const x = String(V); - let c = void 0; - for (let i = 0; (c = x.codePointAt(i)) !== void 0; ++i) { - if (c > 255) { - throw new TypeError("Argument is not a valid bytestring"); - } - } - return x; - }; - conversions["USVString"] = function(V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 55296 || c > 57343) { - U.push(String.fromCodePoint(c)); - } else if (56320 <= c && c <= 57343) { - U.push(String.fromCodePoint(65533)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(65533)); - } else { - const d = S.charCodeAt(i + 1); - if (56320 <= d && d <= 57343) { - const a = c & 1023; - const b = d & 1023; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(65533)); - } - } - } - } - return U.join(""); - }; - conversions["Date"] = function(V, opts) { - if (!(V instanceof Date)) { - throw new TypeError("Argument is not a Date object"); - } - if (isNaN(V)) { - return void 0; - } - return V; - }; - conversions["RegExp"] = function(V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); - } - return V; - }; - } -}); - -// ../../../node_modules/whatwg-url/lib/utils.js -var require_utils2 = __commonJS({ - "../../../node_modules/whatwg-url/lib/utils.js"(exports, module2) { - "use strict"; - module2.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); - } - }; - module2.exports.wrapperSymbol = Symbol("wrapper"); - module2.exports.implSymbol = Symbol("impl"); - module2.exports.wrapperForImpl = function(impl) { - return impl[module2.exports.wrapperSymbol]; - }; - module2.exports.implForWrapper = function(wrapper) { - return wrapper[module2.exports.implSymbol]; - }; - } -}); - -// ../../../node_modules/tr46/lib/mappingTable.json -var require_mappingTable = __commonJS({ - "../../../node_modules/tr46/lib/mappingTable.json"(exports, module2) { - module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; - } -}); - -// ../../../node_modules/tr46/index.js -var require_tr46 = __commonJS({ - "../../../node_modules/tr46/index.js"(exports, module2) { - "use strict"; - var punycode = require("punycode"); - var mappingTable = require_mappingTable(); - var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 - }; - function normalize(str) { - return str.split("\0").map(function(s) { - return s.normalize("NFC"); - }).join("\0"); - } - function findStatus(val2) { - var start = 0; - var end = mappingTable.length - 1; - while (start <= end) { - var mid = Math.floor((start + end) / 2); - var target = mappingTable[mid]; - if (target[0][0] <= val2 && target[0][1] >= val2) { - return target; - } else if (target[0][0] > val2) { - end = mid - 1; - } else { - start = mid + 1; - } - } - return null; - } - var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - function countSymbols(string) { - return string.replace(regexAstralSymbols, "_").length; - } - function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ""; - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - switch (status[1]) { - case "disallowed": - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case "ignored": - break; - case "mapped": - processed += String.fromCodePoint.apply(String, status[2]); - break; - case "deviation": - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case "valid": - processed += String.fromCodePoint(codePoint); - break; - case "disallowed_STD3_mapped": - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case "disallowed_STD3_valid": - if (useSTD3) { - hasError = true; - } - processed += String.fromCodePoint(codePoint); - break; - } - } - return { - string: processed, - error: hasError - }; - } - var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - function validateLabel(label, processing_option) { - if (label.substr(0, 4) === "xn--") { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - var error = false; - if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { - error = true; - } - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { - error = true; - break; - } - } - return { - label, - error - }; - } - function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - var labels = result.string.split("."); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch (e) { - result.error = true; - } - } - return { - string: labels.join("."), - error: result.error - }; - } - module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split("."); - labels = labels.map(function(l) { - try { - return punycode.toASCII(l); - } catch (e) { - result.error = true; - return l; - } - }); - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join(".").length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - for (var i = 0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } - } - if (result.error) - return null; - return labels.join("."); - }; - module2.exports.toUnicode = function(domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - return { - domain: result.string, - error: result.error - }; - }; - module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - } -}); - -// ../../../node_modules/whatwg-url/lib/url-state-machine.js -var require_url_state_machine = __commonJS({ - "../../../node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { - "use strict"; - var punycode = require("punycode"); - var tr46 = require_tr46(); - var specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var failure = Symbol("failure"); - function countSymbols(str) { - return punycode.ucs2.decode(str).length; - } - function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? void 0 : String.fromCodePoint(c); - } - function isASCIIDigit(c) { - return c >= 48 && c <= 57; - } - function isASCIIAlpha(c) { - return c >= 65 && c <= 90 || c >= 97 && c <= 122; - } - function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); - } - function isASCIIHex(c) { - return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; - } - function isSingleDot(buffer) { - return buffer === "." || buffer.toLowerCase() === "%2e"; - } - function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; - } - function isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); - } - function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); - } - function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; - } - function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== void 0; - } - function isSpecial(url2) { - return isSpecialScheme(url2.scheme); - } - function defaultPort(scheme) { - return specialSchemes[scheme]; - } - function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = "0" + hex; - } - return "%" + hex; - } - function utf8PercentEncode(c) { - const buf = new Buffer(c); - let str = ""; - for (let i = 0; i < buf.length; ++i) { - str += percentEncode(buf[i]); - } - return str; - } - function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i = 0; i < input.length; ++i) { - if (input[i] !== 37) { - output.push(input[i]); - } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { - output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); - i += 2; - } else { - output.push(input[i]); - } - } - return new Buffer(output).toString(); - } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; - } - var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); - } - var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); - } - function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - if (encodeSetPredicate(c)) { - return utf8PercentEncode(cStr); - } - return cStr; - } - function parseIPv4Number(input) { - let R = 10; - if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { - input = input.substring(2); - R = 16; - } else if (input.length >= 2 && input.charAt(0) === "0") { - input = input.substring(1); - R = 8; - } - if (input === "") { - return 0; - } - const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; - if (regex.test(input)) { - return failure; - } - return parseInt(input, R); - } - function parseIPv4(input) { - const parts = input.split("."); - if (parts[parts.length - 1] === "") { - if (parts.length > 1) { - parts.pop(); - } - } - if (parts.length > 4) { - return input; - } - const numbers = []; - for (const part of parts) { - if (part === "") { - return input; - } - const n = parseIPv4Number(part); - if (n === failure) { - return input; - } - numbers.push(n); - } - for (let i = 0; i < numbers.length - 1; ++i) { - if (numbers[i] > 255) { - return failure; - } - } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - let ipv4 = numbers.pop(); - let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - ++counter; - } - return ipv4; - } - function serializeIPv4(address) { - let output = ""; - let n = address; - for (let i = 1; i <= 4; ++i) { - output = String(n % 256) + output; - if (i !== 4) { - output = "." + output; - } - n = Math.floor(n / 256); - } - return output; - } - function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - input = punycode.ucs2.decode(input); - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; - } - let value = 0; - let length = 0; - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at(input, pointer), 16); - ++pointer; - ++length; - } - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - pointer -= length; - if (pieceIndex > 6) { - return failure; - } - let numbersSeen = 0; - while (input[pointer] !== void 0) { - let ipv4Piece = null; - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - if (!isASCIIDigit(input[pointer])) { - return failure; - } - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - ++numbersSeen; - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - if (numbersSeen !== 4) { - return failure; - } - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === void 0) { - return failure; - } - } else if (input[pointer] !== void 0) { - return failure; - } - address[pieceIndex] = value; - ++pieceIndex; - } - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - return address; - } - function serializeIPv6(address) { - let output = ""; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; - } - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? "::" : ":"; - output += separator; - ignore0 = true; - continue; - } - output += address[pieceIndex].toString(16); - if (pieceIndex !== 7) { - output += ":"; - } - } - return output; - } - function parseHost(input, isSpecialArg) { - if (input[0] === "[") { - if (input[input.length - 1] !== "]") { - return failure; - } - return parseIPv6(input.substring(1, input.length - 1)); - } - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === "number" || ipv4Host === failure) { - return ipv4Host; - } - return asciiDomain; - } - function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - let output = ""; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); - } - return output; - } - function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; - let currStart = null; - let currLen = 0; - for (let i = 0; i < arr.length; ++i) { - if (arr[i] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - currStart = null; - currLen = 0; - } else { - if (currStart === null) { - currStart = i; - } - ++currLen; - } - } - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - return { - idx: maxIdx, - len: maxLen - }; - } - function serializeHost(host) { - if (typeof host === "number") { - return serializeIPv4(host); - } - if (host instanceof Array) { - return "[" + serializeIPv6(host) + "]"; - } - return host; - } - function trimControlChars(url2) { - return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); - } - function trimTabAndNewline(url2) { - return url2.replace(/\u0009|\u000A|\u000D/g, ""); - } - function shortenPath(url2) { - const path = url2.path; - if (path.length === 0) { - return; - } - if (url2.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; - } - path.pop(); - } - function includesCredentials(url2) { - return url2.username !== "" || url2.password !== ""; - } - function cannotHaveAUsernamePasswordPort(url2) { - return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; - } - function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); - } - function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || "utf-8"; - this.stateOverride = stateOverride; - this.url = url2; - this.failure = false; - this.parseError = false; - if (!this.url) { - this.url = { - scheme: "", - username: "", - password: "", - host: null, - port: null, - path: [], - query: null, - fragment: null, - cannotBeABaseURL: false - }; - const res2 = trimControlChars(this.input); - if (res2 !== this.input) { - this.parseError = true; - } - this.input = res2; - } - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - this.state = stateOverride || "scheme start"; - this.buffer = ""; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - this.input = punycode.ucs2.decode(this.input); - for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); - const ret = this["parse " + this.state](c, cStr); - if (!ret) { - break; - } else if (ret === failure) { - this.failure = true; - break; - } - } - } - URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { - this.buffer += cStr.toLowerCase(); - this.state = "scheme"; - } else if (!this.stateOverride) { - this.state = "no scheme"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - return true; - }; - URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { - return false; - } - if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { - return false; - } - } - this.url.scheme = this.buffer; - this.buffer = ""; - if (this.stateOverride) { - return false; - } - if (this.url.scheme === "file") { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = "file"; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = "special relative or authority"; - } else if (isSpecial(this.url)) { - this.state = "special authority slashes"; - } else if (this.input[this.pointer + 1] === 47) { - this.state = "path or authority"; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(""); - this.state = "cannot-be-a-base-URL path"; - } - } else if (!this.stateOverride) { - this.buffer = ""; - this.state = "no scheme"; - this.pointer = -1; - } else { - this.parseError = true; - return failure; - } - return true; - }; - URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { - if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { - return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.url.cannotBeABaseURL = true; - this.state = "fragment"; - } else if (this.base.scheme === "file") { - this.state = "file"; - --this.pointer; - } else { - this.state = "relative"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "relative"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = "authority"; - } else { - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse relative"] = function parseRelative(c) { - this.url.scheme = this.base.scheme; - if (isNaN(c)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 47) { - this.state = "relative slash"; - } else if (c === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else if (isSpecial(this.url) && c === 92) { - this.parseError = true; - this.state = "relative slash"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { - this.parseError = true; - } - this.state = "special authority ignore slashes"; - } else if (c === 47) { - this.state = "authority"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "special authority ignore slashes"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = "authority"; - --this.pointer; - } else { - this.parseError = true; - } - return true; - }; - URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { - if (c === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = "%40" + this.buffer; - } - this.atFlag = true; - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } - } - this.buffer = ""; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { - if (this.atFlag && this.buffer === "") { - this.parseError = true; - return failure; - } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ""; - this.state = "host"; - } else { - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { - if (this.stateOverride && this.url.scheme === "file") { - --this.pointer; - this.state = "file host"; - } else if (c === 58 && !this.arrFlag) { - if (this.buffer === "") { - this.parseError = true; - return failure; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ""; - this.state = "port"; - if (this.stateOverride === "hostname") { - return false; - } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === "") { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ""; - this.state = "path start"; - if (this.stateOverride) { - return false; - } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; - } - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { - this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { - if (this.buffer !== "") { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; - } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ""; - } - if (this.stateOverride) { - return false; - } - this.state = "path start"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - return true; - }; - var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype["parse file"] = function parseFile(c) { - this.url.scheme = "file"; - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file slash"; - } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points - !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; - } - this.state = "path"; - --this.pointer; - } - } else { - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file host"; - } else { - if (this.base !== null && this.base.scheme === "file") { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; - } - } - this.state = "path"; - --this.pointer; - } - return true; - }; - URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = "path"; - } else if (this.buffer === "") { - this.url.host = ""; - if (this.stateOverride) { - return false; - } - this.state = "path start"; - } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === "localhost") { - host = ""; - } - this.url.host = host; - if (this.stateOverride) { - return false; - } - this.buffer = ""; - this.state = "path start"; - } - } else { - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { - if (isSpecial(this.url)) { - if (c === 92) { - this.parseError = true; - } - this.state = "path"; - if (c !== 47 && c !== 92) { - --this.pointer; - } - } else if (!this.stateOverride && c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (!this.stateOverride && c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else if (c !== void 0) { - this.state = "path"; - if (c !== 47) { - --this.pointer; - } - } - return true; - }; - URLStateMachine.prototype["parse path"] = function parsePath(c) { - if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { - if (isSpecial(this.url) && c === 92) { - this.parseError = true; - } - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } - } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== "" && this.url.host !== null) { - this.parseError = true; - this.url.host = ""; - } - this.buffer = this.buffer[0] + ":"; - } - this.url.path.push(this.buffer); - } - this.buffer = ""; - if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === "") { - this.parseError = true; - this.url.path.shift(); - } - } - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += percentEncodeChar(c, isPathPercentEncode); - } - return true; - }; - URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (!isNaN(c) && c !== 37) { - this.parseError = true; - } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); - } - } - return true; - }; - URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { - if (isNaN(c) || !this.stateOverride && c === 35) { - if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { - this.encodingOverride = "utf-8"; - } - const buffer = new Buffer(this.buffer); - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] < 33 || buffer[i] > 126 || buffer[i] === 34 || buffer[i] === 35 || buffer[i] === 60 || buffer[i] === 62) { - this.url.query += percentEncode(buffer[i]); - } else { - this.url.query += String.fromCodePoint(buffer[i]); - } - } - this.buffer = ""; - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { - if (isNaN(c)) { - } else if (c === 0) { - this.parseError = true; - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); - } - return true; - }; - function serializeURL(url2, excludeFragment) { - let output = url2.scheme + ":"; - if (url2.host !== null) { - output += "//"; - if (url2.username !== "" || url2.password !== "") { - output += url2.username; - if (url2.password !== "") { - output += ":" + url2.password; - } - output += "@"; - } - output += serializeHost(url2.host); - if (url2.port !== null) { - output += ":" + url2.port; - } - } else if (url2.host === null && url2.scheme === "file") { - output += "//"; - } - if (url2.cannotBeABaseURL) { - output += url2.path[0]; - } else { - for (const string of url2.path) { - output += "/" + string; - } - } - if (url2.query !== null) { - output += "?" + url2.query; - } - if (!excludeFragment && url2.fragment !== null) { - output += "#" + url2.fragment; - } - return output; - } - function serializeOrigin(tuple) { - let result = tuple.scheme + "://"; - result += serializeHost(tuple.host); - if (tuple.port !== null) { - result += ":" + tuple.port; - } - return result; - } - module2.exports.serializeURL = serializeURL; - module2.exports.serializeURLOrigin = function(url2) { - switch (url2.scheme) { - case "blob": - try { - return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); - } catch (e) { - return "null"; - } - case "ftp": - case "gopher": - case "http": - case "https": - case "ws": - case "wss": - return serializeOrigin({ - scheme: url2.scheme, - host: url2.host, - port: url2.port - }); - case "file": - return "file://"; - default: - return "null"; - } - }; - module2.exports.basicURLParse = function(input, options) { - if (options === void 0) { - options = {}; - } - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return "failure"; - } - return usm.url; - }; - module2.exports.setTheUsername = function(url2, username) { - url2.username = ""; - const decoded = punycode.ucs2.decode(username); - for (let i = 0; i < decoded.length; ++i) { - url2.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } - }; - module2.exports.setThePassword = function(url2, password) { - url2.password = ""; - const decoded = punycode.ucs2.decode(password); - for (let i = 0; i < decoded.length; ++i) { - url2.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } - }; - module2.exports.serializeHost = serializeHost; - module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - module2.exports.serializeInteger = function(integer) { - return String(integer); - }; - module2.exports.parseURL = function(input, options) { - if (options === void 0) { - options = {}; - } - return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); - }; - } -}); - -// ../../../node_modules/whatwg-url/lib/URL-impl.js -var require_URL_impl = __commonJS({ - "../../../node_modules/whatwg-url/lib/URL-impl.js"(exports) { - "use strict"; - var usm = require_url_state_machine(); - exports.implementation = class URLImpl { - constructor(constructorArgs) { - const url2 = constructorArgs[0]; - const base = constructorArgs[1]; - let parsedBase = null; - if (base !== void 0) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === "failure") { - throw new TypeError("Invalid base URL"); - } - } - const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - this._url = parsedURL; - } - get href() { - return usm.serializeURL(this._url); - } - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - this._url = parsedURL; - } - get origin() { - return usm.serializeURLOrigin(this._url); - } - get protocol() { - return this._url.scheme + ":"; - } - set protocol(v) { - usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); - } - get username() { - return this._url.username; - } - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setTheUsername(this._url, v); - } - get password() { - return this._url.password; - } - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setThePassword(this._url, v); - } - get host() { - const url2 = this._url; - if (url2.host === null) { - return ""; - } - if (url2.port === null) { - return usm.serializeHost(url2.host); - } - return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); - } - set host(v) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); - } - get hostname() { - if (this._url.host === null) { - return ""; - } - return usm.serializeHost(this._url.host); - } - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); - } - get port() { - if (this._url.port === null) { - return ""; - } - return usm.serializeInteger(this._url.port); - } - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - if (v === "") { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); - } - } - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - if (this._url.path.length === 0) { - return ""; - } - return "/" + this._url.path.join("/"); - } - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); - } - get search() { - if (this._url.query === null || this._url.query === "") { - return ""; - } - return "?" + this._url.query; - } - set search(v) { - const url2 = this._url; - if (v === "") { - url2.query = null; - return; - } - const input = v[0] === "?" ? v.substring(1) : v; - url2.query = ""; - usm.basicURLParse(input, { url: url2, stateOverride: "query" }); - } - get hash() { - if (this._url.fragment === null || this._url.fragment === "") { - return ""; - } - return "#" + this._url.fragment; - } - set hash(v) { - if (v === "") { - this._url.fragment = null; - return; - } - const input = v[0] === "#" ? v.substring(1) : v; - this._url.fragment = ""; - usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); - } - toJSON() { - return this.href; - } - }; - } -}); - -// ../../../node_modules/whatwg-url/lib/URL.js -var require_URL = __commonJS({ - "../../../node_modules/whatwg-url/lib/URL.js"(exports, module2) { - "use strict"; - var conversions = require_lib2(); - var utils = require_utils2(); - var Impl = require_URL_impl(); - var impl = utils.implSymbol; - function URL3(url2) { - if (!this || this[impl] || !(this instanceof URL3)) { - throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions["USVString"](args[0]); - if (args[1] !== void 0) { - args[1] = conversions["USVString"](args[1]); - } - module2.exports.setup(this, args); - } - URL3.prototype.toJSON = function toJSON() { - if (!this || !module2.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; - } - return this[impl].toJSON.apply(this[impl], args); - }; - Object.defineProperty(URL3.prototype, "href", { - get() { - return this[impl].href; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true - }); - URL3.prototype.toString = function() { - if (!this || !module2.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - return this.href; - }; - Object.defineProperty(URL3.prototype, "origin", { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "protocol", { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "username", { - get() { - return this[impl].username; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "password", { - get() { - return this[impl].password; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "host", { - get() { - return this[impl].host; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "hostname", { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "port", { - get() { - return this[impl].port; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "pathname", { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "search", { - get() { - return this[impl].search; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, "hash", { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true - }); - module2.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL3.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) - privateData = {}; - privateData.wrapper = obj; - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL3, - expose: { - Window: { URL: URL3 }, - Worker: { URL: URL3 } - } - }; - } -}); - -// ../../../node_modules/whatwg-url/lib/public-api.js -var require_public_api = __commonJS({ - "../../../node_modules/whatwg-url/lib/public-api.js"(exports) { - "use strict"; - exports.URL = require_URL().interface; - exports.serializeURL = require_url_state_machine().serializeURL; - exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; - exports.basicURLParse = require_url_state_machine().basicURLParse; - exports.setTheUsername = require_url_state_machine().setTheUsername; - exports.setThePassword = require_url_state_machine().setThePassword; - exports.serializeHost = require_url_state_machine().serializeHost; - exports.serializeInteger = require_url_state_machine().serializeInteger; - exports.parseURL = require_url_state_machine().parseURL; - } -}); - -// ../../../node_modules/safer-buffer/safer.js -var require_safer = __commonJS({ - "../../../node_modules/safer-buffer/safer.js"(exports, module2) { - "use strict"; - var buffer = require("buffer"); - var Buffer2 = buffer.Buffer; - var safer = {}; - var key; - for (key in buffer) { - if (!buffer.hasOwnProperty(key)) - continue; - if (key === "SlowBuffer" || key === "Buffer") - continue; - safer[key] = buffer[key]; - } - var Safer = safer.Buffer = {}; - for (key in Buffer2) { - if (!Buffer2.hasOwnProperty(key)) - continue; - if (key === "allocUnsafe" || key === "allocUnsafeSlow") - continue; - Safer[key] = Buffer2[key]; - } - safer.Buffer.prototype = Buffer2.prototype; - if (!Safer.from || Safer.from === Uint8Array.from) { - Safer.from = function(value, encodingOrOffset, length) { - if (typeof value === "number") { - throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); - } - if (value && typeof value.length === "undefined") { - throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); - } - return Buffer2(value, encodingOrOffset, length); - }; - } - if (!Safer.alloc) { - Safer.alloc = function(size, fill, encoding) { - if (typeof size !== "number") { - throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); - } - if (size < 0 || size >= 2 * (1 << 30)) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } - var buf = Buffer2(size); - if (!fill || fill.length === 0) { - buf.fill(0); - } else if (typeof encoding === "string") { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - return buf; - }; - } - if (!safer.kStringMaxLength) { - try { - safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; - } catch (e) { - } - } - if (!safer.constants) { - safer.constants = { - MAX_LENGTH: safer.kMaxLength - }; - if (safer.kStringMaxLength) { - safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; - } - } - module2.exports = safer; - } -}); - -// ../../../node_modules/iconv-lite/lib/bom-handling.js -var require_bom_handling = __commonJS({ - "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports) { - "use strict"; - var BOMChar = "\uFEFF"; - exports.PrependBOM = PrependBOMWrapper; - function PrependBOMWrapper(encoder, options) { - this.encoder = encoder; - this.addBOM = true; - } - PrependBOMWrapper.prototype.write = function(str) { - if (this.addBOM) { - str = BOMChar + str; - this.addBOM = false; - } - return this.encoder.write(str); - }; - PrependBOMWrapper.prototype.end = function() { - return this.encoder.end(); - }; - exports.StripBOM = StripBOMWrapper; - function StripBOMWrapper(decoder, options) { - this.decoder = decoder; - this.pass = false; - this.options = options || {}; - } - StripBOMWrapper.prototype.write = function(buf) { - var res = this.decoder.write(buf); - if (this.pass || !res) - return res; - if (res[0] === BOMChar) { - res = res.slice(1); - if (typeof this.options.stripBOM === "function") - this.options.stripBOM(); - } - this.pass = true; - return res; - }; - StripBOMWrapper.prototype.end = function() { - return this.decoder.end(); - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/internal.js -var require_internal = __commonJS({ - "../../../node_modules/iconv-lite/encodings/internal.js"(exports, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - module2.exports = { - // Encodings - utf8: { type: "_internal", bomAware: true }, - cesu8: { type: "_internal", bomAware: true }, - unicode11utf8: "utf8", - ucs2: { type: "_internal", bomAware: true }, - utf16le: "ucs2", - binary: { type: "_internal" }, - base64: { type: "_internal" }, - hex: { type: "_internal" }, - // Codec. - _internal: InternalCodec - }; - function InternalCodec(codecOptions, iconv) { - this.enc = codecOptions.encodingName; - this.bomAware = codecOptions.bomAware; - if (this.enc === "base64") - this.encoder = InternalEncoderBase64; - else if (this.enc === "cesu8") { - this.enc = "utf8"; - this.encoder = InternalEncoderCesu8; - if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { - this.decoder = InternalDecoderCesu8; - this.defaultCharUnicode = iconv.defaultCharUnicode; - } - } - } - InternalCodec.prototype.encoder = InternalEncoder; - InternalCodec.prototype.decoder = InternalDecoder; - var StringDecoder = require("string_decoder").StringDecoder; - if (!StringDecoder.prototype.end) - StringDecoder.prototype.end = function() { - }; - function InternalDecoder(options, codec) { - this.decoder = new StringDecoder(codec.enc); - } - InternalDecoder.prototype.write = function(buf) { - if (!Buffer2.isBuffer(buf)) { - buf = Buffer2.from(buf); - } - return this.decoder.write(buf); - }; - InternalDecoder.prototype.end = function() { - return this.decoder.end(); - }; - function InternalEncoder(options, codec) { - this.enc = codec.enc; - } - InternalEncoder.prototype.write = function(str) { - return Buffer2.from(str, this.enc); - }; - InternalEncoder.prototype.end = function() { - }; - function InternalEncoderBase64(options, codec) { - this.prevStr = ""; - } - InternalEncoderBase64.prototype.write = function(str) { - str = this.prevStr + str; - var completeQuads = str.length - str.length % 4; - this.prevStr = str.slice(completeQuads); - str = str.slice(0, completeQuads); - return Buffer2.from(str, "base64"); - }; - InternalEncoderBase64.prototype.end = function() { - return Buffer2.from(this.prevStr, "base64"); - }; - function InternalEncoderCesu8(options, codec) { - } - InternalEncoderCesu8.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; - for (var i = 0; i < str.length; i++) { - var charCode = str.charCodeAt(i); - if (charCode < 128) - buf[bufIdx++] = charCode; - else if (charCode < 2048) { - buf[bufIdx++] = 192 + (charCode >>> 6); - buf[bufIdx++] = 128 + (charCode & 63); - } else { - buf[bufIdx++] = 224 + (charCode >>> 12); - buf[bufIdx++] = 128 + (charCode >>> 6 & 63); - buf[bufIdx++] = 128 + (charCode & 63); - } - } - return buf.slice(0, bufIdx); - }; - InternalEncoderCesu8.prototype.end = function() { - }; - function InternalDecoderCesu8(options, codec) { - this.acc = 0; - this.contBytes = 0; - this.accBytes = 0; - this.defaultCharUnicode = codec.defaultCharUnicode; - } - InternalDecoderCesu8.prototype.write = function(buf) { - var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; - for (var i = 0; i < buf.length; i++) { - var curByte = buf[i]; - if ((curByte & 192) !== 128) { - if (contBytes > 0) { - res += this.defaultCharUnicode; - contBytes = 0; - } - if (curByte < 128) { - res += String.fromCharCode(curByte); - } else if (curByte < 224) { - acc = curByte & 31; - contBytes = 1; - accBytes = 1; - } else if (curByte < 240) { - acc = curByte & 15; - contBytes = 2; - accBytes = 1; - } else { - res += this.defaultCharUnicode; - } - } else { - if (contBytes > 0) { - acc = acc << 6 | curByte & 63; - contBytes--; - accBytes++; - if (contBytes === 0) { - if (accBytes === 2 && acc < 128 && acc > 0) - res += this.defaultCharUnicode; - else if (accBytes === 3 && acc < 2048) - res += this.defaultCharUnicode; - else - res += String.fromCharCode(acc); - } - } else { - res += this.defaultCharUnicode; - } - } - } - this.acc = acc; - this.contBytes = contBytes; - this.accBytes = accBytes; - return res; - }; - InternalDecoderCesu8.prototype.end = function() { - var res = 0; - if (this.contBytes > 0) - res += this.defaultCharUnicode; - return res; - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/utf32.js -var require_utf32 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/utf32.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports._utf32 = Utf32Codec; - function Utf32Codec(codecOptions, iconv) { - this.iconv = iconv; - this.bomAware = true; - this.isLE = codecOptions.isLE; - } - exports.utf32le = { type: "_utf32", isLE: true }; - exports.utf32be = { type: "_utf32", isLE: false }; - exports.ucs4le = "utf32le"; - exports.ucs4be = "utf32be"; - Utf32Codec.prototype.encoder = Utf32Encoder; - Utf32Codec.prototype.decoder = Utf32Decoder; - function Utf32Encoder(options, codec) { - this.isLE = codec.isLE; - this.highSurrogate = 0; - } - Utf32Encoder.prototype.write = function(str) { - var src = Buffer2.from(str, "ucs2"); - var dst = Buffer2.alloc(src.length * 2); - var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; - var offset = 0; - for (var i = 0; i < src.length; i += 2) { - var code = src.readUInt16LE(i); - var isHighSurrogate = 55296 <= code && code < 56320; - var isLowSurrogate = 56320 <= code && code < 57344; - if (this.highSurrogate) { - if (isHighSurrogate || !isLowSurrogate) { - write32.call(dst, this.highSurrogate, offset); - offset += 4; - } else { - var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; - write32.call(dst, codepoint, offset); - offset += 4; - this.highSurrogate = 0; - continue; - } - } - if (isHighSurrogate) - this.highSurrogate = code; - else { - write32.call(dst, code, offset); - offset += 4; - this.highSurrogate = 0; - } - } - if (offset < dst.length) - dst = dst.slice(0, offset); - return dst; - }; - Utf32Encoder.prototype.end = function() { - if (!this.highSurrogate) - return; - var buf = Buffer2.alloc(4); - if (this.isLE) - buf.writeUInt32LE(this.highSurrogate, 0); - else - buf.writeUInt32BE(this.highSurrogate, 0); - this.highSurrogate = 0; - return buf; - }; - function Utf32Decoder(options, codec) { - this.isLE = codec.isLE; - this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); - this.overflow = []; - } - Utf32Decoder.prototype.write = function(src) { - if (src.length === 0) - return ""; - var i = 0; - var codepoint = 0; - var dst = Buffer2.alloc(src.length + 4); - var offset = 0; - var isLE = this.isLE; - var overflow = this.overflow; - var badChar = this.badChar; - if (overflow.length > 0) { - for (; i < src.length && overflow.length < 4; i++) - overflow.push(src[i]); - if (overflow.length === 4) { - if (isLE) { - codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24; - } else { - codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24; - } - overflow.length = 0; - offset = _writeCodepoint(dst, offset, codepoint, badChar); - } - } - for (; i < src.length - 3; i += 4) { - if (isLE) { - codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; - } else { - codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; - } - offset = _writeCodepoint(dst, offset, codepoint, badChar); - } - for (; i < src.length; i++) { - overflow.push(src[i]); - } - return dst.slice(0, offset).toString("ucs2"); - }; - function _writeCodepoint(dst, offset, codepoint, badChar) { - if (codepoint < 0 || codepoint > 1114111) { - codepoint = badChar; - } - if (codepoint >= 65536) { - codepoint -= 65536; - var high = 55296 | codepoint >> 10; - dst[offset++] = high & 255; - dst[offset++] = high >> 8; - var codepoint = 56320 | codepoint & 1023; - } - dst[offset++] = codepoint & 255; - dst[offset++] = codepoint >> 8; - return offset; - } - Utf32Decoder.prototype.end = function() { - this.overflow.length = 0; - }; - exports.utf32 = Utf32AutoCodec; - exports.ucs4 = "utf32"; - function Utf32AutoCodec(options, iconv) { - this.iconv = iconv; - } - Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; - Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; - function Utf32AutoEncoder(options, codec) { - options = options || {}; - if (options.addBOM === void 0) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); - } - Utf32AutoEncoder.prototype.write = function(str) { - return this.encoder.write(str); - }; - Utf32AutoEncoder.prototype.end = function() { - return this.encoder.end(); - }; - function Utf32AutoDecoder(options, codec) { - this.decoder = null; - this.initialBufs = []; - this.initialBufsLen = 0; - this.options = options || {}; - this.iconv = codec.iconv; - } - Utf32AutoDecoder.prototype.write = function(buf) { - if (!this.decoder) { - this.initialBufs.push(buf); - this.initialBufsLen += buf.length; - if (this.initialBufsLen < 32) - return ""; - var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var resStr = ""; - for (var i = 0; i < this.initialBufs.length; i++) - resStr += this.decoder.write(this.initialBufs[i]); - this.initialBufs.length = this.initialBufsLen = 0; - return resStr; - } - return this.decoder.write(buf); - }; - Utf32AutoDecoder.prototype.end = function() { - if (!this.decoder) { - var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var resStr = ""; - for (var i = 0; i < this.initialBufs.length; i++) - resStr += this.decoder.write(this.initialBufs[i]); - var trail = this.decoder.end(); - if (trail) - resStr += trail; - this.initialBufs.length = this.initialBufsLen = 0; - return resStr; - } - return this.decoder.end(); - }; - function detectEncoding(bufs, defaultEncoding) { - var b = []; - var charsProcessed = 0; - var invalidLE = 0, invalidBE = 0; - var bmpCharsLE = 0, bmpCharsBE = 0; - outer_loop: - for (var i = 0; i < bufs.length; i++) { - var buf = bufs[i]; - for (var j = 0; j < buf.length; j++) { - b.push(buf[j]); - if (b.length === 4) { - if (charsProcessed === 0) { - if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { - return "utf-32le"; - } - if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { - return "utf-32be"; - } - } - if (b[0] !== 0 || b[1] > 16) - invalidBE++; - if (b[3] !== 0 || b[2] > 16) - invalidLE++; - if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) - bmpCharsBE++; - if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) - bmpCharsLE++; - b.length = 0; - charsProcessed++; - if (charsProcessed >= 100) { - break outer_loop; - } - } - } - } - if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) - return "utf-32be"; - if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) - return "utf-32le"; - return defaultEncoding || "utf-32le"; - } - } -}); - -// ../../../node_modules/iconv-lite/encodings/utf16.js -var require_utf16 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/utf16.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports.utf16be = Utf16BECodec; - function Utf16BECodec() { - } - Utf16BECodec.prototype.encoder = Utf16BEEncoder; - Utf16BECodec.prototype.decoder = Utf16BEDecoder; - Utf16BECodec.prototype.bomAware = true; - function Utf16BEEncoder() { - } - Utf16BEEncoder.prototype.write = function(str) { - var buf = Buffer2.from(str, "ucs2"); - for (var i = 0; i < buf.length; i += 2) { - var tmp = buf[i]; - buf[i] = buf[i + 1]; - buf[i + 1] = tmp; - } - return buf; - }; - Utf16BEEncoder.prototype.end = function() { - }; - function Utf16BEDecoder() { - this.overflowByte = -1; - } - Utf16BEDecoder.prototype.write = function(buf) { - if (buf.length == 0) - return ""; - var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; - if (this.overflowByte !== -1) { - buf2[0] = buf[0]; - buf2[1] = this.overflowByte; - i = 1; - j = 2; - } - for (; i < buf.length - 1; i += 2, j += 2) { - buf2[j] = buf[i + 1]; - buf2[j + 1] = buf[i]; - } - this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; - return buf2.slice(0, j).toString("ucs2"); - }; - Utf16BEDecoder.prototype.end = function() { - this.overflowByte = -1; - }; - exports.utf16 = Utf16Codec; - function Utf16Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf16Codec.prototype.encoder = Utf16Encoder; - Utf16Codec.prototype.decoder = Utf16Decoder; - function Utf16Encoder(options, codec) { - options = options || {}; - if (options.addBOM === void 0) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder("utf-16le", options); - } - Utf16Encoder.prototype.write = function(str) { - return this.encoder.write(str); - }; - Utf16Encoder.prototype.end = function() { - return this.encoder.end(); - }; - function Utf16Decoder(options, codec) { - this.decoder = null; - this.initialBufs = []; - this.initialBufsLen = 0; - this.options = options || {}; - this.iconv = codec.iconv; - } - Utf16Decoder.prototype.write = function(buf) { - if (!this.decoder) { - this.initialBufs.push(buf); - this.initialBufsLen += buf.length; - if (this.initialBufsLen < 16) - return ""; - var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var resStr = ""; - for (var i = 0; i < this.initialBufs.length; i++) - resStr += this.decoder.write(this.initialBufs[i]); - this.initialBufs.length = this.initialBufsLen = 0; - return resStr; - } - return this.decoder.write(buf); - }; - Utf16Decoder.prototype.end = function() { - if (!this.decoder) { - var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var resStr = ""; - for (var i = 0; i < this.initialBufs.length; i++) - resStr += this.decoder.write(this.initialBufs[i]); - var trail = this.decoder.end(); - if (trail) - resStr += trail; - this.initialBufs.length = this.initialBufsLen = 0; - return resStr; - } - return this.decoder.end(); - }; - function detectEncoding(bufs, defaultEncoding) { - var b = []; - var charsProcessed = 0; - var asciiCharsLE = 0, asciiCharsBE = 0; - outer_loop: - for (var i = 0; i < bufs.length; i++) { - var buf = bufs[i]; - for (var j = 0; j < buf.length; j++) { - b.push(buf[j]); - if (b.length === 2) { - if (charsProcessed === 0) { - if (b[0] === 255 && b[1] === 254) - return "utf-16le"; - if (b[0] === 254 && b[1] === 255) - return "utf-16be"; - } - if (b[0] === 0 && b[1] !== 0) - asciiCharsBE++; - if (b[0] !== 0 && b[1] === 0) - asciiCharsLE++; - b.length = 0; - charsProcessed++; - if (charsProcessed >= 100) { - break outer_loop; - } - } - } - } - if (asciiCharsBE > asciiCharsLE) - return "utf-16be"; - if (asciiCharsBE < asciiCharsLE) - return "utf-16le"; - return defaultEncoding || "utf-16le"; - } - } -}); - -// ../../../node_modules/iconv-lite/encodings/utf7.js -var require_utf7 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/utf7.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports.utf7 = Utf7Codec; - exports.unicode11utf7 = "utf7"; - function Utf7Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7Codec.prototype.encoder = Utf7Encoder; - Utf7Codec.prototype.decoder = Utf7Decoder; - Utf7Codec.prototype.bomAware = true; - var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; - function Utf7Encoder(options, codec) { - this.iconv = codec.iconv; - } - Utf7Encoder.prototype.write = function(str) { - return Buffer2.from(str.replace(nonDirectChars, function(chunk) { - return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; - }.bind(this))); - }; - Utf7Encoder.prototype.end = function() { - }; - function Utf7Decoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64Regex = /[A-Za-z0-9\/+]/; - var base64Chars = []; - for (i = 0; i < 256; i++) - base64Chars[i] = base64Regex.test(String.fromCharCode(i)); - var i; - var plusChar = "+".charCodeAt(0); - var minusChar = "-".charCodeAt(0); - var andChar = "&".charCodeAt(0); - Utf7Decoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == plusChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64Chars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "+"; - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7Decoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - exports.utf7imap = Utf7IMAPCodec; - function Utf7IMAPCodec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; - Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; - Utf7IMAPCodec.prototype.bomAware = true; - function Utf7IMAPEncoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = Buffer2.alloc(6); - this.base64AccumIdx = 0; - } - Utf7IMAPEncoder.prototype.write = function(str) { - var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; - for (var i2 = 0; i2 < str.length; i2++) { - var uChar = str.charCodeAt(i2); - if (32 <= uChar && uChar <= 126) { - if (inBase64) { - if (base64AccumIdx > 0) { - bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - inBase64 = false; - } - if (!inBase64) { - buf[bufIdx++] = uChar; - if (uChar === andChar) - buf[bufIdx++] = minusChar; - } - } else { - if (!inBase64) { - buf[bufIdx++] = andChar; - inBase64 = true; - } - if (inBase64) { - base64Accum[base64AccumIdx++] = uChar >> 8; - base64Accum[base64AccumIdx++] = uChar & 255; - if (base64AccumIdx == base64Accum.length) { - bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); - base64AccumIdx = 0; - } - } - } - } - this.inBase64 = inBase64; - this.base64AccumIdx = base64AccumIdx; - return buf.slice(0, bufIdx); - }; - Utf7IMAPEncoder.prototype.end = function() { - var buf = Buffer2.alloc(10), bufIdx = 0; - if (this.inBase64) { - if (this.base64AccumIdx > 0) { - bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - this.base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - this.inBase64 = false; - } - return buf.slice(0, bufIdx); - }; - function Utf7IMAPDecoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64IMAPChars = base64Chars.slice(); - base64IMAPChars[",".charCodeAt(0)] = true; - Utf7IMAPDecoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == andChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64IMAPChars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "&"; - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7IMAPDecoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js -var require_sbcs_codec = __commonJS({ - "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports._sbcs = SBCSCodec; - function SBCSCodec(codecOptions, iconv) { - if (!codecOptions) - throw new Error("SBCS codec is called without the data."); - if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) - throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); - if (codecOptions.chars.length === 128) { - var asciiString = ""; - for (var i = 0; i < 128; i++) - asciiString += String.fromCharCode(i); - codecOptions.chars = asciiString + codecOptions.chars; - } - this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); - var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); - for (var i = 0; i < codecOptions.chars.length; i++) - encodeBuf[codecOptions.chars.charCodeAt(i)] = i; - this.encodeBuf = encodeBuf; - } - SBCSCodec.prototype.encoder = SBCSEncoder; - SBCSCodec.prototype.decoder = SBCSDecoder; - function SBCSEncoder(options, codec) { - this.encodeBuf = codec.encodeBuf; - } - SBCSEncoder.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length); - for (var i = 0; i < str.length; i++) - buf[i] = this.encodeBuf[str.charCodeAt(i)]; - return buf; - }; - SBCSEncoder.prototype.end = function() { - }; - function SBCSDecoder(options, codec) { - this.decodeBuf = codec.decodeBuf; - } - SBCSDecoder.prototype.write = function(buf) { - var decodeBuf = this.decodeBuf; - var newBuf = Buffer2.alloc(buf.length * 2); - var idx1 = 0, idx2 = 0; - for (var i = 0; i < buf.length; i++) { - idx1 = buf[i] * 2; - idx2 = i * 2; - newBuf[idx2] = decodeBuf[idx1]; - newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; - } - return newBuf.toString("ucs2"); - }; - SBCSDecoder.prototype.end = function() { - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/sbcs-data.js -var require_sbcs_data = __commonJS({ - "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module2) { - "use strict"; - module2.exports = { - // Not supported by iconv, not sure why. - "10029": "maccenteuro", - "maccenteuro": { - "type": "_sbcs", - "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" - }, - "808": "cp808", - "ibm808": "cp808", - "cp808": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" - }, - "mik": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "cp720": { - "type": "_sbcs", - "chars": "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - // Aliases of generated encodings. - "ascii8bit": "ascii", - "usascii": "ascii", - "ansix34": "ascii", - "ansix341968": "ascii", - "ansix341986": "ascii", - "csascii": "ascii", - "cp367": "ascii", - "ibm367": "ascii", - "isoir6": "ascii", - "iso646us": "ascii", - "iso646irv": "ascii", - "us": "ascii", - "latin1": "iso88591", - "latin2": "iso88592", - "latin3": "iso88593", - "latin4": "iso88594", - "latin5": "iso88599", - "latin6": "iso885910", - "latin7": "iso885913", - "latin8": "iso885914", - "latin9": "iso885915", - "latin10": "iso885916", - "csisolatin1": "iso88591", - "csisolatin2": "iso88592", - "csisolatin3": "iso88593", - "csisolatin4": "iso88594", - "csisolatincyrillic": "iso88595", - "csisolatinarabic": "iso88596", - "csisolatingreek": "iso88597", - "csisolatinhebrew": "iso88598", - "csisolatin5": "iso88599", - "csisolatin6": "iso885910", - "l1": "iso88591", - "l2": "iso88592", - "l3": "iso88593", - "l4": "iso88594", - "l5": "iso88599", - "l6": "iso885910", - "l7": "iso885913", - "l8": "iso885914", - "l9": "iso885915", - "l10": "iso885916", - "isoir14": "iso646jp", - "isoir57": "iso646cn", - "isoir100": "iso88591", - "isoir101": "iso88592", - "isoir109": "iso88593", - "isoir110": "iso88594", - "isoir144": "iso88595", - "isoir127": "iso88596", - "isoir126": "iso88597", - "isoir138": "iso88598", - "isoir148": "iso88599", - "isoir157": "iso885910", - "isoir166": "tis620", - "isoir179": "iso885913", - "isoir199": "iso885914", - "isoir203": "iso885915", - "isoir226": "iso885916", - "cp819": "iso88591", - "ibm819": "iso88591", - "cyrillic": "iso88595", - "arabic": "iso88596", - "arabic8": "iso88596", - "ecma114": "iso88596", - "asmo708": "iso88596", - "greek": "iso88597", - "greek8": "iso88597", - "ecma118": "iso88597", - "elot928": "iso88597", - "hebrew": "iso88598", - "hebrew8": "iso88598", - "turkish": "iso88599", - "turkish8": "iso88599", - "thai": "iso885911", - "thai8": "iso885911", - "celtic": "iso885914", - "celtic8": "iso885914", - "isoceltic": "iso885914", - "tis6200": "tis620", - "tis62025291": "tis620", - "tis62025330": "tis620", - "10000": "macroman", - "10006": "macgreek", - "10007": "maccyrillic", - "10079": "maciceland", - "10081": "macturkish", - "cspc8codepage437": "cp437", - "cspc775baltic": "cp775", - "cspc850multilingual": "cp850", - "cspcp852": "cp852", - "cspc862latinhebrew": "cp862", - "cpgr": "cp869", - "msee": "cp1250", - "mscyrl": "cp1251", - "msansi": "cp1252", - "msgreek": "cp1253", - "msturk": "cp1254", - "mshebr": "cp1255", - "msarab": "cp1256", - "winbaltrim": "cp1257", - "cp20866": "koi8r", - "20866": "koi8r", - "ibm878": "koi8r", - "cskoi8r": "koi8r", - "cp21866": "koi8u", - "21866": "koi8u", - "ibm1168": "koi8u", - "strk10482002": "rk1048", - "tcvn5712": "tcvn", - "tcvn57121": "tcvn", - "gb198880": "iso646cn", - "cn": "iso646cn", - "csiso14jisc6220ro": "iso646jp", - "jisc62201969ro": "iso646jp", - "jp": "iso646jp", - "cshproman8": "hproman8", - "r8": "hproman8", - "roman8": "hproman8", - "xroman8": "hproman8", - "ibm1051": "hproman8", - "mac": "macintosh", - "csmacintosh": "macintosh" - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js -var require_sbcs_data_generated = __commonJS({ - "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module2) { - "use strict"; - module2.exports = { - "437": "cp437", - "737": "cp737", - "775": "cp775", - "850": "cp850", - "852": "cp852", - "855": "cp855", - "856": "cp856", - "857": "cp857", - "858": "cp858", - "860": "cp860", - "861": "cp861", - "862": "cp862", - "863": "cp863", - "864": "cp864", - "865": "cp865", - "866": "cp866", - "869": "cp869", - "874": "windows874", - "922": "cp922", - "1046": "cp1046", - "1124": "cp1124", - "1125": "cp1125", - "1129": "cp1129", - "1133": "cp1133", - "1161": "cp1161", - "1162": "cp1162", - "1163": "cp1163", - "1250": "windows1250", - "1251": "windows1251", - "1252": "windows1252", - "1253": "windows1253", - "1254": "windows1254", - "1255": "windows1255", - "1256": "windows1256", - "1257": "windows1257", - "1258": "windows1258", - "28591": "iso88591", - "28592": "iso88592", - "28593": "iso88593", - "28594": "iso88594", - "28595": "iso88595", - "28596": "iso88596", - "28597": "iso88597", - "28598": "iso88598", - "28599": "iso88599", - "28600": "iso885910", - "28601": "iso885911", - "28603": "iso885913", - "28604": "iso885914", - "28605": "iso885915", - "28606": "iso885916", - "windows874": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "win874": "windows874", - "cp874": "windows874", - "windows1250": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "win1250": "windows1250", - "cp1250": "windows1250", - "windows1251": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "win1251": "windows1251", - "cp1251": "windows1251", - "windows1252": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "win1252": "windows1252", - "cp1252": "windows1252", - "windows1253": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "win1253": "windows1253", - "cp1253": "windows1253", - "windows1254": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "win1254": "windows1254", - "cp1254": "windows1254", - "windows1255": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "win1255": "windows1255", - "cp1255": "windows1255", - "windows1256": { - "type": "_sbcs", - "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" - }, - "win1256": "windows1256", - "cp1256": "windows1256", - "windows1257": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" - }, - "win1257": "windows1257", - "cp1257": "windows1257", - "windows1258": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "win1258": "windows1258", - "cp1258": "windows1258", - "iso88591": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28591": "iso88591", - "iso88592": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "cp28592": "iso88592", - "iso88593": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" - }, - "cp28593": "iso88593", - "iso88594": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" - }, - "cp28594": "iso88594", - "iso88595": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "cp28595": "iso88595", - "iso88596": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28596": "iso88596", - "iso88597": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "cp28597": "iso88597", - "iso88598": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "cp28598": "iso88598", - "iso88599": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "cp28599": "iso88599", - "iso885910": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" - }, - "cp28600": "iso885910", - "iso885911": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28601": "iso885911", - "iso885913": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" - }, - "cp28603": "iso885913", - "iso885914": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" - }, - "cp28604": "iso885914", - "iso885915": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28605": "iso885915", - "iso885916": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" - }, - "cp28606": "iso885916", - "cp437": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm437": "cp437", - "csibm437": "cp437", - "cp737": { - "type": "_sbcs", - "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm737": "cp737", - "csibm737": "cp737", - "cp775": { - "type": "_sbcs", - "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm775": "cp775", - "csibm775": "cp775", - "cp850": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm850": "cp850", - "csibm850": "cp850", - "cp852": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" - }, - "ibm852": "cp852", - "csibm852": "cp852", - "cp855": { - "type": "_sbcs", - "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" - }, - "ibm855": "cp855", - "csibm855": "cp855", - "cp856": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm856": "cp856", - "csibm856": "cp856", - "cp857": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm857": "cp857", - "csibm857": "cp857", - "cp858": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm858": "cp858", - "csibm858": "cp858", - "cp860": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm860": "cp860", - "csibm860": "cp860", - "cp861": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm861": "cp861", - "csibm861": "cp861", - "cp862": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm862": "cp862", - "csibm862": "cp862", - "cp863": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm863": "cp863", - "csibm863": "cp863", - "cp864": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" - }, - "ibm864": "cp864", - "csibm864": "cp864", - "cp865": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm865": "cp865", - "csibm865": "cp865", - "cp866": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm866": "cp866", - "csibm866": "cp866", - "cp869": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" - }, - "ibm869": "cp869", - "csibm869": "cp869", - "cp922": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" - }, - "ibm922": "cp922", - "csibm922": "cp922", - "cp1046": { - "type": "_sbcs", - "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" - }, - "ibm1046": "cp1046", - "csibm1046": "cp1046", - "cp1124": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "ibm1124": "cp1124", - "csibm1124": "cp1124", - "cp1125": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm1125": "cp1125", - "csibm1125": "cp1125", - "cp1129": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1129": "cp1129", - "csibm1129": "cp1129", - "cp1133": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" - }, - "ibm1133": "cp1133", - "csibm1133": "cp1133", - "cp1161": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" - }, - "ibm1161": "cp1161", - "csibm1161": "cp1161", - "cp1162": { - "type": "_sbcs", - "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "ibm1162": "cp1162", - "csibm1162": "cp1162", - "cp1163": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1163": "cp1163", - "csibm1163": "cp1163", - "maccroatian": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" - }, - "maccyrillic": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "macgreek": { - "type": "_sbcs", - "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" - }, - "maciceland": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macroman": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macromania": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macthai": { - "type": "_sbcs", - "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "macturkish": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macukraine": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "koi8r": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8u": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8ru": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8t": { - "type": "_sbcs", - "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "armscii8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" - }, - "rk1048": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "tcvn": { - "type": "_sbcs", - "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" - }, - "georgianacademy": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "georgianps": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "pt154": { - "type": "_sbcs", - "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "viscii": { - "type": "_sbcs", - "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" - }, - "iso646cn": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "iso646jp": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "hproman8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" - }, - "macintosh": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "ascii": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "tis620": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - } - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js -var require_dbcs_codec = __commonJS({ - "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports._dbcs = DBCSCodec; - var UNASSIGNED = -1; - var GB18030_CODE = -2; - var SEQ_START = -10; - var NODE_START = -1e3; - var UNASSIGNED_NODE = new Array(256); - var DEF_CHAR = -1; - for (i = 0; i < 256; i++) - UNASSIGNED_NODE[i] = UNASSIGNED; - var i; - function DBCSCodec(codecOptions, iconv) { - this.encodingName = codecOptions.encodingName; - if (!codecOptions) - throw new Error("DBCS codec is called without the data."); - if (!codecOptions.table) - throw new Error("Encoding '" + this.encodingName + "' has no data."); - var mappingTable = codecOptions.table(); - this.decodeTables = []; - this.decodeTables[0] = UNASSIGNED_NODE.slice(0); - this.decodeTableSeq = []; - for (var i2 = 0; i2 < mappingTable.length; i2++) - this._addDecodeChunk(mappingTable[i2]); - if (typeof codecOptions.gb18030 === "function") { - this.gb18030 = codecOptions.gb18030(); - var commonThirdByteNodeIdx = this.decodeTables.length; - this.decodeTables.push(UNASSIGNED_NODE.slice(0)); - var commonFourthByteNodeIdx = this.decodeTables.length; - this.decodeTables.push(UNASSIGNED_NODE.slice(0)); - var firstByteNode = this.decodeTables[0]; - for (var i2 = 129; i2 <= 254; i2++) { - var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; - for (var j = 48; j <= 57; j++) { - if (secondByteNode[j] === UNASSIGNED) { - secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; - } else if (secondByteNode[j] > NODE_START) { - throw new Error("gb18030 decode tables conflict at byte 2"); - } - var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; - for (var k = 129; k <= 254; k++) { - if (thirdByteNode[k] === UNASSIGNED) { - thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; - } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { - continue; - } else if (thirdByteNode[k] > NODE_START) { - throw new Error("gb18030 decode tables conflict at byte 3"); - } - var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; - for (var l = 48; l <= 57; l++) { - if (fourthByteNode[l] === UNASSIGNED) - fourthByteNode[l] = GB18030_CODE; - } - } - } - } - } - this.defaultCharUnicode = iconv.defaultCharUnicode; - this.encodeTable = []; - this.encodeTableSeq = []; - var skipEncodeChars = {}; - if (codecOptions.encodeSkipVals) - for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { - var val2 = codecOptions.encodeSkipVals[i2]; - if (typeof val2 === "number") - skipEncodeChars[val2] = true; - else - for (var j = val2.from; j <= val2.to; j++) - skipEncodeChars[j] = true; - } - this._fillEncodeTable(0, 0, skipEncodeChars); - if (codecOptions.encodeAdd) { - for (var uChar in codecOptions.encodeAdd) - if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) - this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); - } - this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = this.encodeTable[0]["?"]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = "?".charCodeAt(0); - } - DBCSCodec.prototype.encoder = DBCSEncoder; - DBCSCodec.prototype.decoder = DBCSDecoder; - DBCSCodec.prototype._getDecodeTrieNode = function(addr) { - var bytes = []; - for (; addr > 0; addr >>>= 8) - bytes.push(addr & 255); - if (bytes.length == 0) - bytes.push(0); - var node = this.decodeTables[0]; - for (var i2 = bytes.length - 1; i2 > 0; i2--) { - var val2 = node[bytes[i2]]; - if (val2 == UNASSIGNED) { - node[bytes[i2]] = NODE_START - this.decodeTables.length; - this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); - } else if (val2 <= NODE_START) { - node = this.decodeTables[NODE_START - val2]; - } else - throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); - } - return node; - }; - DBCSCodec.prototype._addDecodeChunk = function(chunk) { - var curAddr = parseInt(chunk[0], 16); - var writeTable = this._getDecodeTrieNode(curAddr); - curAddr = curAddr & 255; - for (var k = 1; k < chunk.length; k++) { - var part = chunk[k]; - if (typeof part === "string") { - for (var l = 0; l < part.length; ) { - var code = part.charCodeAt(l++); - if (55296 <= code && code < 56320) { - var codeTrail = part.charCodeAt(l++); - if (56320 <= codeTrail && codeTrail < 57344) - writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); - else - throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); - } else if (4080 < code && code <= 4095) { - var len = 4095 - code + 2; - var seq = []; - for (var m = 0; m < len; m++) - seq.push(part.charCodeAt(l++)); - writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; - this.decodeTableSeq.push(seq); - } else - writeTable[curAddr++] = code; - } - } else if (typeof part === "number") { - var charCode = writeTable[curAddr - 1] + 1; - for (var l = 0; l < part; l++) - writeTable[curAddr++] = charCode++; - } else - throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); - } - if (curAddr > 255) - throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); - }; - DBCSCodec.prototype._getEncodeBucket = function(uCode) { - var high = uCode >> 8; - if (this.encodeTable[high] === void 0) - this.encodeTable[high] = UNASSIGNED_NODE.slice(0); - return this.encodeTable[high]; - }; - DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - if (bucket[low] <= SEQ_START) - this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; - else if (bucket[low] == UNASSIGNED) - bucket[low] = dbcsCode; - }; - DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { - var uCode = seq[0]; - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - var node; - if (bucket[low] <= SEQ_START) { - node = this.encodeTableSeq[SEQ_START - bucket[low]]; - } else { - node = {}; - if (bucket[low] !== UNASSIGNED) - node[DEF_CHAR] = bucket[low]; - bucket[low] = SEQ_START - this.encodeTableSeq.length; - this.encodeTableSeq.push(node); - } - for (var j = 1; j < seq.length - 1; j++) { - var oldVal = node[uCode]; - if (typeof oldVal === "object") - node = oldVal; - else { - node = node[uCode] = {}; - if (oldVal !== void 0) - node[DEF_CHAR] = oldVal; - } - } - uCode = seq[seq.length - 1]; - node[uCode] = dbcsCode; - }; - DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { - var node = this.decodeTables[nodeIdx]; - var hasValues = false; - var subNodeEmpty = {}; - for (var i2 = 0; i2 < 256; i2++) { - var uCode = node[i2]; - var mbCode = prefix + i2; - if (skipEncodeChars[mbCode]) - continue; - if (uCode >= 0) { - this._setEncodeChar(uCode, mbCode); - hasValues = true; - } else if (uCode <= NODE_START) { - var subNodeIdx = NODE_START - uCode; - if (!subNodeEmpty[subNodeIdx]) { - var newPrefix = mbCode << 8 >>> 0; - if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) - hasValues = true; - else - subNodeEmpty[subNodeIdx] = true; - } - } else if (uCode <= SEQ_START) { - this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); - hasValues = true; - } - } - return hasValues; - }; - function DBCSEncoder(options, codec) { - this.leadSurrogate = -1; - this.seqObj = void 0; - this.encodeTable = codec.encodeTable; - this.encodeTableSeq = codec.encodeTableSeq; - this.defaultCharSingleByte = codec.defCharSB; - this.gb18030 = codec.gb18030; - } - DBCSEncoder.prototype.write = function(str) { - var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; - while (true) { - if (nextChar === -1) { - if (i2 == str.length) - break; - var uCode = str.charCodeAt(i2++); - } else { - var uCode = nextChar; - nextChar = -1; - } - if (55296 <= uCode && uCode < 57344) { - if (uCode < 56320) { - if (leadSurrogate === -1) { - leadSurrogate = uCode; - continue; - } else { - leadSurrogate = uCode; - uCode = UNASSIGNED; - } - } else { - if (leadSurrogate !== -1) { - uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); - leadSurrogate = -1; - } else { - uCode = UNASSIGNED; - } - } - } else if (leadSurrogate !== -1) { - nextChar = uCode; - uCode = UNASSIGNED; - leadSurrogate = -1; - } - var dbcsCode = UNASSIGNED; - if (seqObj !== void 0 && uCode != UNASSIGNED) { - var resCode = seqObj[uCode]; - if (typeof resCode === "object") { - seqObj = resCode; - continue; - } else if (typeof resCode == "number") { - dbcsCode = resCode; - } else if (resCode == void 0) { - resCode = seqObj[DEF_CHAR]; - if (resCode !== void 0) { - dbcsCode = resCode; - nextChar = uCode; - } else { - } - } - seqObj = void 0; - } else if (uCode >= 0) { - var subtable = this.encodeTable[uCode >> 8]; - if (subtable !== void 0) - dbcsCode = subtable[uCode & 255]; - if (dbcsCode <= SEQ_START) { - seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; - continue; - } - if (dbcsCode == UNASSIGNED && this.gb18030) { - var idx = findIdx(this.gb18030.uChars, uCode); - if (idx != -1) { - var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); - newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); - dbcsCode = dbcsCode % 12600; - newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); - dbcsCode = dbcsCode % 1260; - newBuf[j++] = 129 + Math.floor(dbcsCode / 10); - dbcsCode = dbcsCode % 10; - newBuf[j++] = 48 + dbcsCode; - continue; - } - } - } - if (dbcsCode === UNASSIGNED) - dbcsCode = this.defaultCharSingleByte; - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else if (dbcsCode < 65536) { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } else if (dbcsCode < 16777216) { - newBuf[j++] = dbcsCode >> 16; - newBuf[j++] = dbcsCode >> 8 & 255; - newBuf[j++] = dbcsCode & 255; - } else { - newBuf[j++] = dbcsCode >>> 24; - newBuf[j++] = dbcsCode >>> 16 & 255; - newBuf[j++] = dbcsCode >>> 8 & 255; - newBuf[j++] = dbcsCode & 255; - } - } - this.seqObj = seqObj; - this.leadSurrogate = leadSurrogate; - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.end = function() { - if (this.leadSurrogate === -1 && this.seqObj === void 0) - return; - var newBuf = Buffer2.alloc(10), j = 0; - if (this.seqObj) { - var dbcsCode = this.seqObj[DEF_CHAR]; - if (dbcsCode !== void 0) { - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } - } else { - } - this.seqObj = void 0; - } - if (this.leadSurrogate !== -1) { - newBuf[j++] = this.defaultCharSingleByte; - this.leadSurrogate = -1; - } - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.findIdx = findIdx; - function DBCSDecoder(options, codec) { - this.nodeIdx = 0; - this.prevBytes = []; - this.decodeTables = codec.decodeTables; - this.decodeTableSeq = codec.decodeTableSeq; - this.defaultCharUnicode = codec.defaultCharUnicode; - this.gb18030 = codec.gb18030; - } - DBCSDecoder.prototype.write = function(buf) { - var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode; - for (var i2 = 0, j = 0; i2 < buf.length; i2++) { - var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; - var uCode = this.decodeTables[nodeIdx][curByte]; - if (uCode >= 0) { - } else if (uCode === UNASSIGNED) { - uCode = this.defaultCharUnicode.charCodeAt(0); - i2 = seqStart; - } else if (uCode === GB18030_CODE) { - if (i2 >= 3) { - var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); - } else { - var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); - } - var idx = findIdx(this.gb18030.gbChars, ptr); - uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; - } else if (uCode <= NODE_START) { - nodeIdx = NODE_START - uCode; - continue; - } else if (uCode <= SEQ_START) { - var seq = this.decodeTableSeq[SEQ_START - uCode]; - for (var k = 0; k < seq.length - 1; k++) { - uCode = seq[k]; - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - } - uCode = seq[seq.length - 1]; - } else - throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); - if (uCode >= 65536) { - uCode -= 65536; - var uCodeLead = 55296 | uCode >> 10; - newBuf[j++] = uCodeLead & 255; - newBuf[j++] = uCodeLead >> 8; - uCode = 56320 | uCode & 1023; - } - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - nodeIdx = 0; - seqStart = i2 + 1; - } - this.nodeIdx = nodeIdx; - this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); - return newBuf.slice(0, j).toString("ucs2"); - }; - DBCSDecoder.prototype.end = function() { - var ret = ""; - while (this.prevBytes.length > 0) { - ret += this.defaultCharUnicode; - var bytesArr = this.prevBytes.slice(1); - this.prevBytes = []; - this.nodeIdx = 0; - if (bytesArr.length > 0) - ret += this.write(bytesArr); - } - this.prevBytes = []; - this.nodeIdx = 0; - return ret; - }; - function findIdx(table, val2) { - if (table[0] > val2) - return -1; - var l = 0, r = table.length; - while (l < r - 1) { - var mid = l + (r - l + 1 >> 1); - if (table[mid] <= val2) - l = mid; - else - r = mid; - } - return l; - } - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json -var require_shiftjis = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 128], - ["a1", "\uFF61", 62], - ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], - ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["81fc", "\u25EF"], - ["824f", "\uFF10", 9], - ["8260", "\uFF21", 25], - ["8281", "\uFF41", 25], - ["829f", "\u3041", 82], - ["8340", "\u30A1", 62], - ["8380", "\u30E0", 22], - ["839f", "\u0391", 16, "\u03A3", 6], - ["83bf", "\u03B1", 16, "\u03C3", 6], - ["8440", "\u0410", 5, "\u0401\u0416", 25], - ["8470", "\u0430", 5, "\u0451\u0436", 7], - ["8480", "\u043E", 17], - ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["8740", "\u2460", 19, "\u2160", 9], - ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["877e", "\u337B"], - ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], - ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], - ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], - ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], - ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], - ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], - ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], - ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], - ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], - ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], - ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], - ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], - ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], - ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], - ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], - ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], - ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], - ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], - ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], - ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], - ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], - ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], - ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], - ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], - ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], - ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], - ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], - ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], - ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], - ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], - ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], - ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], - ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], - ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], - ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], - ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["f040", "\uE000", 62], - ["f080", "\uE03F", 124], - ["f140", "\uE0BC", 62], - ["f180", "\uE0FB", 124], - ["f240", "\uE178", 62], - ["f280", "\uE1B7", 124], - ["f340", "\uE234", 62], - ["f380", "\uE273", 124], - ["f440", "\uE2F0", 62], - ["f480", "\uE32F", 124], - ["f540", "\uE3AC", 62], - ["f580", "\uE3EB", 124], - ["f640", "\uE468", 62], - ["f680", "\uE4A7", 124], - ["f740", "\uE524", 62], - ["f780", "\uE563", 124], - ["f840", "\uE5E0", 62], - ["f880", "\uE61F", 124], - ["f940", "\uE69C"], - ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], - ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], - ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], - ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], - ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json -var require_eucjp = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8ea1", "\uFF61", 62], - ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], - ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["a2fe", "\u25EF"], - ["a3b0", "\uFF10", 9], - ["a3c1", "\uFF21", 25], - ["a3e1", "\uFF41", 25], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["ada1", "\u2460", 19, "\u2160", 9], - ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], - ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], - ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], - ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], - ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], - ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], - ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], - ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], - ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], - ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], - ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], - ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], - ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], - ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], - ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], - ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], - ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], - ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], - ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], - ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], - ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], - ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], - ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], - ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], - ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], - ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], - ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], - ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], - ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], - ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], - ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], - ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], - ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], - ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], - ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], - ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], - ["8fa2c2", "\xA1\xA6\xBF"], - ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], - ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], - ["8fa6e7", "\u038C"], - ["8fa6e9", "\u038E\u03AB"], - ["8fa6ec", "\u038F"], - ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], - ["8fa7c2", "\u0402", 10, "\u040E\u040F"], - ["8fa7f2", "\u0452", 10, "\u045E\u045F"], - ["8fa9a1", "\xC6\u0110"], - ["8fa9a4", "\u0126"], - ["8fa9a6", "\u0132"], - ["8fa9a8", "\u0141\u013F"], - ["8fa9ab", "\u014A\xD8\u0152"], - ["8fa9af", "\u0166\xDE"], - ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], - ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], - ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], - ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], - ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], - ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], - ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], - ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], - ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], - ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], - ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], - ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], - ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], - ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], - ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], - ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], - ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], - ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], - ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], - ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], - ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], - ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], - ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], - ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], - ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], - ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], - ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], - ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], - ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], - ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], - ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], - ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], - ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], - ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], - ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], - ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], - ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], - ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], - ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], - ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], - ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], - ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], - ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], - ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], - ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], - ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], - ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], - ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], - ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], - ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], - ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], - ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], - ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], - ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], - ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], - ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], - ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], - ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], - ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], - ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], - ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], - ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], - ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], - ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], - ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], - ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], - ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], - ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/cp936.json -var require_cp936 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127, "\u20AC"], - ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], - ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], - ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], - ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], - ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], - ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], - ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], - ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], - ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], - ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], - ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], - ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], - ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], - ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], - ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], - ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], - ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], - ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], - ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], - ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], - ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], - ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], - ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], - ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], - ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], - ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], - ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], - ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], - ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], - ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], - ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], - ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], - ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], - ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], - ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], - ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], - ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], - ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], - ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], - ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], - ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], - ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], - ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], - ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], - ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], - ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], - ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], - ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], - ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], - ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], - ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], - ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], - ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], - ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], - ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], - ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], - ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], - ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], - ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], - ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], - ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], - ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], - ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], - ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], - ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], - ["a2a1", "\u2170", 9], - ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], - ["a2e5", "\u3220", 9], - ["a2f1", "\u2160", 11], - ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], - ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], - ["a6f4", "\uFE33\uFE34"], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], - ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], - ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], - ["a8bd", "\u0144\u0148"], - ["a8c0", "\u0261"], - ["a8c5", "\u3105", 36], - ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], - ["a959", "\u2121\u3231"], - ["a95c", "\u2010"], - ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], - ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], - ["a996", "\u3007"], - ["a9a4", "\u2500", 75], - ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], - ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], - ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], - ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], - ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], - ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], - ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], - ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], - ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], - ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], - ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], - ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], - ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], - ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], - ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], - ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], - ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], - ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], - ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], - ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], - ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], - ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], - ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], - ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], - ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], - ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], - ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], - ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], - ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], - ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], - ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], - ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], - ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], - ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], - ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], - ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], - ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], - ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], - ["bd40", "\u7D37", 54, "\u7D6F", 7], - ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], - ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], - ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], - ["bf40", "\u7DFB", 62], - ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], - ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], - ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], - ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], - ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], - ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], - ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], - ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], - ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], - ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], - ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], - ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], - ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], - ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], - ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], - ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], - ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], - ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], - ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], - ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], - ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], - ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], - ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], - ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], - ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], - ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], - ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], - ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], - ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], - ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], - ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], - ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], - ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], - ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], - ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], - ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], - ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], - ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], - ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], - ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], - ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], - ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], - ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], - ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], - ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], - ["d640", "\u8AE4", 34, "\u8B08", 27], - ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], - ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], - ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], - ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], - ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], - ["d940", "\u8CAE", 62], - ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], - ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], - ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], - ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], - ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], - ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], - ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], - ["dd40", "\u8EE5", 62], - ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], - ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], - ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], - ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], - ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], - ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], - ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], - ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], - ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], - ["e240", "\u91E6", 62], - ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], - ["e340", "\u9246", 45, "\u9275", 16], - ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], - ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], - ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], - ["e540", "\u930A", 51, "\u933F", 10], - ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], - ["e640", "\u936C", 34, "\u9390", 27], - ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], - ["e740", "\u93CE", 7, "\u93D7", 54], - ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], - ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], - ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], - ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], - ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], - ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], - ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], - ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], - ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], - ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], - ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], - ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], - ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], - ["ee40", "\u980F", 62], - ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], - ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], - ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], - ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], - ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], - ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], - ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], - ["f240", "\u99FA", 62], - ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], - ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], - ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], - ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], - ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], - ["f540", "\u9B7C", 62], - ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], - ["f640", "\u9BDC", 62], - ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], - ["f740", "\u9C3C", 62], - ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], - ["f840", "\u9CE3", 62], - ["f880", "\u9D22", 32], - ["f940", "\u9D43", 62], - ["f980", "\u9D82", 32], - ["fa40", "\u9DA3", 62], - ["fa80", "\u9DE2", 32], - ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], - ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], - ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], - ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], - ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], - ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], - ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json -var require_gbk_added = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module2) { - module2.exports = [ - ["a140", "\uE4C6", 62], - ["a180", "\uE505", 32], - ["a240", "\uE526", 62], - ["a280", "\uE565", 32], - ["a2ab", "\uE766", 5], - ["a2e3", "\u20AC\uE76D"], - ["a2ef", "\uE76E\uE76F"], - ["a2fd", "\uE770\uE771"], - ["a340", "\uE586", 62], - ["a380", "\uE5C5", 31, "\u3000"], - ["a440", "\uE5E6", 62], - ["a480", "\uE625", 32], - ["a4f4", "\uE772", 10], - ["a540", "\uE646", 62], - ["a580", "\uE685", 32], - ["a5f7", "\uE77D", 7], - ["a640", "\uE6A6", 62], - ["a680", "\uE6E5", 32], - ["a6b9", "\uE785", 7], - ["a6d9", "\uE78D", 6], - ["a6ec", "\uE794\uE795"], - ["a6f3", "\uE796"], - ["a6f6", "\uE797", 8], - ["a740", "\uE706", 62], - ["a780", "\uE745", 32], - ["a7c2", "\uE7A0", 14], - ["a7f2", "\uE7AF", 12], - ["a896", "\uE7BC", 10], - ["a8bc", "\u1E3F"], - ["a8bf", "\u01F9"], - ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], - ["a8ea", "\uE7CD", 20], - ["a958", "\uE7E2"], - ["a95b", "\uE7E3"], - ["a95d", "\uE7E4\uE7E5\uE7E6"], - ["a989", "\u303E\u2FF0", 11], - ["a997", "\uE7F4", 12], - ["a9f0", "\uE801", 14], - ["aaa1", "\uE000", 93], - ["aba1", "\uE05E", 93], - ["aca1", "\uE0BC", 93], - ["ada1", "\uE11A", 93], - ["aea1", "\uE178", 93], - ["afa1", "\uE1D6", 93], - ["d7fa", "\uE810", 4], - ["f8a1", "\uE234", 93], - ["f9a1", "\uE292", 93], - ["faa1", "\uE2F0", 93], - ["fba1", "\uE34E", 93], - ["fca1", "\uE3AC", 93], - ["fda1", "\uE40A", 93], - ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], - ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], - ["8135f437", "\uE7C7"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json -var require_gb18030_ranges = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module2) { - module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/cp949.json -var require_cp949 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], - ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], - ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], - ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], - ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], - ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], - ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], - ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], - ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], - ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], - ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], - ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], - ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], - ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], - ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], - ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], - ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], - ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], - ["8741", "\uB19E", 9, "\uB1A9", 15], - ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], - ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], - ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], - ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], - ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], - ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], - ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], - ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], - ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], - ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], - ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], - ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], - ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], - ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], - ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], - ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], - ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], - ["8d41", "\uB6C3", 16, "\uB6D5", 8], - ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], - ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], - ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], - ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], - ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], - ["8f41", "\uB885", 7, "\uB88E", 17], - ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], - ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], - ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], - ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], - ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], - ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], - ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], - ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], - ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], - ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], - ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], - ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], - ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], - ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], - ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], - ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], - ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], - ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], - ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], - ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], - ["9641", "\uBEB8", 23, "\uBED2\uBED3"], - ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], - ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], - ["9741", "\uBF83", 16, "\uBF95", 8], - ["9761", "\uBF9E", 17, "\uBFB1", 7], - ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], - ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], - ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], - ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], - ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], - ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], - ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], - ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], - ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], - ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], - ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], - ["9b61", "\uC333", 17, "\uC346", 7], - ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], - ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], - ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], - ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], - ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], - ["9d61", "\uC4C6", 25], - ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], - ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], - ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], - ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], - ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], - ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], - ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], - ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], - ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], - ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], - ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], - ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], - ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], - ["a241", "\uC910\uC912", 5, "\uC919", 18], - ["a261", "\uC92D", 6, "\uC935", 18], - ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], - ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], - ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], - ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], - ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], - ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], - ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], - ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], - ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], - ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], - ["a5b0", "\u2160", 9], - ["a5c1", "\u0391", 16, "\u03A3", 6], - ["a5e1", "\u03B1", 16, "\u03C3", 6], - ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], - ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], - ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], - ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], - ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], - ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], - ["a841", "\uCB6D", 10, "\uCB7A", 14], - ["a861", "\uCB89", 18, "\uCB9D", 6], - ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], - ["a8a6", "\u0132"], - ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], - ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], - ["a941", "\uCBC5", 14, "\uCBD5", 10], - ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], - ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], - ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], - ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], - ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], - ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], - ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], - ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], - ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], - ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], - ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], - ["acd1", "\u0430", 5, "\u0451\u0436", 25], - ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], - ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], - ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], - ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], - ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], - ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], - ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], - ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], - ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], - ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], - ["b061", "\uCEBB", 5, "\uCEC2", 19], - ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], - ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], - ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], - ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], - ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], - ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], - ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], - ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], - ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], - ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], - ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], - ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], - ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], - ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], - ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], - ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], - ["b641", "\uD105", 7, "\uD10E", 17], - ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], - ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], - ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], - ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], - ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], - ["b841", "\uD1D0", 7, "\uD1D9", 17], - ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], - ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], - ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], - ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], - ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], - ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], - ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], - ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], - ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], - ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], - ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], - ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], - ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], - ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], - ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], - ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], - ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], - ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], - ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], - ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], - ["bf41", "\uD49E", 10, "\uD4AA", 14], - ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], - ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], - ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], - ["c061", "\uD51E", 25], - ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], - ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], - ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], - ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], - ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], - ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], - ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], - ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], - ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], - ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], - ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], - ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], - ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], - ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], - ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], - ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], - ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], - ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], - ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], - ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], - ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], - ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], - ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], - ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], - ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], - ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], - ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], - ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], - ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], - ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], - ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], - ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], - ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], - ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], - ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], - ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], - ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], - ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], - ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], - ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], - ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], - ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], - ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], - ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], - ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], - ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], - ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], - ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], - ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], - ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], - ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], - ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], - ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], - ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], - ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], - ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], - ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], - ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], - ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], - ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], - ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], - ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], - ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], - ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], - ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], - ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], - ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], - ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], - ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], - ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], - ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], - ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/cp950.json -var require_cp950 = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], - ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], - ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], - ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], - ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], - ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], - ["a3e1", "\u20AC"], - ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], - ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], - ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], - ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], - ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], - ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], - ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], - ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], - ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], - ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], - ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], - ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], - ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], - ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], - ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], - ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], - ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], - ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], - ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], - ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], - ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], - ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], - ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], - ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], - ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], - ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], - ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], - ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], - ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], - ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], - ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], - ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], - ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], - ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], - ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], - ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], - ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], - ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], - ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], - ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], - ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], - ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], - ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], - ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], - ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], - ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], - ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], - ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], - ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], - ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], - ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], - ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], - ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], - ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], - ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], - ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], - ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], - ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], - ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], - ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], - ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], - ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], - ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], - ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], - ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], - ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], - ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], - ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], - ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], - ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], - ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], - ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], - ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], - ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], - ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], - ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], - ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], - ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], - ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], - ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], - ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], - ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], - ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], - ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], - ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], - ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], - ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], - ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], - ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], - ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], - ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], - ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], - ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], - ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], - ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], - ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], - ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], - ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], - ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], - ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], - ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], - ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], - ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], - ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], - ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], - ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], - ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], - ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], - ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], - ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], - ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], - ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], - ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], - ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], - ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], - ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], - ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], - ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], - ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], - ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], - ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], - ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], - ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], - ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], - ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], - ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], - ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], - ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], - ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], - ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], - ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], - ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], - ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], - ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], - ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], - ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], - ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], - ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], - ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], - ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], - ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], - ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], - ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], - ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], - ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], - ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], - ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], - ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], - ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], - ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], - ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], - ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], - ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], - ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], - ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], - ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], - ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], - ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], - ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], - ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], - ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], - ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], - ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], - ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], - ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], - ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], - ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json -var require_big5_added = __commonJS({ - "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module2) { - module2.exports = [ - ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], - ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], - ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], - ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], - ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], - ["8940", "\u{2A3A9}\u{21145}"], - ["8943", "\u650A"], - ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], - ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], - ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], - ["89ab", "\u918C\u78B8\u915E\u80BC"], - ["89b0", "\u8D0B\u80F6\u{209E7}"], - ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], - ["89c1", "\u6E9A\u823E\u7519"], - ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], - ["8a40", "\u{27D84}\u5525"], - ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], - ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], - ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], - ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], - ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], - ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], - ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], - ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], - ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], - ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], - ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], - ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], - ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], - ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], - ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], - ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], - ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], - ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], - ["8cc9", "\u9868\u676B\u4276\u573D"], - ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], - ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], - ["8d40", "\u{20B9F}"], - ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], - ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], - ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], - ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], - ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], - ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], - ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], - ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], - ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], - ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], - ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], - ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], - ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], - ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], - ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], - ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], - ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], - ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], - ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], - ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], - ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], - ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], - ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], - ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], - ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], - ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], - ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], - ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], - ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], - ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], - ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], - ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], - ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], - ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], - ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], - ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], - ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], - ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], - ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], - ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], - ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], - ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], - ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], - ["9fae", "\u9159\u9681\u915C"], - ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], - ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], - ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], - ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], - ["9fe7", "\u6BFA\u8818\u7F78"], - ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], - ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], - ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], - ["a055", "\u{2183B}\u{26E05}"], - ["a058", "\u8A7E\u{2251B}"], - ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], - ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], - ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], - ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], - ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], - ["a0ae", "\u77FE"], - ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], - ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], - ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], - ["a3c0", "\u2400", 31, "\u2421"], - ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], - ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], - ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], - ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], - ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], - ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], - ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], - ["f9fe", "\uFFED"], - ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], - ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], - ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], - ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], - ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], - ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], - ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], - ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], - ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], - ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] - ]; - } -}); - -// ../../../node_modules/iconv-lite/encodings/dbcs-data.js -var require_dbcs_data = __commonJS({ - "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module2) { - "use strict"; - module2.exports = { - // == Japanese/ShiftJIS ==================================================== - // All japanese encodings are based on JIS X set of standards: - // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. - // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. - // Has several variations in 1978, 1983, 1990 and 1997. - // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. - // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. - // 2 planes, first is superset of 0208, second - revised 0212. - // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) - // Byte encodings are: - // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte - // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. - // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. - // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. - // 0x00-0x7F - lower part of 0201 - // 0x8E, 0xA1-0xDF - upper part of 0201 - // (0xA1-0xFE)x2 - 0208 plane (94x94). - // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). - // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. - // Used as-is in ISO2022 family. - // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, - // 0201-1976 Roman, 0208-1978, 0208-1983. - // * ISO2022-JP-1: Adds esc seq for 0212-1990. - // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. - // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. - // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. - // - // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. - // - // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html - "shiftjis": { - type: "_dbcs", - table: function() { - return require_shiftjis(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 }, - encodeSkipVals: [{ from: 60736, to: 63808 }] - }, - "csshiftjis": "shiftjis", - "mskanji": "shiftjis", - "sjis": "shiftjis", - "windows31j": "shiftjis", - "ms31j": "shiftjis", - "xsjis": "shiftjis", - "windows932": "shiftjis", - "ms932": "shiftjis", - "932": "shiftjis", - "cp932": "shiftjis", - "eucjp": { - type: "_dbcs", - table: function() { - return require_eucjp(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 } - }, - // TODO: KDDI extension to Shift_JIS - // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. - // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. - // == Chinese/GBK ========================================================== - // http://en.wikipedia.org/wiki/GBK - // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder - // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 - "gb2312": "cp936", - "gb231280": "cp936", - "gb23121980": "cp936", - "csgb2312": "cp936", - "csiso58gb231280": "cp936", - "euccn": "cp936", - // Microsoft's CP936 is a subset and approximation of GBK. - "windows936": "cp936", - "ms936": "cp936", - "936": "cp936", - "cp936": { - type: "_dbcs", - table: function() { - return require_cp936(); - } - }, - // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. - "gbk": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - } - }, - "xgbk": "gbk", - "isoir58": "gbk", - // GB18030 is an algorithmic extension of GBK. - // Main source: https://www.w3.org/TR/encoding/#gbk-encoder - // http://icu-project.org/docs/papers/gb18030.html - // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml - // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 - "gb18030": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - }, - gb18030: function() { - return require_gb18030_ranges(); - }, - encodeSkipVals: [128], - encodeAdd: { "\u20AC": 41699 } - }, - "chinese": "gb18030", - // == Korean =============================================================== - // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. - "windows949": "cp949", - "ms949": "cp949", - "949": "cp949", - "cp949": { - type: "_dbcs", - table: function() { - return require_cp949(); - } - }, - "cseuckr": "cp949", - "csksc56011987": "cp949", - "euckr": "cp949", - "isoir149": "cp949", - "korean": "cp949", - "ksc56011987": "cp949", - "ksc56011989": "cp949", - "ksc5601": "cp949", - // == Big5/Taiwan/Hong Kong ================================================ - // There are lots of tables for Big5 and cp950. Please see the following links for history: - // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html - // Variations, in roughly number of defined chars: - // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT - // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ - // * Big5-2003 (Taiwan standard) almost superset of cp950. - // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. - // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. - // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. - // Plus, it has 4 combining sequences. - // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 - // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. - // Implementations are not consistent within browsers; sometimes labeled as just big5. - // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. - // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 - // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. - // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt - // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt - // - // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder - // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. - "windows950": "cp950", - "ms950": "cp950", - "950": "cp950", - "cp950": { - type: "_dbcs", - table: function() { - return require_cp950(); - } - }, - // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. - "big5": "big5hkscs", - "big5hkscs": { - type: "_dbcs", - table: function() { - return require_cp950().concat(require_big5_added()); - }, - encodeSkipVals: [ - // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of - // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. - // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. - 36457, - 36463, - 36478, - 36523, - 36532, - 36557, - 36560, - 36695, - 36713, - 36718, - 36811, - 36862, - 36973, - 36986, - 37060, - 37084, - 37105, - 37311, - 37551, - 37552, - 37553, - 37554, - 37585, - 37959, - 38090, - 38361, - 38652, - 39285, - 39798, - 39800, - 39803, - 39878, - 39902, - 39916, - 39926, - 40002, - 40019, - 40034, - 40040, - 40043, - 40055, - 40124, - 40125, - 40144, - 40279, - 40282, - 40388, - 40431, - 40443, - 40617, - 40687, - 40701, - 40800, - 40907, - 41079, - 41180, - 41183, - 36812, - 37576, - 38468, - 38637, - // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 - 41636, - 41637, - 41639, - 41638, - 41676, - 41678 - ] - }, - "cnbig5": "big5hkscs", - "csbig5": "big5hkscs", - "xxbig5": "big5hkscs" - }; - } -}); - -// ../../../node_modules/iconv-lite/encodings/index.js -var require_encodings = __commonJS({ - "../../../node_modules/iconv-lite/encodings/index.js"(exports, module2) { - "use strict"; - var modules = [ - require_internal(), - require_utf32(), - require_utf16(), - require_utf7(), - require_sbcs_codec(), - require_sbcs_data(), - require_sbcs_data_generated(), - require_dbcs_codec(), - require_dbcs_data() - ]; - for (i = 0; i < modules.length; i++) { - module2 = modules[i]; - for (enc in module2) - if (Object.prototype.hasOwnProperty.call(module2, enc)) - exports[enc] = module2[enc]; - } - var module2; - var enc; - var i; - } -}); - -// ../../../node_modules/iconv-lite/lib/streams.js -var require_streams = __commonJS({ - "../../../node_modules/iconv-lite/lib/streams.js"(exports, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - module2.exports = function(stream_module) { - var Transform = stream_module.Transform; - function IconvLiteEncoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.decodeStrings = false; - Transform.call(this, options); - } - IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteEncoderStream } - }); - IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { - if (typeof chunk != "string") - return done(new Error("Iconv encoding stream needs strings as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype.collect = function(cb) { - var chunks = []; - this.on("error", cb); - this.on("data", function(chunk) { - chunks.push(chunk); - }); - this.on("end", function() { - cb(null, Buffer2.concat(chunks)); - }); - return this; - }; - function IconvLiteDecoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.encoding = this.encoding = "utf8"; - Transform.call(this, options); - } - IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteDecoderStream } - }); - IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { - if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) - return done(new Error("Iconv decoding stream needs buffers as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype.collect = function(cb) { - var res = ""; - this.on("error", cb); - this.on("data", function(chunk) { - res += chunk; - }); - this.on("end", function() { - cb(null, res); - }); - return this; - }; - return { - IconvLiteEncoderStream, - IconvLiteDecoderStream - }; - }; - } -}); - -// ../../../node_modules/iconv-lite/lib/index.js -var require_lib3 = __commonJS({ - "../../../node_modules/iconv-lite/lib/index.js"(exports, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - var bomHandling = require_bom_handling(); - var iconv = module2.exports; - iconv.encodings = null; - iconv.defaultCharUnicode = "\uFFFD"; - iconv.defaultCharSingleByte = "?"; - iconv.encode = function encode(str, encoding, options) { - str = "" + (str || ""); - var encoder = iconv.getEncoder(encoding, options); - var res = encoder.write(str); - var trail = encoder.end(); - return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; - }; - iconv.decode = function decode(buf, encoding, options) { - if (typeof buf === "string") { - if (!iconv.skipDecodeWarning) { - console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); - iconv.skipDecodeWarning = true; - } - buf = Buffer2.from("" + (buf || ""), "binary"); - } - var decoder = iconv.getDecoder(encoding, options); - var res = decoder.write(buf); - var trail = decoder.end(); - return trail ? res + trail : res; - }; - iconv.encodingExists = function encodingExists(enc) { - try { - iconv.getCodec(enc); - return true; - } catch (e) { - return false; - } - }; - iconv.toEncoding = iconv.encode; - iconv.fromEncoding = iconv.decode; - iconv._codecDataCache = {}; - iconv.getCodec = function getCodec(encoding) { - if (!iconv.encodings) - iconv.encodings = require_encodings(); - var enc = iconv._canonicalizeEncoding(encoding); - var codecOptions = {}; - while (true) { - var codec = iconv._codecDataCache[enc]; - if (codec) - return codec; - var codecDef = iconv.encodings[enc]; - switch (typeof codecDef) { - case "string": - enc = codecDef; - break; - case "object": - for (var key in codecDef) - codecOptions[key] = codecDef[key]; - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - enc = codecDef.type; - break; - case "function": - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - codec = new codecDef(codecOptions, iconv); - iconv._codecDataCache[codecOptions.encodingName] = codec; - return codec; - default: - throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); - } - } - }; - iconv._canonicalizeEncoding = function(encoding) { - return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); - }; - iconv.getEncoder = function getEncoder(encoding, options) { - var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); - if (codec.bomAware && options && options.addBOM) - encoder = new bomHandling.PrependBOM(encoder, options); - return encoder; - }; - iconv.getDecoder = function getDecoder(encoding, options) { - var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); - if (codec.bomAware && !(options && options.stripBOM === false)) - decoder = new bomHandling.StripBOM(decoder, options); - return decoder; - }; - iconv.enableStreamingAPI = function enableStreamingAPI(stream_module2) { - if (iconv.supportsStreams) - return; - var streams = require_streams()(stream_module2); - iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; - iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; - iconv.encodeStream = function encodeStream(encoding, options) { - return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); - }; - iconv.decodeStream = function decodeStream(encoding, options) { - return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); - }; - iconv.supportsStreams = true; - }; - var stream_module; - try { - stream_module = require("stream"); - } catch (e) { - } - if (stream_module && stream_module.Transform) { - iconv.enableStreamingAPI(stream_module); - } else { - iconv.encodeStream = iconv.decodeStream = function() { - throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); - }; - } - if (false) { - console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); - } - } -}); - -// ../../../node_modules/encoding/lib/encoding.js -var require_encoding = __commonJS({ - "../../../node_modules/encoding/lib/encoding.js"(exports, module2) { - "use strict"; - var iconvLite = require_lib3(); - module2.exports.convert = convert; - function convert(str, to, from) { - from = checkEncoding(from || "UTF-8"); - to = checkEncoding(to || "UTF-8"); - str = str || ""; - var result; - if (from !== "UTF-8" && typeof str === "string") { - str = Buffer.from(str, "binary"); - } - if (from === to) { - if (typeof str === "string") { - result = Buffer.from(str); - } else { - result = str; - } - } else { - try { - result = convertIconvLite(str, to, from); - } catch (E) { - console.error(E); - result = str; - } - } - if (typeof result === "string") { - result = Buffer.from(result, "utf-8"); - } - return result; - } - function convertIconvLite(str, to, from) { - if (to === "UTF-8") { - return iconvLite.decode(str, from); - } else if (from === "UTF-8") { - return iconvLite.encode(str, to); - } else { - return iconvLite.encode(iconvLite.decode(str, from), to); - } - } - function checkEncoding(name) { - return (name || "").toString().trim().replace(/^latin[\-_]?(\d+)$/i, "ISO-8859-$1").replace(/^win(?:dows)?[\-_]?(\d+)$/i, "WINDOWS-$1").replace(/^utf[\-_]?(\d+)$/i, "UTF-$1").replace(/^ks_c_5601\-1987$/i, "CP949").replace(/^us[\-_]?ascii$/i, "ASCII").toUpperCase(); - } - } -}); - -// ../../../node_modules/node-fetch/lib/index.js -var require_lib4 = __commonJS({ - "../../../node_modules/node-fetch/lib/index.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; - } - var Stream = _interopDefault(require("stream")); - var http = _interopDefault(require("http")); - var Url = _interopDefault(require("url")); - var whatwgUrl = _interopDefault(require_public_api()); - var https2 = _interopDefault(require("https")); - var zlib = _interopDefault(require("zlib")); - var Readable = Stream.Readable; - var BUFFER = Symbol("buffer"); - var TYPE = Symbol("type"); - var Blob = class _Blob { - constructor() { - this[TYPE] = ""; - const blobParts = arguments[0]; - const options = arguments[1]; - const buffers = []; - let size = 0; - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof _Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === "string" ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - this[BUFFER] = Buffer.concat(buffers); - let type = options && options.type !== void 0 && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable(); - readable._read = function() { - }; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return "[object Blob]"; - } - slice() { - const size = this.size; - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === void 0) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === void 0) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new _Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } - }; - Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } - }); - Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: "Blob", - writable: false, - enumerable: false, - configurable: true - }); - function FetchError(message, type, systemError) { - Error.call(this, message); - this.message = message; - this.type = type; - if (systemError) { - this.code = this.errno = systemError.code; - } - Error.captureStackTrace(this, this.constructor); - } - FetchError.prototype = Object.create(Error.prototype); - FetchError.prototype.constructor = FetchError; - FetchError.prototype.name = "FetchError"; - var convert; - try { - convert = require_encoding().convert; - } catch (e) { - } - var INTERNALS = Symbol("Body internals"); - var PassThrough = Stream.PassThrough; - function Body(body) { - var _this = this; - var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; - let size = _ref$size === void 0 ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; - if (body == null) { - body = null; - } else if (isURLSearchParams(body)) { - body = Buffer.from(body.toString()); - } else if (isBlob(body)) - ; - else if (Buffer.isBuffer(body)) - ; - else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) - ; - else { - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - if (body instanceof Stream) { - body.on("error", function(err) { - const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); - _this[INTERNALS].error = error; - }); - } - } - Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - /** - * Decode response as ArrayBuffer - * - * @return Promise - */ - arrayBuffer() { - return consumeBody.call(this).then(function(buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, - /** - * Return raw response as Blob - * - * @return Promise - */ - blob() { - let ct = this.headers && this.headers.get("content-type") || ""; - return consumeBody.call(this).then(function(buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), - { - [BUFFER]: buf - } - ); - }); - }, - /** - * Decode response as json - * - * @return Promise - */ - json() { - var _this2 = this; - return consumeBody.call(this).then(function(buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); - } - }); - }, - /** - * Decode response as text - * - * @return Promise - */ - text() { - return consumeBody.call(this).then(function(buffer) { - return buffer.toString(); - }); - }, - /** - * Decode response as buffer (non-spec api) - * - * @return Promise - */ - buffer() { - return consumeBody.call(this); - }, - /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise - */ - textConverted() { - var _this3 = this; - return consumeBody.call(this).then(function(buffer) { - return convertBody(buffer, _this3.headers); - }); - } - }; - Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } - }); - Body.mixIn = function(proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } - } - }; - function consumeBody() { - var _this4 = this; - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - this[INTERNALS].disturbed = true; - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - let body = this.body; - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - if (isBlob(body)) { - body = body.stream(); - } - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - let accum = []; - let accumBytes = 0; - let abort = false; - return new Body.Promise(function(resolve, reject) { - let resTimeout; - if (_this4.timeout) { - resTimeout = setTimeout(function() { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); - }, _this4.timeout); - } - body.on("error", function(err) { - if (err.name === "AbortError") { - abort = true; - reject(err); - } else { - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); - } - }); - body.on("data", function(chunk) { - if (abort || chunk === null) { - return; - } - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); - return; - } - accumBytes += chunk.length; - accum.push(chunk); - }); - body.on("end", function() { - if (abort) { - return; - } - clearTimeout(resTimeout); - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); - } - }); - }); - } - function convertBody(buffer, headers) { - if (typeof convert !== "function") { - throw new Error("The package `encoding` must be installed to use the textConverted() function"); - } - const ct = headers.get("content-type"); - let charset = "utf-8"; - let res, str; - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } - str = buffer.slice(0, 1024).toString(); - if (!res && str) { - res = / 0 && arguments[0] !== void 0 ? arguments[0] : void 0; - this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof _Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } - return; - } - if (init == null) - ; - else if (typeof init === "object") { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== "function") { - throw new TypeError("Header pairs must be iterable"); - } - const pairs = []; - for (const pair of init) { - if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { - throw new TypeError("Each header pair must be iterable"); - } - pairs.push(Array.from(pair)); - } - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError("Each header pair must be a name/value tuple"); - } - this.append(pair[0], pair[1]); - } - } else { - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError("Provided initializer must be an object"); - } - } - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === void 0) { - return null; - } - return this[MAP][key].join(", "); - } - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], value = _pairs$i[1]; - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== void 0 ? key : name] = [value]; - } - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== void 0) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== void 0; - } - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== void 0) { - delete this[MAP][key]; - } - } - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, "key"); - } - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, "value"); - } - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, "key+value"); - } - }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: "Headers", - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } - }); - function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === "key" ? function(k) { - return k.toLowerCase(); - } : kind === "value" ? function(k) { - return headers[MAP][k].join(", "); - } : function(k) { - return [k.toLowerCase(), headers[MAP][k].join(", ")]; - }); - } - var INTERNAL = Symbol("internal"); - function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; - } - var HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError("Value of `this` is not a HeadersIterator"); - } - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: void 0, - done: true - }; - } - this[INTERNAL].index = index + 1; - return { - value: values[index], - done: false - }; - } - }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); - Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: "HeadersIterator", - writable: false, - enumerable: false, - configurable: true - }); - function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - const hostHeaderKey = find(headers[MAP], "Host"); - if (hostHeaderKey !== void 0) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - return obj; - } - function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val2 of obj[name]) { - if (invalidHeaderCharRegex.test(val2)) { - continue; - } - if (headers[MAP][name] === void 0) { - headers[MAP][name] = [val2]; - } else { - headers[MAP][name].push(val2); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; - } - var INTERNALS$1 = Symbol("Response internals"); - var STATUS_CODES = http.STATUS_CODES; - var Response2 = class _Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - Body.call(this, body, opts); - const status = opts.status || 200; - const headers = new Headers(opts.headers); - if (body != null && !headers.has("Content-Type")) { - const contentType = extractContentType(body); - if (contentType) { - headers.append("Content-Type", contentType); - } - } - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - get url() { - return this[INTERNALS$1].url || ""; - } - get status() { - return this[INTERNALS$1].status; - } - /** - * Convenience property representing if the request ended normally - */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - get redirected() { - return this[INTERNALS$1].counter > 0; - } - get statusText() { - return this[INTERNALS$1].statusText; - } - get headers() { - return this[INTERNALS$1].headers; - } - /** - * Clone this response - * - * @return Response - */ - clone() { - return new _Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); - } - }; - Body.mixIn(Response2.prototype); - Object.defineProperties(Response2.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } - }); - Object.defineProperty(Response2.prototype, Symbol.toStringTag, { - value: "Response", - writable: false, - enumerable: false, - configurable: true - }); - var INTERNALS$2 = Symbol("Request internals"); - var URL3 = Url.URL || whatwgUrl.URL; - var parse_url = Url.parse; - var format_url = Url.format; - function parseURL(urlStr) { - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL3(urlStr).toString(); - } - return parse_url(urlStr); - } - var streamDestructionSupported = "destroy" in Stream.Readable.prototype; - function isRequest(input) { - return typeof input === "object" && typeof input[INTERNALS$2] === "object"; - } - function isAbortSignal(signal) { - const proto = signal && typeof signal === "object" && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === "AbortSignal"); - } - var Request = class _Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - let parsedURL; - if (!isRequest(input)) { - if (input && input.href) { - parsedURL = parseURL(input.href); - } else { - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } - let method = init.method || input.method || "GET"; - method = method.toUpperCase(); - if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body"); - } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - const headers = new Headers(init.headers || input.headers || {}); - if (inputBody != null && !headers.has("Content-Type")) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append("Content-Type", contentType); - } - } - let signal = isRequest(input) ? input.signal : null; - if ("signal" in init) - signal = init.signal; - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError("Expected signal to be an instanceof AbortSignal"); - } - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || "follow", - headers, - parsedURL, - signal - }; - this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; - this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } - get method() { - return this[INTERNALS$2].method; - } - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - get headers() { - return this[INTERNALS$2].headers; - } - get redirect() { - return this[INTERNALS$2].redirect; - } - get signal() { - return this[INTERNALS$2].signal; - } - /** - * Clone this request - * - * @return Request - */ - clone() { - return new _Request(this); - } - }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: "Request", - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } - }); - function getNodeRequestOptions(request2) { - const parsedURL = request2[INTERNALS$2].parsedURL; - const headers = new Headers(request2[INTERNALS$2].headers); - if (!headers.has("Accept")) { - headers.set("Accept", "*/*"); - } - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError("Only absolute URLs are supported"); - } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError("Only HTTP(S) protocols are supported"); - } - if (request2.signal && request2.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); - } - let contentLengthValue = null; - if (request2.body == null && /^(POST|PUT)$/i.test(request2.method)) { - contentLengthValue = "0"; - } - if (request2.body != null) { - const totalBytes = getTotalBytes(request2); - if (typeof totalBytes === "number") { - contentLengthValue = String(totalBytes); - } - } - if (contentLengthValue) { - headers.set("Content-Length", contentLengthValue); - } - if (!headers.has("User-Agent")) { - headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); - } - if (request2.compress && !headers.has("Accept-Encoding")) { - headers.set("Accept-Encoding", "gzip,deflate"); - } - let agent = request2.agent; - if (typeof agent === "function") { - agent = agent(parsedURL); - } - if (!headers.has("Connection") && !agent) { - headers.set("Connection", "close"); - } - return Object.assign({}, parsedURL, { - method: request2.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); - } - function AbortError(message) { - Error.call(this, message); - this.type = "aborted"; - this.message = message; - Error.captureStackTrace(this, this.constructor); - } - AbortError.prototype = Object.create(Error.prototype); - AbortError.prototype.constructor = AbortError; - AbortError.prototype.name = "AbortError"; - var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream.PassThrough; - var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); - }; - var isSameProtocol = function isSameProtocol2(destination, original) { - const orig = new URL$1(original).protocol; - const dest = new URL$1(destination).protocol; - return orig === dest; - }; - function fetch2(url2, opts) { - if (!fetch2.Promise) { - throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); - } - Body.Promise = fetch2.Promise; - return new fetch2.Promise(function(resolve, reject) { - const request2 = new Request(url2, opts); - const options = getNodeRequestOptions(request2); - const send = (options.protocol === "https:" ? https2 : http).request; - const signal = request2.signal; - let response = null; - const abort = function abort2() { - let error = new AbortError("The user aborted a request."); - reject(error); - if (request2.body && request2.body instanceof Stream.Readable) { - destroyStream(request2.body, error); - } - if (!response || !response.body) - return; - response.body.emit("error", error); - }; - if (signal && signal.aborted) { - abort(); - return; - } - const abortAndFinalize = function abortAndFinalize2() { - abort(); - finalize(); - }; - const req = send(options); - let reqTimeout; - if (signal) { - signal.addEventListener("abort", abortAndFinalize); - } - function finalize() { - req.abort(); - if (signal) - signal.removeEventListener("abort", abortAndFinalize); - clearTimeout(reqTimeout); - } - if (request2.timeout) { - req.once("socket", function(socket) { - reqTimeout = setTimeout(function() { - reject(new FetchError(`network timeout at: ${request2.url}`, "request-timeout")); - finalize(); - }, request2.timeout); - }); - } - req.on("error", function(err) { - reject(new FetchError(`request to ${request2.url} failed, reason: ${err.message}`, "system", err)); - if (response && response.body) { - destroyStream(response.body, err); - } - finalize(); - }); - fixResponseChunkedTransferBadEnding(req, function(err) { - if (signal && signal.aborted) { - return; - } - if (response && response.body) { - destroyStream(response.body, err); - } - }); - if (parseInt(process.version.substring(1)) < 14) { - req.on("socket", function(s) { - s.addListener("close", function(hadError) { - const hasDataListener = s.listenerCount("data") > 0; - if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { - const err = new Error("Premature close"); - err.code = "ERR_STREAM_PREMATURE_CLOSE"; - response.body.emit("error", err); - } - }); - }); - } - req.on("response", function(res) { - clearTimeout(reqTimeout); - const headers = createHeadersLenient(res.headers); - if (fetch2.isRedirect(res.statusCode)) { - const location = headers.get("Location"); - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request2.url).toString(); - } catch (err) { - if (request2.redirect !== "manual") { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); - finalize(); - return; - } - } - switch (request2.redirect) { - case "error": - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request2.url}`, "no-redirect")); - finalize(); - return; - case "manual": - if (locationURL !== null) { - try { - headers.set("Location", locationURL); - } catch (err) { - reject(err); - } - } - break; - case "follow": - if (locationURL === null) { - break; - } - if (request2.counter >= request2.follow) { - reject(new FetchError(`maximum redirect reached at: ${request2.url}`, "max-redirect")); - finalize(); - return; - } - const requestOpts = { - headers: new Headers(request2.headers), - follow: request2.follow, - counter: request2.counter + 1, - agent: request2.agent, - compress: request2.compress, - method: request2.method, - body: request2.body, - signal: request2.signal, - timeout: request2.timeout, - size: request2.size - }; - if (!isDomainOrSubdomain(request2.url, locationURL) || !isSameProtocol(request2.url, locationURL)) { - for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { - requestOpts.headers.delete(name); - } - } - if (res.statusCode !== 303 && request2.body && getTotalBytes(request2) === null) { - reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); - finalize(); - return; - } - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request2.method === "POST") { - requestOpts.method = "GET"; - requestOpts.body = void 0; - requestOpts.headers.delete("content-length"); - } - resolve(fetch2(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - res.once("end", function() { - if (signal) - signal.removeEventListener("abort", abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - const response_options = { - url: request2.url, - status: res.statusCode, - statusText: res.statusMessage, - headers, - size: request2.size, - timeout: request2.timeout, - counter: request2.counter - }; - const codings = headers.get("Content-Encoding"); - if (!request2.compress || request2.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response2(body, response_options); - resolve(response); - return; - } - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - if (codings == "gzip" || codings == "x-gzip") { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response2(body, response_options); - resolve(response); - return; - } - if (codings == "deflate" || codings == "x-deflate") { - const raw = res.pipe(new PassThrough$1()); - raw.once("data", function(chunk) { - if ((chunk[0] & 15) === 8) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response2(body, response_options); - resolve(response); - }); - raw.on("end", function() { - if (!response) { - response = new Response2(body, response_options); - resolve(response); - } - }); - return; - } - if (codings == "br" && typeof zlib.createBrotliDecompress === "function") { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response2(body, response_options); - resolve(response); - return; - } - response = new Response2(body, response_options); - resolve(response); - }); - writeToStream(req, request2); - }); - } - function fixResponseChunkedTransferBadEnding(request2, errorCallback) { - let socket; - request2.on("socket", function(s) { - socket = s; - }); - request2.on("response", function(response) { - const headers = response.headers; - if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { - response.once("close", function(hadError) { - const hasDataListener = socket && socket.listenerCount("data") > 0; - if (hasDataListener && !hadError) { - const err = new Error("Premature close"); - err.code = "ERR_STREAM_PREMATURE_CLOSE"; - errorCallback(err); - } - }); - } - }); - } - function destroyStream(stream, err) { - if (stream.destroy) { - stream.destroy(err); - } else { - stream.emit("error", err); - stream.end(); - } - } - fetch2.isRedirect = function(code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; - }; - fetch2.Promise = global.Promise; - module2.exports = exports = fetch2; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = exports; - exports.Headers = Headers; - exports.Request = Request; - exports.Response = Response2; - exports.FetchError = FetchError; - } -}); - -// ../sdk-v2-to-v3-adapter/lib/client-names.ts -var CLIENT_NAMES; -var init_client_names = __esm({ - "../sdk-v2-to-v3-adapter/lib/client-names.ts"() { - "use strict"; - CLIENT_NAMES = [ - "ACM", - "ACMPCA", - "APIGateway", - "ARCZonalShift", - "AccessAnalyzer", - "Account", - "AlexaForBusiness", - "Amp", - "Amplify", - "AmplifyBackend", - "AmplifyUIBuilder", - "ApiGatewayManagementApi", - "ApiGatewayV2", - "AppConfig", - "AppConfigData", - "AppIntegrations", - "AppMesh", - "AppRunner", - "AppStream", - "AppSync", - "Appflow", - "ApplicationAutoScaling", - "ApplicationCostProfiler", - "ApplicationInsights", - "Athena", - "AuditManager", - "AugmentedAIRuntime", - "AutoScaling", - "AutoScalingPlans", - "Backup", - "BackupGateway", - "BackupStorage", - "Batch", - "Billingconductor", - "Braket", - "Budgets", - "CUR", - "Chime", - "ChimeSDKIdentity", - "ChimeSDKMediaPipelines", - "ChimeSDKMeetings", - "ChimeSDKMessaging", - "ChimeSDKVoice", - "Cloud9", - "CloudControl", - "CloudDirectory", - "CloudFormation", - "CloudFront", - "CloudHSM", - "CloudHSMV2", - "CloudSearch", - "CloudSearchDomain", - "CloudTrail", - "CloudWatch", - "CloudWatchEvents", - "CloudWatchLogs", - "CodeArtifact", - "CodeBuild", - "CodeCatalyst", - "CodeCommit", - "CodeDeploy", - "CodeGuruProfiler", - "CodeGuruReviewer", - "CodePipeline", - "CodeStar", - "CodeStarNotifications", - "CodeStarconnections", - "CognitoIdentity", - "CognitoIdentityServiceProvider", - "CognitoSync", - "Comprehend", - "ComprehendMedical", - "ComputeOptimizer", - "ConfigService", - "Connect", - "ConnectCampaigns", - "ConnectCases", - "ConnectContactLens", - "ConnectParticipant", - "ControlTower", - "CostExplorer", - "CustomerProfiles", - "DAX", - "DLM", - "DMS", - "DataBrew", - "DataExchange", - "DataPipeline", - "DataSync", - "Detective", - "DevOpsGuru", - "DeviceFarm", - "DirectConnect", - "DirectoryService", - "Discovery", - "DocDB", - "DocDBElastic", - "Drs", - "DynamoDB", - "DynamoDBStreams", - "EBS", - "EC2", - "EC2InstanceConnect", - "ECR", - "ECRPUBLIC", - "ECS", - "EFS", - "EKS", - "ELB", - "ELBv2", - "EMR", - "EMRServerless", - "EMRcontainers", - "ES", - "ElastiCache", - "ElasticBeanstalk", - "ElasticInference", - "ElasticTranscoder", - "EventBridge", - "Evidently", - "FMS", - "FSx", - "Finspace", - "Finspacedata", - "Firehose", - "Fis", - "ForecastQueryService", - "ForecastService", - "FraudDetector", - "GameLift", - "GameSparks", - "Glacier", - "GlobalAccelerator", - "Glue", - "Grafana", - "Greengrass", - "GreengrassV2", - "GroundStation", - "GuardDuty", - "Health", - "HealthLake", - "Honeycode", - "IAM", - "IVS", - "IdentityStore", - "Imagebuilder", - "Inspector", - "Inspector2", - "IoT1ClickDevicesService", - "IoT1ClickProjects", - "IoTAnalytics", - "IoTEvents", - "IoTEventsData", - "IoTFleetHub", - "IoTFleetWise", - "IoTJobsDataPlane", - "IoTRoboRunner", - "IoTSecureTunneling", - "IoTSiteWise", - "IoTThingsGraph", - "IoTTwinMaker", - "IoTWireless", - "Iot", - "IotData", - "IotDeviceAdvisor", - "Ivschat", - "KMS", - "Kafka", - "KafkaConnect", - "Kendra", - "Keyspaces", - "Kinesis", - "KinesisAnalytics", - "KinesisAnalyticsV2", - "KinesisVideo", - "KinesisVideoArchivedMedia", - "KinesisVideoMedia", - "KinesisVideoSignalingChannels", - "KinesisVideoWebRTCStorage", - "LakeFormation", - "Lambda", - "LexModelBuildingService", - "LexModelsV2", - "LexRuntime", - "LexRuntimeV2", - "LicenseManager", - "LicenseManagerLinuxSubscriptions", - "LicenseManagerUserSubscriptions", - "Lightsail", - "Location", - "LookoutEquipment", - "LookoutMetrics", - "LookoutVision", - "M2", - "MQ", - "MTurk", - "MWAA", - "MachineLearning", - "Macie", - "Macie2", - "ManagedBlockchain", - "MarketplaceCatalog", - "MarketplaceCommerceAnalytics", - "MarketplaceEntitlementService", - "MarketplaceMetering", - "MediaConnect", - "MediaConvert", - "MediaLive", - "MediaPackage", - "MediaPackageVod", - "MediaStore", - "MediaStoreData", - "MediaTailor", - "MemoryDB", - "Mgn", - "MigrationHub", - "MigrationHubConfig", - "MigrationHubOrchestrator", - "MigrationHubRefactorSpaces", - "MigrationHubStrategy", - "Mobile", - "Neptune", - "NetworkFirewall", - "NetworkManager", - "Nimble", - "OAM", - "Omics", - "OpenSearch", - "OpenSearchServerless", - "OpsWorks", - "OpsWorksCM", - "Organizations", - "Outposts", - "PI", - "Panorama", - "Personalize", - "PersonalizeEvents", - "PersonalizeRuntime", - "Pinpoint", - "PinpointEmail", - "PinpointSMSVoice", - "PinpointSMSVoiceV2", - "Pipes", - "Polly", - "Pricing", - "PrivateNetworks", - "Proton", - "QLDB", - "QLDBSession", - "QuickSight", - "RAM", - "RDS", - "RDSDataService", - "RUM", - "Rbin", - "Redshift", - "RedshiftData", - "RedshiftServerless", - "Rekognition", - "Resiliencehub", - "ResourceExplorer2", - "ResourceGroups", - "ResourceGroupsTaggingAPI", - "RoboMaker", - "RolesAnywhere", - "Route53", - "Route53Domains", - "Route53RecoveryCluster", - "Route53RecoveryControlConfig", - "Route53RecoveryReadiness", - "Route53Resolver", - "S3", - "S3Control", - "S3Outposts", - "SES", - "SESV2", - "SMS", - "SNS", - "SQS", - "SSM", - "SSMContacts", - "SSMIncidents", - "SSO", - "SSOAdmin", - "SSOOIDC", - "STS", - "SWF", - "SageMaker", - "SageMakerFeatureStoreRuntime", - "SageMakerGeospatial", - "SageMakerMetrics", - "SageMakerRuntime", - "SagemakerEdge", - "SavingsPlans", - "Scheduler", - "Schemas", - "SecretsManager", - "SecurityHub", - "SecurityLake", - "ServerlessApplicationRepository", - "ServiceCatalog", - "ServiceCatalogAppRegistry", - "ServiceDiscovery", - "ServiceQuotas", - "Shield", - "Signer", - "SimSpaceWeaver", - "SnowDeviceManagement", - "Snowball", - "SsmSap", - "StepFunctions", - "StorageGateway", - "Support", - "SupportApp", - "Synthetics", - "Textract", - "TimestreamQuery", - "TimestreamWrite", - "TranscribeService", - "Transfer", - "Translate", - "VoiceID", - "WAF", - "WAFRegional", - "WAFV2", - "WellArchitected", - "Wisdom", - "WorkDocs", - "WorkLink", - "WorkMail", - "WorkMailMessageFlow", - "WorkSpaces", - "WorkSpacesWeb", - "XRay" - ]; - } -}); - -// ../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts -var CLIENT_PACKAGE_NAMES_MAP; -var init_client_package_names_map = __esm({ - "../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { - "use strict"; - init_client_names(); - CLIENT_PACKAGE_NAMES_MAP = { - ...CLIENT_NAMES.reduce( - (acc, name) => ({ - ...acc, - [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") - }), - {} - ), - AccessAnalyzer: "client-accessanalyzer", - ACMPCA: "client-acm-pca", - APIGateway: "client-api-gateway", - ApiGatewayManagementApi: "client-apigatewaymanagementapi", - ApiGatewayV2: "client-apigatewayv2", - AppConfig: "client-appconfig", - AppConfigData: "client-appconfigdata", - AppIntegrations: "client-appintegrations", - AppRunner: "client-apprunner", - AppStream: "client-appstream", - AppSync: "client-appsync", - ApplicationCostProfiler: "client-applicationcostprofiler", - ARCZonalShift: "client-arc-zonal-shift", - AugmentedAIRuntime: "client-sage-maker-a2iruntime", - AuditManager: "client-auditmanager", - BackupStorage: "client-backupstorage", - CUR: "client-cost-and-usage-report-service", - CloudHSMV2: "client-cloudhsm-v2", - CodeGuruProfiler: "client-codeguruprofiler", - CodeStarconnections: "client-codestar-connections", - CognitoIdentityServiceProvider: "client-cognito-identity-provider", - ComprehendMedical: "client-comprehendmedical", - ConnectContactLens: "client-connect-contact-lens", - ControlTower: "client-controltower", - DMS: "client-database-migration-service", - DataPipeline: "client-data-pipeline", - Discovery: "client-application-discovery-service", - DevOpsGuru: "client-devops-guru", - DynamoDB: "client-dynamodb", - DynamoDBStreams: "client-dynamodb-streams", - DocDB: "client-docdb", - DocDBElastic: "client-docdb-elastic", - EC2InstanceConnect: "client-ec2-instance-connect", - ECRPUBLIC: "client-ecr-public", - ELB: "client-elastic-load-balancing", - ELBv2: "client-elastic-load-balancing-v2", - ElastiCache: "client-elasticache", - EMRcontainers: "client-emr-containers", - EMRServerless: "client-emr-serverless", - ES: "client-elasticsearch-service", - EventBridge: "client-eventbridge", - Finspacedata: "client-finspace-data", - ForecastQueryService: "client-forecastquery", - ForecastService: "client-forecast", - FraudDetector: "client-frauddetector", - GameLift: "client-gamelift", - GameSparks: "client-gamesparks", - GreengrassV2: "client-greengrassv2", - GroundStation: "client-groundstation", - GuardDuty: "client-guardduty", - HealthLake: "client-healthlake", - IdentityStore: "client-identitystore", - IoTAnalytics: "client-iotanalytics", - IotData: "client-iot-data-plane", - IotDeviceAdvisor: "client-iotdeviceadvisor", - IoTSecureTunneling: "client-iotsecuretunneling", - IoTSiteWise: "client-iotsitewise", - IoTThingsGraph: "client-iotthingsgraph", - IoTTwinMaker: "client-iottwinmaker", - IoTRoboRunner: "client-iot-roborunner", - KafkaConnect: "client-kafkaconnect", - KinesisVideoSignalingChannels: "client-kinesis-video-signaling", - KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", - LakeFormation: "client-lakeformation", - LexRuntime: "client-lex-runtime-service", - ManagedBlockchain: "client-managedblockchain", - MigrationHubConfig: "client-migrationhub-config", - MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", - NetworkManager: "client-networkmanager", - OpenSearch: "client-opensearch", - OpenSearchServerless: "client-opensearchserverless", - OpsWorks: "client-opsworks", - OpsWorksCM: "client-opsworkscm", - PrivateNetworks: "client-privatenetworks", - QLDBSession: "client-qldb-session", - QuickSight: "client-quicksight", - ResourceExplorer2: "client-resource-explorer-2", - RDSDataService: "client-rds-data", - RoboMaker: "client-robomaker", - RolesAnywhere: "client-rolesanywhere", - Route53: "client-route-53", - Route53Domains: "client-route-53-domains", - Route53Resolver: "client-route53resolver", - S3Control: "client-s3-control", - SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", - SavingsPlans: "client-savingsplans", - SecurityHub: "client-securityhub", - ServerlessApplicationRepository: "client-serverlessapplicationrepository", - ServiceCatalogAppRegistry: "client-service-catalog-appregistry", - ServiceDiscovery: "client-servicediscovery", - SimSpaceWeaver: "client-simspaceweaver", - SSMContacts: "client-ssm-contacts", - SSMIncidents: "client-ssm-incidents", - SSOAdmin: "client-sso-admin", - SSOOIDC: "client-sso-oidc", - StepFunctions: "client-sfn", - TranscribeService: "client-transcribe", - WAFRegional: "client-waf-regional", - WellArchitected: "client-wellarchitected", - WorkMailMessageFlow: "client-workmailmessageflow" - }; - } -}); - -// ../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts -var get_v3_client_package_name_exports = {}; -__export(get_v3_client_package_name_exports, { - getV3ClientPackageName: () => getV3ClientPackageName -}); -var getV3ClientPackageName; -var init_get_v3_client_package_name = __esm({ - "../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { - "use strict"; - init_client_package_names_map(); - getV3ClientPackageName = (clientName) => { - if (clientName in CLIENT_PACKAGE_NAMES_MAP) { - return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; - } - throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); - }; - } -}); - -// ../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts -var find_client_constructor_exports = {}; -__export(find_client_constructor_exports, { - findV3ClientConstructor: () => findV3ClientConstructor -}); -function findV3ClientConstructor(pkg) { - const [_clientName, ServiceClient] = Object.entries(pkg).find( - ([name]) => { - return name.endsWith("Client") && name !== "__Client"; - } - ); - return ServiceClient; -} -var init_find_client_constructor = __esm({ - "../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { - "use strict"; - } -}); - -// ../sdk-v2-to-v3-adapter/lib/index.js -var require_lib5 = __commonJS({ - "../sdk-v2-to-v3-adapter/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; - var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); - Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { - return get_v3_client_package_name_1.getV3ClientPackageName; - } }); - var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); - Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { - return find_client_constructor_1.findV3ClientConstructor; - } }); - } -}); - -// lib/assertions/providers/lambda-handler/index.ts -var lambda_handler_exports = {}; -__export(lambda_handler_exports, { - handler: () => handler, - isComplete: () => isComplete, - onTimeout: () => onTimeout -}); -module.exports = __toCommonJS(lambda_handler_exports); - -// lib/assertions/providers/lambda-handler/assertion.ts -var import_helpers_internal = __toESM(require_helpers_internal()); - -// lib/assertions/providers/lambda-handler/base.ts -var https = __toESM(require("https")); -var url = __toESM(require("url")); -var import_client_sfn = __toESM(require_dist_cjs54()); -var CustomResourceHandler = class { - constructor(event, context) { - this.event = event; - this.context = context; - this.timeout = setTimeout(async () => { - await this.respond({ - status: "FAILED", - reason: "Lambda Function Timeout", - data: this.context.logStreamName - }); - this.timedOut = true; - }, context.getRemainingTimeInMillis() - 1200); - this.event = event; - this.physicalResourceId = extractPhysicalResourceId(event); - } - physicalResourceId; - timeout; - timedOut = false; - /** - * Handles executing the custom resource event. If `stateMachineArn` is present - * in the props then trigger the waiter statemachine - */ - async handle() { - try { - if ("stateMachineArn" in this.event.ResourceProperties) { - const req = { - stateMachineArn: this.event.ResourceProperties.stateMachineArn, - name: this.event.RequestId, - input: JSON.stringify(this.event) - }; - await this.startExecution(req); - return; - } else { - const response = await this.processEvent(this.event.ResourceProperties); - return response; - } - } catch (e) { - console.log(e); - throw e; - } finally { - clearTimeout(this.timeout); - } - } - /** - * Handle async requests from the waiter state machine - */ - async handleIsComplete() { - try { - const result = await this.processEvent(this.event.ResourceProperties); - return result; - } catch (e) { - console.log(e); - return; - } finally { - clearTimeout(this.timeout); - } - } - /** - * Start a step function state machine which will wait for the request - * to be successful. - */ - async startExecution(req) { - try { - const sfn = new import_client_sfn.SFN({}); - await sfn.startExecution(req); - } finally { - clearTimeout(this.timeout); - } - } - respond(response) { - if (this.timedOut) { - return; - } - const cfResponse = { - Status: response.status, - Reason: response.reason, - PhysicalResourceId: this.physicalResourceId, - StackId: this.event.StackId, - RequestId: this.event.RequestId, - LogicalResourceId: this.event.LogicalResourceId, - NoEcho: false, - Data: response.data - }; - const responseBody = JSON.stringify(cfResponse); - console.log("Responding to CloudFormation", responseBody); - const parsedUrl = url.parse(this.event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request2 = https.request(requestOptions, resolve); - request2.on("error", reject); - request2.write(responseBody); - request2.end(); - } catch (e) { - reject(e); - } finally { - clearTimeout(this.timeout); - } - }); - } -}; -function extractPhysicalResourceId(event) { - switch (event.RequestType) { - case "Create": - return event.LogicalResourceId; - case "Update": - case "Delete": - return event.PhysicalResourceId; - } -} - -// lib/assertions/providers/lambda-handler/assertion.ts -var AssertionHandler = class extends CustomResourceHandler { - async processEvent(request2) { - let actual = decodeCall(request2.actual); - const expected = decodeCall(request2.expected); - let result; - const matcher = new MatchCreator(expected).getMatcher(); - console.log(`Testing equality between ${JSON.stringify(request2.actual)} and ${JSON.stringify(request2.expected)}`); - const matchResult = matcher.test(actual); - matchResult.finished(); - if (matchResult.hasFailed()) { - result = { - failed: true, - assertion: JSON.stringify({ - status: "fail", - message: matchResult.renderMismatch() - }) - }; - if (request2.failDeployment) { - throw new Error(result.assertion); - } - } else { - result = { - assertion: JSON.stringify({ - status: "success" - }) - }; - } - return result; - } -}; -var MatchCreator = class { - parsedObj; - constructor(obj) { - this.parsedObj = { - matcher: obj - }; - } - /** - * Return a Matcher that can be tested against the actual results. - * This will convert the encoded matchers into their corresponding - * assertions matcher. - * - * For example: - * - * ExpectedResult.objectLike({ - * Messages: [{ - * Body: Match.objectLike({ - * Elements: Match.arrayWith([{ Asdf: 3 }]), - * Payload: Match.serializedJson({ key: 'value' }), - * }), - * }], - * }); - * - * Will be encoded as: - * { - * $ObjectLike: { - * Messages: [{ - * Body: { - * $ObjectLike: { - * Elements: { - * $ArrayWith: [{ Asdf: 3 }], - * }, - * Payload: { - * $SerializedJson: { key: 'value' } - * } - * }, - * }, - * }], - * }, - * } - * - * Which can then be parsed by this function. For each key (recursively) - * the parser will check if the value has one of the encoded matchers as a key - * and if so, it will set the value as the Matcher. So, - * - * { - * Body: { - * $ObjectLike: { - * Elements: { - * $ArrayWith: [{ Asdf: 3 }], - * }, - * Payload: { - * $SerializedJson: { key: 'value' } - * } - * }, - * }, - * } - * - * Will be converted to - * { - * Body: Match.objectLike({ - * Elements: Match.arrayWith([{ Asdf: 3 }]), - * Payload: Match.serializedJson({ key: 'value' }), - * }), - * } - */ - getMatcher() { - try { - const final = JSON.parse(JSON.stringify(this.parsedObj), function(_k, v) { - const nested = Object.keys(v)[0]; - switch (nested) { - case "$ArrayWith": - return import_helpers_internal.Match.arrayWith(v[nested]); - case "$ObjectLike": - return import_helpers_internal.Match.objectLike(v[nested]); - case "$StringLike": - return import_helpers_internal.Match.stringLikeRegexp(v[nested]); - case "$SerializedJson": - return import_helpers_internal.Match.serializedJson(v[nested]); - default: - return v; - } - }); - if (import_helpers_internal.Matcher.isMatcher(final.matcher)) { - return final.matcher; - } - return import_helpers_internal.Match.exact(final.matcher); - } catch { - return import_helpers_internal.Match.exact(this.parsedObj.matcher); - } - } -}; -function decodeCall(call) { - if (!call) { - return void 0; - } - try { - const parsed = JSON.parse(call); - return parsed; - } catch { - return call; - } -} - -// lib/assertions/providers/lambda-handler/http.ts -var import_node_fetch = __toESM(require_lib4()); -var HttpHandler = class extends CustomResourceHandler { - async processEvent(request2) { - console.log("request", request2); - const response = await (0, import_node_fetch.default)(request2.parameters.url, request2.parameters.fetchOptions); - const result = { - ok: response.ok, - status: response.status, - statusText: response.statusText, - headers: response.headers.raw() - }; - try { - const jsonResponse = await response.json(); - result.body = jsonResponse; - } catch (e) { - result.body = {}; - } - return { - apiCallResponse: result - }; - } -}; - -// lib/assertions/providers/lambda-handler/sdk.ts -var import_sdk_v2_to_v3_adapter = __toESM(require_lib5()); - -// lib/assertions/providers/lambda-handler/utils.ts -function parseJsonPayload(payload) { - try { - const buffer = Buffer.from(payload); - return JSON.parse(new TextDecoder().decode(buffer)); - } catch { - return payload; - } -} -function decodeParameters(obj) { - return Object.fromEntries(Object.entries(obj).map(([key, value]) => { - try { - return [key, JSON.parse(value)]; - } catch { - return [key, value]; - } - })); -} - -// lib/assertions/providers/lambda-handler/sdk.ts -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - let childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - if (typeof childKey === "string") { - childKey = isJsonString(childKey); - } - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -function getServicePackage(service) { - const packageName = (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(service); - try { - const pkg = require(packageName); - return { - service, - pkg, - packageName - }; - } catch (e) { - throw Error(`Service ${service} client package with name '${packageName}' does not exist.`); - } -} -function getServiceClient(sdkPkg) { - try { - const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(sdkPkg.pkg); - return new ServiceClient({}); - } catch (e) { - console.error(e); - throw Error(`No client constructor found within package: ${sdkPkg.packageName}`); - } -} -function getSdkCommand(sdkPkg, api) { - const commandName = api.endsWith("Command") ? api : `${api}Command`; - const command = Object.entries(sdkPkg.pkg).find( - ([name]) => name.toLowerCase() === commandName.toLowerCase() - )?.[1]; - if (!command) { - throw new Error(`Unable to find command named: ${commandName} for api: ${api} in service package`); - } - return command; -} -var AwsApiCallHandler = class extends CustomResourceHandler { - async processEvent(request2) { - const sdkPkg = getServicePackage(request2.service); - const client = getServiceClient(sdkPkg); - const Command = getSdkCommand(sdkPkg, request2.api); - const commandInput = (request2.parameters && decodeParameters(request2.parameters)) ?? {}; - console.log(`SDK request to ${sdkPkg.service}.${request2.api} with parameters ${JSON.stringify(commandInput)}`); - const response = await client.send(new Command(commandInput)); - if (response.Payload) { - response.Payload = parseJsonPayload(response.Payload); - } - console.log(`SDK response received ${JSON.stringify(response)}`); - delete response.$metadata; - const respond = { - apiCallResponse: response - }; - const flatData = { - ...flatten(respond) - }; - let resp = respond; - if (request2.outputPaths) { - resp = filterKeys(flatData, request2.outputPaths); - } else if (request2.flattenResponse === "true") { - resp = flatData; - } - console.log(`Returning result ${JSON.stringify(resp)}`); - return resp; - } -}; -function filterKeys(object, searchStrings) { - return Object.entries(object).reduce((filteredObject, [key, value]) => { - for (const searchString of searchStrings) { - if (key.startsWith(`apiCallResponse.${searchString}`)) { - filteredObject[key] = value; - } - } - return filteredObject; - }, {}); -} -function isJsonString(value) { - try { - return JSON.parse(value); - } catch { - return value; - } -} - -// lib/assertions/providers/lambda-handler/types.ts -var ASSERT_RESOURCE_TYPE = "Custom::DeployAssert@AssertEquals"; -var SDK_RESOURCE_TYPE_PREFIX = "Custom::DeployAssert@SdkCall"; -var HTTP_RESOURCE_TYPE = "Custom::DeployAssert@HttpCall"; - -// lib/assertions/providers/lambda-handler/index.ts -async function handler(event, context) { - console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); - const provider = createResourceHandler(event, context); - try { - if (event.RequestType === "Delete") { - await provider.respond({ - status: "SUCCESS", - reason: "OK" - }); - return; - } - const result = await provider.handle(); - if ("stateMachineArn" in event.ResourceProperties) { - console.info('Found "stateMachineArn", waiter statemachine started'); - return; - } else if ("expected" in event.ResourceProperties) { - console.info('Found "expected", testing assertions'); - const actualPath = event.ResourceProperties.actualPath; - const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; - const assertion = new AssertionHandler({ - ...event, - ResourceProperties: { - ServiceToken: event.ServiceToken, - actual, - expected: event.ResourceProperties.expected - } - }, context); - try { - const assertionResult = await assertion.handle(); - await provider.respond({ - status: "SUCCESS", - reason: "OK", - // return both the result of the API call _and_ the assertion results - data: { - ...assertionResult, - ...result - } - }); - return; - } catch (e) { - await provider.respond({ - status: "FAILED", - reason: e.message ?? "Internal Error" - }); - return; - } - } - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: result - }); - } catch (e) { - await provider.respond({ - status: "FAILED", - reason: e.message ?? "Internal Error" - }); - return; - } - return; -} -async function onTimeout(timeoutEvent) { - const isCompleteRequest = JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage); - const provider = createResourceHandler(isCompleteRequest, standardContext); - await provider.respond({ - status: "FAILED", - reason: "Operation timed out: " + JSON.stringify(isCompleteRequest) - }); -} -async function isComplete(event, context) { - console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); - const provider = createResourceHandler(event, context); - try { - const result = await provider.handleIsComplete(); - const actualPath = event.ResourceProperties.actualPath; - if (result) { - const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; - if ("expected" in event.ResourceProperties) { - const assertion = new AssertionHandler({ - ...event, - ResourceProperties: { - ServiceToken: event.ServiceToken, - actual, - expected: event.ResourceProperties.expected - } - }, context); - const assertionResult = await assertion.handleIsComplete(); - if (!assertionResult?.failed) { - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: { - ...assertionResult, - ...result - } - }); - return; - } else { - console.log(`Assertion Failed: ${JSON.stringify(assertionResult)}`); - throw new Error(JSON.stringify(event)); - } - } - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: result - }); - } else { - console.log("No result"); - throw new Error(JSON.stringify(event)); - } - return; - } catch (e) { - console.log(e); - throw new Error(JSON.stringify(event)); - } -} -function createResourceHandler(event, context) { - if (event.ResourceType.startsWith(SDK_RESOURCE_TYPE_PREFIX)) { - return new AwsApiCallHandler(event, context); - } else if (event.ResourceType.startsWith(ASSERT_RESOURCE_TYPE)) { - return new AssertionHandler(event, context); - } else if (event.ResourceType.startsWith(HTTP_RESOURCE_TYPE)) { - return new HttpHandler(event, context); - } else { - throw new Error(`Unsupported resource type "${event.ResourceType}`); - } -} -var standardContext = { - getRemainingTimeInMillis: () => 9e4 -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - handler, - isComplete, - onTimeout -}); -/*! Bundled license information: - -tslib/tslib.es6.js: - (*! ***************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** *) -*/ diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/manifest.json index 9b87b830c285a..950ea0d6c1f41 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/manifest.json @@ -208,7 +208,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/033efbe16b566cb69151acaa2d38b2c1f73bf411f644ae441daf0c6aec5a6697.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e7945f357f2b853f026a2feae81bd47e272d2044cdf5527889e28e875faf6900.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/tree.json index b2796178962df..8b334cfb933bb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/triggers/test/integ.triggers.js.snapshot/tree.json @@ -20,14 +20,14 @@ "aws:cdk:cloudformation:props": {} }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sns.CfnTopic", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sns.Topic", + "version": "0.0.0" } }, "Topic2": { @@ -42,14 +42,14 @@ "aws:cdk:cloudformation:props": {} }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sns.CfnTopic", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sns.Topic", + "version": "0.0.0" } }, "MyTriggerFunction": { @@ -64,8 +64,8 @@ "id": "ImportServiceRole", "path": "MyStack/MyTriggerFunction/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "Resource": { @@ -103,14 +103,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" } }, "Resource": { @@ -133,8 +133,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" } }, "Trigger": { @@ -149,20 +149,20 @@ "id": "Default", "path": "MyStack/MyTriggerFunction/Trigger/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.Trigger", + "version": "0.0.0" } }, "CurrentVersion": { @@ -181,20 +181,20 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnVersion", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Version", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.TriggerFunction", + "version": "0.0.0" } }, "AWSCDK.TriggerCustomResourceProviderCustomResourceProvider": { @@ -205,30 +205,30 @@ "id": "Staging", "path": "MyStack/AWSCDK.TriggerCustomResourceProviderCustomResourceProvider/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "MyStack/AWSCDK.TriggerCustomResourceProviderCustomResourceProvider/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "MyStack/AWSCDK.TriggerCustomResourceProviderCustomResourceProvider/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResourceProvider", + "version": "0.0.0" } }, "TestQueue": { @@ -245,14 +245,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_sqs.Queue", + "version": "0.0.0" } }, "MyLambdaFunction": { @@ -267,8 +267,8 @@ "id": "ImportServiceRole", "path": "MyStack/MyLambdaFunction/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "Resource": { @@ -306,14 +306,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" } }, "Resource": { @@ -337,8 +337,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" } }, "CurrentVersion": { @@ -357,20 +357,20 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnVersion", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Version", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Function", + "version": "0.0.0" } }, "MyTrigger": { @@ -385,20 +385,20 @@ "id": "Default", "path": "MyStack/MyTrigger/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.Trigger", + "version": "0.0.0" } }, "MyAssertionLambdaFunction": { @@ -413,8 +413,8 @@ "id": "ImportServiceRole", "path": "MyStack/MyAssertionLambdaFunction/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "Resource": { @@ -452,8 +452,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" } }, "DefaultPolicy": { @@ -494,20 +494,20 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" } }, "Code": { @@ -518,22 +518,22 @@ "id": "Stage", "path": "MyStack/MyAssertionLambdaFunction/Code/Stage", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "AssetBucket": { "id": "AssetBucket", "path": "MyStack/MyAssertionLambdaFunction/Code/AssetBucket", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" } }, "Resource": { @@ -567,8 +567,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" } }, "CurrentVersion": { @@ -587,20 +587,20 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnVersion", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Version", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Function", + "version": "0.0.0" } }, "MyAssertionTrigger": { @@ -615,20 +615,20 @@ "id": "Default", "path": "MyStack/MyAssertionTrigger/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.Trigger", + "version": "0.0.0" } }, "MySecondFunction": { @@ -643,8 +643,8 @@ "id": "ImportServiceRole", "path": "MyStack/MySecondFunction/ServiceRole/ImportServiceRole", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "Resource": { @@ -682,14 +682,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" } }, "Resource": { @@ -712,8 +712,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", + "version": "0.0.0" } }, "Trigger": { @@ -728,20 +728,20 @@ "id": "Default", "path": "MyStack/MySecondFunction/Trigger/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.Trigger", + "version": "0.0.0" } }, "CurrentVersion": { @@ -760,20 +760,20 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.CfnVersion", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.aws_lambda.Version", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.TriggerFunction", + "version": "0.0.0" } }, "MyDefaultPropTrigger": { @@ -788,20 +788,20 @@ "id": "Default", "path": "MyStack/MyDefaultPropTrigger/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.triggers.Trigger", + "version": "0.0.0" } }, "Exports": { @@ -812,8 +812,8 @@ "id": "Output{\"Ref\":\"TestQueue6F0069AA\"}", "path": "MyStack/Exports/Output{\"Ref\":\"TestQueue6F0069AA\"}", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" } } }, @@ -826,22 +826,22 @@ "id": "BootstrapVersion", "path": "MyStack/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "MyStack/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } }, "TriggerTest": { @@ -894,14 +894,14 @@ "id": "Default", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } }, "WaitFor": { @@ -924,8 +924,8 @@ "id": "Invoke", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/WaitFor/IsCompleteProvider/Invoke", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -950,8 +950,8 @@ "id": "Invoke", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/WaitFor/TimeoutProvider/Invoke", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -964,16 +964,16 @@ "id": "Role", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/WaitFor/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Resource": { "id": "Resource", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/WaitFor/Resource", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -986,8 +986,8 @@ "id": "AssertionResults", "path": "TriggerTest/DefaultTest/DeployAssert/AwsApiCallSQSreceiveMessage3bd20f8ab47b6a7aba2afa037c8a30f4/AssertionResults", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" } } }, @@ -1004,24 +1004,24 @@ "id": "Staging", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -1038,24 +1038,24 @@ "id": "Staging", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction76b3e830a873425f8453eddd85c86925/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -1072,24 +1072,24 @@ "id": "Staging", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "TriggerTest/DefaultTest/DeployAssert/SingletonFunction5c1898e096fb4e3e95d5f6c67f3ce41a/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, @@ -1102,22 +1102,22 @@ "id": "BootstrapVersion", "path": "TriggerTest/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "TriggerTest/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } } }, @@ -1142,8 +1142,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.69" + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" } } } \ No newline at end of file diff --git a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts index 93ff075628965..619cb408c2a03 100644 --- a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts +++ b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler.ts @@ -43,12 +43,12 @@ async function loadAwsSdk( let awsSdk: AwsSdk; try { if (!installedSdk[packageName] && installLatestAwsSdk === 'true') { - installLatestSdk(packageName); try { + installLatestSdk(packageName); // MUST use require here. Dynamic import() do not support importing from directories awsSdk = require(`/tmp/node_modules/${packageName}`); } catch (e) { - console.log(`Failed to install latest AWS SDK v3. Falling back to pr-installed version. Error: ${e}`); + console.log(`Failed to install latest AWS SDK v3. Falling back to pre-installed version. Error: ${e}`); // MUST use require as dynamic import() does not support importing from directories return require(packageName); // Fallback to pre-installed version } diff --git a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts index a963b831bc3ee..922dc9a9a51de 100644 --- a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts +++ b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts @@ -11,6 +11,20 @@ import { handler, forceSdkInstallation } from '../../../lib/aws-custom-resource/ // 5s timeout jest.setTimeout(60_000); +const mockExecSync = jest.fn(); +jest.mock('child_process', () => { + return jest.fn().mockImplementation(() => { + return { + ...(jest.requireActual('child_process')), + execSync: mockExecSync, + }; + }); +}); + +beforeEach(() => { + mockExecSync.mockReset(); +}); + /* eslint-disable no-console */ console.log = jest.fn(); @@ -40,9 +54,6 @@ afterEach(() => { nock.cleanAll(); }); -/* eslint-disable no-console */ -console.log = jest.fn(); - jest.mock('@aws-sdk/credential-providers', () => { return { fromTemporaryCredentials: jest.fn(() => ({})), @@ -485,6 +496,42 @@ test('installs the latest SDK', async () => { await fs.remove(tmpPath); }); +test('falls back to installed sdk if installation fails', async () => { + mockExecSync.mockImplementation(() => { + throw new Error('Install failed'); + }); + + s3MockClient.on(S3.GetObjectCommand).resolves({}); + + const event: AWSLambda.CloudFormationCustomResourceCreateEvent = { + ...eventCommon, + RequestType: 'Create', + ResourceProperties: { + ServiceToken: 'token', + Create: JSON.stringify({ + service: '@aws-sdk/client-s3', + action: 'GetObjectCommand', + parameters: { + Bucket: 'my-bucket', + Key: 'key', + }, + physicalResourceId: PhysicalResourceId.of('id'), + } as AwsSdkCall), + InstallLatestAwsSdk: 'true', + }, + }; + + const request = createRequest(body => + body.Status === 'SUCCESS', + ); + + // Reset to 'false' so that the next run will reinstall aws-sdk + forceSdkInstallation(); + await handler(event, {} as AWSLambda.Context); + + expect(request.isDone()).toBeTruthy(); +}); + test('SDK credentials are not persisted across subsequent invocations', async () => { // GIVEN s3MockClient.on(S3.GetObjectCommand).resolves({}); From af1083a132a592bda83621a76c78d09465096a01 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy <36202692+kaizencc@users.noreply.github.com> Date: Fri, 11 Aug 2023 09:46:55 -0400 Subject: [PATCH 02/12] chore: update mergify and github-merit-badger (#26706) * Update .mergify.yml * gmb --------- Co-authored-by: Rico Hermans --- .github/workflows/github-merit-badger.yml | 2 +- .mergify.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/github-merit-badger.yml b/.github/workflows/github-merit-badger.yml index d818d2f2da061..1f5182672b7cb 100644 --- a/.github/workflows/github-merit-badger.yml +++ b/.github/workflows/github-merit-badger.yml @@ -17,4 +17,4 @@ jobs: badges: '[beginning-contributor,repeat-contributor,valued-contributor,admired-contributor,star-contributor,distinguished-contributor]' thresholds: '[0,3,6,13,25,50]' badge-type: 'achievement' - ignore-usernames: '[RomainMuller,rix0rrr,MrArnoldPalmer,iliapolo,otaviomacedo,madeline-k,kaizencc,comcalvi,corymhall,peterwoodworth,ryparker,TheRealAmazonKendra,vinayak-kukreja,Naumel,mrgrain,pahud,cgarvis,kellertk,HBobertz,sumupitchayan,pattasai,SankyRed,udaypant,colifran,khushail,scanlonp,aws-cdk-automation,dependabot[bot],mergify[bot]]' + ignore-usernames: '[rix0rrr,MrArnoldPalmer,iliapolo,otaviomacedo,madeline-k,kaizencc,comcalvi,corymhall,peterwoodworth,TheRealAmazonKendra,vinayak-kukreja,mrgrain,pahud,cgarvis,kellertk,HBobertz,sumupitchayan,SankyRed,udaypant,colifran,khushail,scanlonp,aws-cdk-automation,dependabot[bot],mergify[bot]]' diff --git a/.mergify.yml b/.mergify.yml index fc39ba7395066..8338b3d6ea9db 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -11,7 +11,7 @@ pull_request_rules: label: add: [ contribution/core ] conditions: - - author~=^(RomainMuller|rix0rrr|MrArnoldPalmer|iliapolo|uttarasridhar|otaviomacedo|madeline-k|kaizencc|comcalvi|corymhall|peterwoodworth|ryparker|TheRealAmazonKendra|vinayak-kukreja|Naumel|mrgrain|pahud|cgarvis|kellertk|HBobertz|sumupitchayan|pattasai|SankyRed|udaypant|colifran|scanlonp)$ + - author~=^(rix0rrr|MrArnoldPalmer|iliapolo|otaviomacedo|madeline-k|kaizencc|comcalvi|corymhall|peterwoodworth|TheRealAmazonKendra|vinayak-kukreja|mrgrain|pahud|cgarvis|kellertk|HBobertz|sumupitchayan|SankyRed|udaypant|colifran|scanlonp)$ - -label~="contribution/core" - name: automatic merge actions: From 259a4694f1f398cabce5a910a7c4f1af927bfcf8 Mon Sep 17 00:00:00 2001 From: Mitchell Valine Date: Fri, 11 Aug 2023 10:59:00 -0700 Subject: [PATCH 03/12] fix(aws-cdk-lib): custom resources using Node16 and SDKv2 (#26710) Changes the IAM OIDC provider custom resource to use Node18 and SDKv3. Changes the restrict-default-security-group custom resource to use Node18 and sdkv3. Updates unit tests to use the mock client library for easier mocking. deployed integration test stacks for testing. Closes #26708 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- ...921e4f8acf18e996100e72a8f17da980e64fdd.zip | Bin 22 -> 0 bytes ...efaultTestDeployAssert1AF2B360.assets.json | 2 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 81 - .../aws-cdk-ec2-lt-metadata-1.assets.json | 12 +- .../aws-cdk-ec2-lt-metadata-1.template.json | 4 +- .../integ.launch-template.js.snapshot/cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 4 +- .../tree.json | 104 +- ...efaultTestDeployAssertDB3FDBEB.assets.json | 2 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 81 - .../aws-cdk-vpc-no-default-igw.assets.json | 12 +- .../aws-cdk-vpc-no-default-igw.template.json | 36 +- .../cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 4 +- .../tree.json | 36 +- .../index.js | 62 - .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 0 .../index.js | 1295 - .../cdk.out | 2 +- .../integ-restrict-default-sg.assets.json | 12 +- .../integ-restrict-default-sg.template.json | 110 +- .../integ.json | 3 +- ...efaultTestDeployAssert24D5C536.assets.json | 12 +- ...aultTestDeployAssert24D5C536.template.json | 29 +- .../manifest.json | 14 +- .../tree.json | 340 +- ...efaultTestDeployAssertAFB973D1.assets.json | 2 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 81 - .../cdk.out | 2 +- .../integ-deployment-alarms.assets.json | 12 +- .../integ-deployment-alarms.template.json | 140 +- .../integ.json | 2 +- .../manifest.json | 13 +- .../tree.json | 142 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 81 - ...cdk-ecs-integration-test-stack.assets.json | 12 +- ...k-ecs-integration-test-stack.template.json | 4 +- ...efaultTestDeployAssert906A0CF3.assets.json | 2 +- .../cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 4 +- .../tree.json | 6 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...09dd4a9c5d9750440fb835ab20fd6925e528c.zip} | Bin 1436742 -> 1437108 bytes .../external.js | 94 - ...ks-cluster-alb-controller-test.assets.json | 22 +- ...-cluster-alb-controller-test.template.json | 8 +- ...efaultTestDeployAssert78AE94CA.assets.json | 2 +- ...ourceProvider5DBBAFBB.nested.template.json | 2 +- .../integ.json | 4 +- .../manifest.json | 4 +- .../tree.json | 18 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...09dd4a9c5d9750440fb835ab20fd6925e528c.zip} | Bin 1436742 -> 1437108 bytes .../external.js | 94 - ...ws-cdk-eks-import-cluster-test.assets.json | 22 +- ...-cdk-eks-import-cluster-test.template.json | 8 +- ...efaultTestDeployAssert71CEFD92.assets.json | 2 +- ...ourceProvider7AA2A5F4.nested.template.json | 2 +- .../integ.json | 4 +- .../manifest.json | 4 +- .../tree.json | 18 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...09dd4a9c5d9750440fb835ab20fd6925e528c.zip} | Bin 1436742 -> 1437108 bytes .../external.js | 94 - .../aws-cdk-eks-cluster-ipv6-test.assets.json | 22 +- ...ws-cdk-eks-cluster-ipv6-test.template.json | 8 +- ...efaultTestDeployAssert2C014107.assets.json | 2 +- ...ourceProviderAC8DB286.nested.template.json | 2 +- .../integ.json | 4 +- .../manifest.json | 4 +- .../tree.json | 16 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...09dd4a9c5d9750440fb835ab20fd6925e528c.zip} | Bin 1436742 -> 1437108 bytes .../external.js | 94 - .../aws-cdk-eks-cluster-test.assets.json | 22 +- .../aws-cdk-eks-cluster-test.template.json | 8 +- ...efaultTestDeployAssertFBF4B356.assets.json | 2 +- ...ourceProvider5F388D1A.nested.template.json | 2 +- .../integ.eks-cluster.js.snapshot/integ.json | 4 +- .../manifest.json | 4 +- .../integ.eks-cluster.js.snapshot/tree.json | 16 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip | Bin 1436742 -> 0 bytes ...809dd4a9c5d9750440fb835ab20fd6925e528c.zip | Bin 0 -> 1437108 bytes .../external.js | 94 - ...cdk-eks-cluster-inference-test.assets.json | 22 +- ...k-eks-cluster-inference-test.template.json | 8 +- ...ourceProviderFE14F3C4.nested.template.json | 2 +- ...efaultTestDeployAssert715EC778.assets.json | 2 +- .../integ.json | 4 +- .../manifest.json | 4 +- .../integ.eks-inference.js.snapshot/tree.json | 16 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 .../external.js | 94 - .../aws-eks-oidc-provider-test.assets.json | 12 +- .../aws-eks-oidc-provider-test.template.json | 6 +- ...efaultTestDeployAssert0BFFC9B9.assets.json | 2 +- .../cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 4 +- .../tree.json | 4 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 0 ...9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip | Bin 1436742 -> 0 bytes ...809dd4a9c5d9750440fb835ab20fd6925e528c.zip | Bin 0 -> 1437108 bytes .../.dockerignore | 0 .../Dockerfile | 0 .../package-lock.json | 0 .../package.json | 2 +- .../sdk-call.js | 0 .../external.js | 94 - ...service-account-sdk-calls-test.assets.json | 28 +- ...rvice-account-sdk-calls-test.template.json | 10 +- ...efaultTestDeployAssertC5196707.assets.json | 2 +- ...ourceProvider7862DD6A.nested.template.json | 2 +- .../cdk.out | 2 +- .../integ.json | 4 +- .../manifest.json | 4 +- .../tree.json | 4 +- .../index.js | 523 +- ...efaultTestDeployAssert6F2623C9.assets.json | 10 +- ...aultTestDeployAssert6F2623C9.template.json | 4 +- .../integ.cognito.js.snapshot/manifest.json | 2 +- .../IntegAlbOidc.assets.json | 10 +- .../IntegAlbOidc.template.json | 4 +- ...efaultTestDeployAssert2476ECB6.assets.json | 10 +- ...aultTestDeployAssert2476ECB6.template.json | 4 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 523 +- .../index.js | 81 - .../integ.alb.oidc.js.snapshot/manifest.json | 4 +- ...efaultTestDeployAssert353EE07A.assets.json | 10 +- ...aultTestDeployAssert353EE07A.template.json | 22 +- .../index.js | 523 +- .../integ.log-group.js.snapshot/manifest.json | 14 +- .../integ.log-group.js.snapshot/tree.json | 30 +- .../__entrypoint__.js | 0 .../diff.js | 0 .../external.js | 94 + .../index.js | 4 +- .../__entrypoint__.js | 144 - .../external.js | 94 - .../integ.oidc-provider.js.snapshot/cdk.out | 2 +- .../integ.json | 3 +- ...efaultTestDeployAssert2D70E37E.assets.json | 2 +- .../manifest.json | 4 +- .../oidc-provider-integ-test.assets.json | 12 +- .../oidc-provider-integ-test.template.json | 10 +- .../integ.oidc-provider.js.snapshot/tree.json | 54 +- .../test/aws-iam/test/integ.oidc-provider.ts | 3 +- ...efaultTestDeployAssert7BC530B7.assets.json | 10 +- ...aultTestDeployAssert7BC530B7.template.json | 6 +- .../index.js | 31697 ++++++++++++++++ .../integ.lambda.js.snapshot/manifest.json | 2 +- .../__entrypoint__.js | 0 .../index.js | 81 + .../index.js | 81 - .../cdk.out | 2 +- ...eg-aurora-serverlessv2-cluster.assets.json | 12 +- ...-aurora-serverlessv2-cluster.template.json | 146 +- .../integ.json | 2 +- ...efaultTestDeployAssert24D5C536.assets.json | 2 +- .../manifest.json | 10 +- .../tree.json | 128 +- .../__entrypoint__.js | 147 + .../index.js | 81 + .../index.js | 81 - ...ds-integ-instance-create-grant.assets.json | 10 +- ...-integ-instance-create-grant.template.json | 4 +- .../manifest.json | 2 +- .../aws-cdk-customresources-vpc.assets.json | 4 +- .../aws-cdk-customresources-vpc.template.json | 2 +- .../manifest.json | 8 +- .../aws-cdk-sdk-js-v3.assets.json | 4 +- .../aws-cdk-sdk-js-v3.template.json | 10 +- .../aws-cdk-sdk-js.assets.json | 4 +- .../aws-cdk-sdk-js.template.json | 10 +- .../manifest.json | 64 +- .../index.ts | 20 +- packages/aws-cdk-lib/aws-ec2/lib/vpc.ts | 2 +- ...ict-default-security-group-handler.test.ts | 94 +- .../aws-cdk-lib/aws-iam/lib/oidc-provider.ts | 2 +- .../aws-iam/lib/oidc-provider/external.ts | 21 +- packages/aws-cdk-lib/package.json | 2 + yarn.lock | 44 + 219 files changed, 35400 insertions(+), 4553 deletions(-) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/.cache/ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip rename packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/{asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/{asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/{asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369 => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot => aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot}/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.bundle/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/{asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/{asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/{asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip => asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip} (80%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/{asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip => asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip} (80%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/{asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip => asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip} (80%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/{asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip => asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip} (80%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14 => asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b}/.dockerignore (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14 => asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b}/Dockerfile (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14 => asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b}/package-lock.json (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14 => asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b}/package.json (79%) rename packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/{asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14 => asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b}/sdk-call.js (100%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js rename packages/@aws-cdk-testing/framework-integ/test/{aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle => aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle}/index.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/{asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js rename packages/@aws-cdk-testing/framework-integ/test/{aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle => aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle}/index.js (99%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js rename packages/@aws-cdk-testing/framework-integ/test/{aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle => aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle}/index.js (99%) rename packages/@aws-cdk-testing/framework-integ/test/{aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/__entrypoint__.js (100%) rename packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/{asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/diff.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js rename packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/{asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3 => asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56}/index.js (51%) delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/__entrypoint__.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/external.js create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js rename packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/{integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd => integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837}/__entrypoint__.js (100%) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js delete mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/.cache/ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/.cache/ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip deleted file mode 100644 index 15cb0ecb3e219d1701294bfdf0fe3f5cb5d208e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 NcmWIWW@Tf*000g10H*)| diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/LambdaTestDefaultTestDeployAssert1AF2B360.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/LambdaTestDefaultTestDeployAssert1AF2B360.assets.json index 5e84c5907c2b7..c8ee1b9e03bcb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/LambdaTestDefaultTestDeployAssert1AF2B360.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/LambdaTestDefaultTestDeployAssert1AF2B360.assets.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.assets.json index aab012dc86078..42b49da545caa 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.assets.json @@ -1,20 +1,20 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "7151bb47e356bd29580b060ae0e46d6454585c5abca0d036f27da245eccd1fd9": { + "1ae39a5bf782fc50b1a9dcc2aa078545c762bcd67c8cff89259d19ace8e803ce": { "source": { "path": "aws-cdk-ec2-lt-metadata-1.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "7151bb47e356bd29580b060ae0e46d6454585c5abca0d036f27da245eccd1fd9.json", + "objectKey": "1ae39a5bf782fc50b1a9dcc2aa078545c762bcd67c8cff89259d19ace8e803ce.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.template.json index 7e277c0655b5e..29c926f09e2d9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/aws-cdk-ec2-lt-metadata-1.template.json @@ -113,7 +113,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -124,7 +124,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/cdk.out index 7925065efbcc4..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"31.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/integ.json index c0a61b5dc42ea..cee9c12b77ad3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "testCases": { "LambdaTest/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/manifest.json index 37f50038cfe12..ac7d70f7f7523 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-ec2-lt-metadata-1.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/7151bb47e356bd29580b060ae0e46d6454585c5abca0d036f27da245eccd1fd9.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1ae39a5bf782fc50b1a9dcc2aa078545c762bcd67c8cff89259d19ace8e803ce.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/tree.json index 4ce5f02eb8095..4253a062b80ac 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.launch-template.js.snapshot/tree.json @@ -31,8 +31,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "0.0.0" } }, "RestrictDefaultSecurityGroupCustomResource": { @@ -43,20 +43,20 @@ "id": "Default", "path": "aws-cdk-ec2-lt-metadata-1/MyVpc/RestrictDefaultSecurityGroupCustomResource/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "0.0.0" } }, "Custom::VpcRestrictDefaultSGCustomResourceProvider": { @@ -67,30 +67,30 @@ "id": "Staging", "path": "aws-cdk-ec2-lt-metadata-1/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "aws-cdk-ec2-lt-metadata-1/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "aws-cdk-ec2-lt-metadata-1/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CustomResourceProvider", + "version": "0.0.0" } }, "sg1": { @@ -117,14 +117,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "0.0.0" } }, "LT": { @@ -194,14 +194,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.CfnLaunchTemplate", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.LaunchTemplate", + "version": "0.0.0" } }, "sg2": { @@ -228,14 +228,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "0.0.0" } }, "LTWithMachineImage": { @@ -290,52 +290,52 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.CfnLaunchTemplate", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.aws_ec2.LaunchTemplate", + "version": "0.0.0" } }, "SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { "id": "SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter", "path": "aws-cdk-ec2-lt-metadata-1/SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118": { "id": "SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118", "path": "aws-cdk-ec2-lt-metadata-1/SsmParameterValue:--aws--service--ami-amazon-linux-latest--amzn2-ami-hvm-x86_64-gp2:C96584B6-F00A-464E-AD19-53AFF4B05118", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "BootstrapVersion": { "id": "BootstrapVersion", "path": "aws-cdk-ec2-lt-metadata-1/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "aws-cdk-ec2-lt-metadata-1/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } }, "LambdaTest": { @@ -351,7 +351,7 @@ "path": "LambdaTest/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "DeployAssert": { @@ -362,22 +362,22 @@ "id": "BootstrapVersion", "path": "LambdaTest/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "LambdaTest/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } } }, @@ -397,13 +397,13 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.2.26" + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" } } } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/VpcNoDefaultIgwDefaultTestDeployAssertDB3FDBEB.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/VpcNoDefaultIgwDefaultTestDeployAssertDB3FDBEB.assets.json index b6889c4e6c697..32ece01c3c58b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/VpcNoDefaultIgwDefaultTestDeployAssertDB3FDBEB.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/VpcNoDefaultIgwDefaultTestDeployAssertDB3FDBEB.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.assets.json index 3a7f4b4ecdc3b..fc367c5a8f1a9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.assets.json @@ -1,20 +1,20 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "2b0168fea675c106b8a4f9e2e05c38b1ed7c1a032ed9ba0a40438b4686f0647d": { + "b3138f01fdcf75ce1e6e12e87da35d90f8e0cad7dff7b17c3b150ac27786b65b": { "source": { "path": "aws-cdk-vpc-no-default-igw.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "2b0168fea675c106b8a4f9e2e05c38b1ed7c1a032ed9ba0a40438b4686f0647d.json", + "objectKey": "b3138f01fdcf75ce1e6e12e87da35d90f8e0cad7dff7b17c3b150ac27786b65b.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.template.json index 590b48899ad22..c8e965a031cb7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/aws-cdk-vpc-no-default-igw.template.json @@ -18,9 +18,6 @@ "MyVpcPublicSubnet1SubnetF6608456": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -44,21 +41,24 @@ "Key": "Name", "Value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "MyVpcPublicSubnet1RouteTableC46AB2F4": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "Tags": [ { "Key": "Name", "Value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "MyVpcPublicSubnet1RouteTableAssociation2ECEE1CB": { @@ -75,9 +75,6 @@ "MyVpcPublicSubnet2Subnet492B6BFB": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -101,21 +98,24 @@ "Key": "Name", "Value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "MyVpcPublicSubnet2RouteTable1DF17386": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "Tags": [ { "Key": "Name", "Value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "MyVpcPublicSubnet2RouteTableAssociation227DE78D": { @@ -227,7 +227,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -238,7 +238,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/integ.json index 2bb4d81bb1057..77c26f37785d4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "VpcNoDefaultIgw/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/manifest.json index 9ea1feb0f5fb5..2ff72e44c0caa 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-vpc-no-default-igw.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/2b0168fea675c106b8a4f9e2e05c38b1ed7c1a032ed9ba0a40438b4686f0647d.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b3138f01fdcf75ce1e6e12e87da35d90f8e0cad7dff7b17c3b150ac27786b65b.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/tree.json index ae5c3a8d11b01..df3b9ebe68df5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-no-default-igw.js.snapshot/tree.json @@ -45,9 +45,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -71,7 +68,10 @@ "key": "Name", "value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "constructInfo": { @@ -93,15 +93,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "tags": [ { "key": "Name", "value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "constructInfo": { @@ -144,9 +144,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -170,7 +167,10 @@ "key": "Name", "value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "constructInfo": { @@ -192,15 +192,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "MyVpcF9F0CA6F" - }, "tags": [ { "key": "Name", "value": "aws-cdk-vpc-no-default-igw/MyVpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "MyVpcF9F0CA6F" + } } }, "constructInfo": { @@ -326,7 +326,7 @@ "path": "VpcNoDefaultIgw/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -372,7 +372,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/index.js deleted file mode 100644 index e2c6467c1b216..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/index.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEIsU0FBUyxpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUN6RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDakIsT0FBTyxFQUFFLE9BQU87d0JBQ2hCLE1BQU0sRUFBRSxPQUFPO3FCQUNoQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRCxLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQzVELE1BQU0sR0FBRyxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZGLE1BQU0sR0FBRyxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUUsT0FBTztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBFQzIgfSBmcm9tICdhd3Mtc2RrJztcblxuY29uc3QgZWMyID0gbmV3IEVDMigpO1xuXG5mdW5jdGlvbiBpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3QgfCBFQzIuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NSZXF1ZXN0IHtcbiAgcmV0dXJuIHtcbiAgICBHcm91cElkOiBncm91cElkLFxuICAgIElwUGVybWlzc2lvbnM6IFt7XG4gICAgICBVc2VySWRHcm91cFBhaXJzOiBbe1xuICAgICAgICBHcm91cElkOiBncm91cElkLFxuICAgICAgICBVc2VySWQ6IGFjY291bnQsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3NSZXF1ZXN0IHwgRUMyLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NSZXF1ZXN0IHtcbiAgcmV0dXJuIHtcbiAgICBHcm91cElkOiBncm91cElkLFxuICAgIElwUGVybWlzc2lvbnM6IFt7XG4gICAgICBJcFJhbmdlczogW3tcbiAgICAgICAgQ2lkcklwOiAnMC4wLjAuMC8wJyxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgc2VjdXJpdHlHcm91cElkID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRlZmF1bHRTZWN1cml0eUdyb3VwSWQ7XG4gIGNvbnN0IGFjY291bnQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudDtcbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgJ0NyZWF0ZSc6XG4gICAgICByZXR1cm4gcmV2b2tlUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgICBjYXNlICdVcGRhdGUnOlxuICAgICAgcmV0dXJuIG9uVXBkYXRlKGV2ZW50KTtcbiAgICBjYXNlICdEZWxldGUnOlxuICAgICAgcmV0dXJuIGF1dGhvcml6ZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIG9uVXBkYXRlKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IG9sZFNnID0gZXZlbnQuT2xkUmVzb3VyY2VQcm9wZXJ0aWVzLkRlZmF1bHRTZWN1cml0eUdyb3VwSWQ7XG4gIGNvbnN0IG5ld1NnID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkRlZmF1bHRTZWN1cml0eUdyb3VwSWQ7XG4gIGlmIChvbGRTZyAhPT0gbmV3U2cpIHtcbiAgICBhd2FpdCBhdXRob3JpemVSdWxlcyhvbGRTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICAgIGF3YWl0IHJldm9rZVJ1bGVzKG5ld1NnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gIH1cbiAgcmV0dXJuO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZXZva2VSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEVncmVzcyhlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQpKS5wcm9taXNlKCk7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEVncmVzcyhlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQpKS5wcm9taXNlKCk7XG4gIHJldHVybjtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.bundle/index.js deleted file mode 100644 index a54f75c9c3747..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/asset.ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.bundle/index.js +++ /dev/null @@ -1,1295 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// ../../aws-cdk-lib/assertions/lib/matcher.ts -var matcher_exports = {}; -__export(matcher_exports, { - MatchResult: () => MatchResult, - Matcher: () => Matcher -}); -function* range(n) { - for (let i = 0; i < n; i++) { - yield i; - } -} -function* enumFirst(xs) { - let first = true; - for (const x of xs) { - yield [first, x]; - first = false; - } -} -var Matcher, MatchResult; -var init_matcher = __esm({ - "../../aws-cdk-lib/assertions/lib/matcher.ts"() { - "use strict"; - Matcher = class { - /** - * Check whether the provided object is a subtype of the `IMatcher`. - */ - static isMatcher(x) { - return x && x instanceof Matcher; - } - }; - MatchResult = class { - constructor(target) { - this.failuresHere = /* @__PURE__ */ new Map(); - this.captures = /* @__PURE__ */ new Map(); - this.finalized = false; - this.innerMatchFailures = /* @__PURE__ */ new Map(); - this._hasFailed = false; - this._failCount = 0; - this._cost = 0; - this.target = target; - } - /** - * DEPRECATED - * @deprecated use recordFailure() - */ - push(matcher, path, message) { - return this.recordFailure({ matcher, path, message }); - } - /** - * Record a new failure into this result at a specific path. - */ - recordFailure(failure) { - const failKey = failure.path.join("."); - let list = this.failuresHere.get(failKey); - if (!list) { - list = []; - this.failuresHere.set(failKey, list); - } - this._failCount += 1; - this._cost += failure.cost ?? 1; - list.push(failure); - this._hasFailed = true; - return this; - } - /** Whether the match is a success */ - get isSuccess() { - return !this._hasFailed; - } - /** Does the result contain any failures. If not, the result is a success */ - hasFailed() { - return this._hasFailed; - } - /** The number of failures */ - get failCount() { - return this._failCount; - } - /** The cost of the failures so far */ - get failCost() { - return this._cost; - } - /** - * Compose the results of a previous match as a subtree. - * @param id the id of the parent tree. - */ - compose(id, inner) { - if (inner.hasFailed()) { - this._hasFailed = true; - this._failCount += inner.failCount; - this._cost += inner._cost; - this.innerMatchFailures.set(id, inner); - } - inner.captures.forEach((vals, capture) => { - vals.forEach((value) => this.recordCapture({ capture, value })); - }); - return this; - } - /** - * Prepare the result to be analyzed. - * This API *must* be called prior to analyzing these results. - */ - finished() { - if (this.finalized) { - return this; - } - if (this.failCount === 0) { - this.captures.forEach((vals, cap) => cap._captured.push(...vals)); - } - this.finalized = true; - return this; - } - /** - * Render the failed match in a presentable way - * - * Prefer using `renderMismatch` over this method. It is left for backwards - * compatibility for test suites that expect it, but `renderMismatch()` will - * produce better output. - */ - toHumanStrings() { - const failures = new Array(); - debugger; - recurse(this, []); - return failures.map((r) => { - const loc = r.path.length === 0 ? "" : ` at /${r.path.join("/")}`; - return "" + r.message + loc + ` (using ${r.matcher.name} matcher)`; - }); - function recurse(x, prefix) { - for (const fail of Array.from(x.failuresHere.values()).flat()) { - failures.push({ - matcher: fail.matcher, - message: fail.message, - path: [...prefix, ...fail.path] - }); - } - for (const [key, inner] of x.innerMatchFailures.entries()) { - recurse(inner, [...prefix, key]); - } - } - } - /** - * Do a deep render of the match result, showing the structure mismatches in context - */ - renderMismatch() { - if (!this.hasFailed()) { - return ""; - } - const parts = new Array(); - const indents = new Array(); - emitFailures(this, ""); - recurse(this); - return moveMarkersToFront(parts.join("").trimEnd()); - function emit(x) { - if (x === void 0) { - debugger; - } - parts.push(x.replace(/\n/g, ` -${indents.join("")}`)); - } - function emitFailures(r, path, scrapSet) { - for (const fail of r.failuresHere.get(path) ?? []) { - emit(`!! ${fail.message} -`); - } - scrapSet == null ? void 0 : scrapSet.delete(path); - } - function recurse(r) { - const remainingFailures = new Set(Array.from(r.failuresHere.keys()).filter((x) => x !== "")); - if (Array.isArray(r.target)) { - indents.push(" "); - emit("[\n"); - for (const [first, i] of enumFirst(range(r.target.length))) { - if (!first) { - emit(",\n"); - } - emitFailures(r, `${i}`, remainingFailures); - const innerMatcher = r.innerMatchFailures.get(`${i}`); - if (innerMatcher) { - emitFailures(innerMatcher, ""); - recurseComparingValues(innerMatcher, r.target[i]); - } else { - emit(renderAbridged(r.target[i])); - } - } - emitRemaining(); - indents.pop(); - emit("\n]"); - return; - } - if (r.target && typeof r.target === "object") { - indents.push(" "); - emit("{\n"); - const keys = Array.from(/* @__PURE__ */ new Set([ - ...Object.keys(r.target), - ...Array.from(remainingFailures) - ])).sort(); - for (const [first, key] of enumFirst(keys)) { - if (!first) { - emit(",\n"); - } - emitFailures(r, key, remainingFailures); - const innerMatcher = r.innerMatchFailures.get(key); - if (innerMatcher) { - emitFailures(innerMatcher, ""); - emit(`${jsonify(key)}: `); - recurseComparingValues(innerMatcher, r.target[key]); - } else { - emit(`${jsonify(key)}: `); - emit(renderAbridged(r.target[key])); - } - } - emitRemaining(); - indents.pop(); - emit("\n}"); - return; - } - emitRemaining(); - emit(jsonify(r.target)); - function emitRemaining() { - if (remainingFailures.size > 0) { - emit("\n"); - } - for (const key of remainingFailures) { - emitFailures(r, key); - } - } - } - function recurseComparingValues(inner, actualValue) { - if (inner.target === actualValue) { - return recurse(inner); - } - emit(renderAbridged(actualValue)); - emit(" <*> "); - recurse(inner); - } - function renderAbridged(x) { - if (Array.isArray(x)) { - switch (x.length) { - case 0: - return "[]"; - case 1: - return `[ ${renderAbridged(x[0])} ]`; - case 2: - if (x.every((e) => ["number", "boolean", "string"].includes(typeof e))) { - return `[ ${x.map(renderAbridged).join(", ")} ]`; - } - return "[ ... ]"; - default: - return "[ ... ]"; - } - } - if (x && typeof x === "object") { - const keys = Object.keys(x); - switch (keys.length) { - case 0: - return "{}"; - case 1: - return `{ ${JSON.stringify(keys[0])}: ${renderAbridged(x[keys[0]])} }`; - default: - return "{ ... }"; - } - } - return jsonify(x); - } - function jsonify(x) { - return JSON.stringify(x) ?? "undefined"; - } - function moveMarkersToFront(x) { - const re = /^(\s+)!!/gm; - return x.replace(re, (_, spaces) => `!!${spaces.substring(0, spaces.length - 2)}`); - } - } - /** - * Record a capture against in this match result. - */ - recordCapture(options) { - let values = this.captures.get(options.capture); - if (values === void 0) { - values = []; - } - values.push(options.value); - this.captures.set(options.capture, values); - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts -var AbsentMatch; -var init_absent = __esm({ - "../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts"() { - "use strict"; - init_matcher(); - AbsentMatch = class extends Matcher { - constructor(name) { - super(); - this.name = name; - } - test(actual) { - const result = new MatchResult(actual); - if (actual !== void 0) { - result.recordFailure({ - matcher: this, - path: [], - message: `Received ${actual}, but key should be absent` - }); - } - return result; - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/sorting.ts -function sortKeyComparator(keyFn) { - return (a, b) => { - const ak = keyFn(a); - const bk = keyFn(b); - for (let i = 0; i < ak.length && i < bk.length; i++) { - const av = ak[i]; - const bv = bk[i]; - let diff = 0; - if (typeof av === "number" && typeof bv === "number") { - diff = av - bv; - } else if (typeof av === "string" && typeof bv === "string") { - diff = av.localeCompare(bv); - } - if (diff !== 0) { - return diff; - } - } - return bk.length - ak.length; - }; -} -var init_sorting = __esm({ - "../../aws-cdk-lib/assertions/lib/private/sorting.ts"() { - "use strict"; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts -var SparseMatrix; -var init_sparse_matrix = __esm({ - "../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts"() { - "use strict"; - SparseMatrix = class { - constructor() { - this.matrix = /* @__PURE__ */ new Map(); - } - get(row, col) { - var _a; - return (_a = this.matrix.get(row)) == null ? void 0 : _a.get(col); - } - row(row) { - var _a; - return Array.from(((_a = this.matrix.get(row)) == null ? void 0 : _a.entries()) ?? []); - } - set(row, col, value) { - let r = this.matrix.get(row); - if (!r) { - r = /* @__PURE__ */ new Map(); - this.matrix.set(row, r); - } - r.set(col, value); - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/private/type.ts -function getType(obj) { - return Array.isArray(obj) ? "array" : typeof obj; -} -var init_type = __esm({ - "../../aws-cdk-lib/assertions/lib/private/type.ts"() { - "use strict"; - } -}); - -// ../../aws-cdk-lib/assertions/lib/match.ts -var match_exports = {}; -__export(match_exports, { - Match: () => Match -}); -var Match, LiteralMatch, ArrayMatch, ObjectMatch, SerializedJson, NotMatch, AnyMatch, StringLikeRegexpMatch; -var init_match = __esm({ - "../../aws-cdk-lib/assertions/lib/match.ts"() { - "use strict"; - init_matcher(); - init_absent(); - init_sorting(); - init_sparse_matrix(); - init_type(); - Match = class { - /** - * Use this matcher in the place of a field's value, if the field must not be present. - */ - static absent() { - return new AbsentMatch("absent"); - } - /** - * Matches the specified pattern with the array found in the same relative path of the target. - * The set of elements (or matchers) must be in the same order as would be found. - * @param pattern the pattern to match - */ - static arrayWith(pattern) { - return new ArrayMatch("arrayWith", pattern); - } - /** - * Matches the specified pattern with the array found in the same relative path of the target. - * The set of elements (or matchers) must match exactly and in order. - * @param pattern the pattern to match - */ - static arrayEquals(pattern) { - return new ArrayMatch("arrayEquals", pattern, { subsequence: false }); - } - /** - * Deep exact matching of the specified pattern to the target. - * @param pattern the pattern to match - */ - static exact(pattern) { - return new LiteralMatch("exact", pattern, { partialObjects: false }); - } - /** - * Matches the specified pattern to an object found in the same relative path of the target. - * The keys and their values (or matchers) must be present in the target but the target can be a superset. - * @param pattern the pattern to match - */ - static objectLike(pattern) { - return new ObjectMatch("objectLike", pattern); - } - /** - * Matches the specified pattern to an object found in the same relative path of the target. - * The keys and their values (or matchers) must match exactly with the target. - * @param pattern the pattern to match - */ - static objectEquals(pattern) { - return new ObjectMatch("objectEquals", pattern, { partial: false }); - } - /** - * Matches any target which does NOT follow the specified pattern. - * @param pattern the pattern to NOT match - */ - static not(pattern) { - return new NotMatch("not", pattern); - } - /** - * Matches any string-encoded JSON and applies the specified pattern after parsing it. - * @param pattern the pattern to match after parsing the encoded JSON. - */ - static serializedJson(pattern) { - return new SerializedJson("serializedJson", pattern); - } - /** - * Matches any non-null value at the target. - */ - static anyValue() { - return new AnyMatch("anyValue"); - } - /** - * Matches targets according to a regular expression - */ - static stringLikeRegexp(pattern) { - return new StringLikeRegexpMatch("stringLikeRegexp", pattern); - } - }; - LiteralMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.partialObjects = options.partialObjects ?? false; - if (Matcher.isMatcher(this.pattern)) { - throw new Error("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); - } - } - test(actual) { - if (Array.isArray(this.pattern)) { - return new ArrayMatch(this.name, this.pattern, { subsequence: false, partialObjects: this.partialObjects }).test(actual); - } - if (typeof this.pattern === "object") { - return new ObjectMatch(this.name, this.pattern, { partial: this.partialObjects }).test(actual); - } - const result = new MatchResult(actual); - if (typeof this.pattern !== typeof actual) { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected type ${typeof this.pattern} but received ${getType(actual)}` - }); - return result; - } - if (actual !== this.pattern) { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected ${this.pattern} but received ${actual}` - }); - } - return result; - } - }; - ArrayMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.subsequence = options.subsequence ?? true; - this.partialObjects = options.partialObjects ?? false; - } - test(actual) { - if (!Array.isArray(actual)) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected type array but received ${getType(actual)}` - }); - } - return this.subsequence ? this.testSubsequence(actual) : this.testFullArray(actual); - } - testFullArray(actual) { - const result = new MatchResult(actual); - let i = 0; - for (; i < this.pattern.length && i < actual.length; i++) { - const patternElement = this.pattern[i]; - const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); - const innerResult = matcher.test(actual[i]); - result.compose(`${i}`, innerResult); - } - if (i < this.pattern.length) { - result.recordFailure({ - matcher: this, - message: `Not enough elements in array (expecting ${this.pattern.length}, got ${actual.length})`, - path: [`${i}`] - }); - } - if (i < actual.length) { - result.recordFailure({ - matcher: this, - message: `Too many elements in array (expecting ${this.pattern.length}, got ${actual.length})`, - path: [`${i}`] - }); - } - return result; - } - testSubsequence(actual) { - const result = new MatchResult(actual); - let patternIdx = 0; - let actualIdx = 0; - const matches = new SparseMatrix(); - while (patternIdx < this.pattern.length && actualIdx < actual.length) { - const patternElement = this.pattern[patternIdx]; - const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); - const matcherName = matcher.name; - if (matcherName == "absent" || matcherName == "anyValue") { - throw new Error(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); - } - const innerResult = matcher.test(actual[actualIdx]); - matches.set(patternIdx, actualIdx, innerResult); - actualIdx++; - if (innerResult.isSuccess) { - result.compose(`${actualIdx}`, innerResult); - patternIdx++; - } - } - if (patternIdx < this.pattern.length) { - for (let spi = 0; spi < patternIdx; spi++) { - const foundMatch = matches.row(spi).find(([, r]) => r.isSuccess); - if (!foundMatch) { - continue; - } - const [index] = foundMatch; - result.compose(`${index}`, new MatchResult(actual[index]).recordFailure({ - matcher: this, - message: `arrayWith pattern ${spi} matched here`, - path: [], - cost: 0 - // This is an informational message so it would be unfair to assign it cost - })); - } - const failedMatches = matches.row(patternIdx); - failedMatches.sort(sortKeyComparator(([i, r]) => [r.failCost, i])); - if (failedMatches.length > 0) { - const [index, innerResult] = failedMatches[0]; - result.recordFailure({ - matcher: this, - message: `Could not match arrayWith pattern ${patternIdx}. This is the closest match`, - path: [`${index}`], - cost: 0 - // Informational message - }); - result.compose(`${index}`, innerResult); - } else { - result.recordFailure({ - matcher: this, - message: `Could not match arrayWith pattern ${patternIdx}. No more elements to try`, - path: [`${actual.length}`] - }); - } - } - return result; - } - }; - ObjectMatch = class extends Matcher { - constructor(name, pattern, options = {}) { - super(); - this.name = name; - this.pattern = pattern; - this.partial = options.partial ?? true; - } - test(actual) { - if (typeof actual !== "object" || Array.isArray(actual)) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected type object but received ${getType(actual)}` - }); - } - const result = new MatchResult(actual); - if (!this.partial) { - for (const a of Object.keys(actual)) { - if (!(a in this.pattern)) { - result.recordFailure({ - matcher: this, - path: [a], - message: `Unexpected key ${a}` - }); - } - } - } - for (const [patternKey, patternVal] of Object.entries(this.pattern)) { - if (!(patternKey in actual) && !(patternVal instanceof AbsentMatch)) { - result.recordFailure({ - matcher: this, - path: [patternKey], - message: `Missing key '${patternKey}'` - }); - continue; - } - const matcher = Matcher.isMatcher(patternVal) ? patternVal : new LiteralMatch(this.name, patternVal, { partialObjects: this.partial }); - const inner = matcher.test(actual[patternKey]); - result.compose(patternKey, inner); - } - return result; - } - }; - SerializedJson = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - if (getType(actual) !== "string") { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Expected JSON as a string but found ${getType(actual)}` - }); - } - let parsed; - try { - parsed = JSON.parse(actual); - } catch (err) { - if (err instanceof SyntaxError) { - return new MatchResult(actual).recordFailure({ - matcher: this, - path: [], - message: `Invalid JSON string: ${actual}` - }); - } else { - throw err; - } - } - const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); - const innerResult = matcher.test(parsed); - if (innerResult.hasFailed()) { - innerResult.recordFailure({ - matcher: this, - path: [], - message: "Encoded JSON value does not match" - }); - } - return innerResult; - } - }; - NotMatch = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); - const innerResult = matcher.test(actual); - const result = new MatchResult(actual); - if (innerResult.failCount === 0) { - result.recordFailure({ - matcher: this, - path: [], - message: `Found unexpected match: ${JSON.stringify(actual, void 0, 2)}` - }); - } - return result; - } - }; - AnyMatch = class extends Matcher { - constructor(name) { - super(); - this.name = name; - } - test(actual) { - const result = new MatchResult(actual); - if (actual == null) { - result.recordFailure({ - matcher: this, - path: [], - message: "Expected a value but found none" - }); - } - return result; - } - }; - StringLikeRegexpMatch = class extends Matcher { - constructor(name, pattern) { - super(); - this.name = name; - this.pattern = pattern; - } - test(actual) { - const result = new MatchResult(actual); - const regex = new RegExp(this.pattern, "gm"); - if (typeof actual !== "string") { - result.recordFailure({ - matcher: this, - path: [], - message: `Expected a string, but got '${typeof actual}'` - }); - } - if (!regex.test(actual)) { - result.recordFailure({ - matcher: this, - path: [], - message: `String '${actual}' did not match pattern '${this.pattern}'` - }); - } - return result; - } - }; - } -}); - -// ../../aws-cdk-lib/assertions/lib/helpers-internal/index.js -var require_helpers_internal = __commonJS({ - "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __exportStar = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding(exports2, m, p); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar((init_match(), __toCommonJS(match_exports)), exports); - __exportStar((init_matcher(), __toCommonJS(matcher_exports)), exports); - } -}); - -// lib/assertions/providers/lambda-handler/index.ts -var lambda_handler_exports = {}; -__export(lambda_handler_exports, { - handler: () => handler, - isComplete: () => isComplete, - onTimeout: () => onTimeout -}); -module.exports = __toCommonJS(lambda_handler_exports); - -// lib/assertions/providers/lambda-handler/assertion.ts -var import_helpers_internal = __toESM(require_helpers_internal()); - -// lib/assertions/providers/lambda-handler/base.ts -var https = __toESM(require("https")); -var url = __toESM(require("url")); -var AWS = __toESM(require("aws-sdk")); -var CustomResourceHandler = class { - constructor(event, context) { - this.event = event; - this.context = context; - this.timedOut = false; - this.timeout = setTimeout(async () => { - await this.respond({ - status: "FAILED", - reason: "Lambda Function Timeout", - data: this.context.logStreamName - }); - this.timedOut = true; - }, context.getRemainingTimeInMillis() - 1200); - this.event = event; - this.physicalResourceId = extractPhysicalResourceId(event); - } - /** - * Handles executing the custom resource event. If `stateMachineArn` is present - * in the props then trigger the waiter statemachine - */ - async handle() { - try { - if ("stateMachineArn" in this.event.ResourceProperties) { - const req = { - stateMachineArn: this.event.ResourceProperties.stateMachineArn, - name: this.event.RequestId, - input: JSON.stringify(this.event) - }; - await this.startExecution(req); - return; - } else { - const response = await this.processEvent(this.event.ResourceProperties); - return response; - } - } catch (e) { - console.log(e); - throw e; - } finally { - clearTimeout(this.timeout); - } - } - /** - * Handle async requests from the waiter state machine - */ - async handleIsComplete() { - try { - const result = await this.processEvent(this.event.ResourceProperties); - return result; - } catch (e) { - console.log(e); - return; - } finally { - clearTimeout(this.timeout); - } - } - /** - * Start a step function state machine which will wait for the request - * to be successful. - */ - async startExecution(req) { - try { - const sfn = new AWS.StepFunctions(); - await sfn.startExecution(req).promise(); - } finally { - clearTimeout(this.timeout); - } - } - respond(response) { - if (this.timedOut) { - return; - } - const cfResponse = { - Status: response.status, - Reason: response.reason, - PhysicalResourceId: this.physicalResourceId, - StackId: this.event.StackId, - RequestId: this.event.RequestId, - LogicalResourceId: this.event.LogicalResourceId, - NoEcho: false, - Data: response.data - }; - const responseBody = JSON.stringify(cfResponse); - console.log("Responding to CloudFormation", responseBody); - const parsedUrl = url.parse(this.event.ResponseURL); - const requestOptions = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": Buffer.byteLength(responseBody, "utf8") - } - }; - return new Promise((resolve, reject) => { - try { - const request2 = https.request(requestOptions, resolve); - request2.on("error", reject); - request2.write(responseBody); - request2.end(); - } catch (e) { - reject(e); - } finally { - clearTimeout(this.timeout); - } - }); - } -}; -function extractPhysicalResourceId(event) { - switch (event.RequestType) { - case "Create": - return event.LogicalResourceId; - case "Update": - case "Delete": - return event.PhysicalResourceId; - } -} - -// lib/assertions/providers/lambda-handler/assertion.ts -var AssertionHandler = class extends CustomResourceHandler { - async processEvent(request2) { - let actual = decodeCall(request2.actual); - const expected = decodeCall(request2.expected); - let result; - const matcher = new MatchCreator(expected).getMatcher(); - console.log(`Testing equality between ${JSON.stringify(request2.actual)} and ${JSON.stringify(request2.expected)}`); - const matchResult = matcher.test(actual); - matchResult.finished(); - if (matchResult.hasFailed()) { - result = { - failed: true, - assertion: JSON.stringify({ - status: "fail", - message: matchResult.renderMismatch() - }) - }; - if (request2.failDeployment) { - throw new Error(result.assertion); - } - } else { - result = { - assertion: JSON.stringify({ - status: "success" - }) - }; - } - return result; - } -}; -var MatchCreator = class { - constructor(obj) { - this.parsedObj = { - matcher: obj - }; - } - /** - * Return a Matcher that can be tested against the actual results. - * This will convert the encoded matchers into their corresponding - * assertions matcher. - * - * For example: - * - * ExpectedResult.objectLike({ - * Messages: [{ - * Body: Match.objectLike({ - * Elements: Match.arrayWith([{ Asdf: 3 }]), - * Payload: Match.serializedJson({ key: 'value' }), - * }), - * }], - * }); - * - * Will be encoded as: - * { - * $ObjectLike: { - * Messages: [{ - * Body: { - * $ObjectLike: { - * Elements: { - * $ArrayWith: [{ Asdf: 3 }], - * }, - * Payload: { - * $SerializedJson: { key: 'value' } - * } - * }, - * }, - * }], - * }, - * } - * - * Which can then be parsed by this function. For each key (recursively) - * the parser will check if the value has one of the encoded matchers as a key - * and if so, it will set the value as the Matcher. So, - * - * { - * Body: { - * $ObjectLike: { - * Elements: { - * $ArrayWith: [{ Asdf: 3 }], - * }, - * Payload: { - * $SerializedJson: { key: 'value' } - * } - * }, - * }, - * } - * - * Will be converted to - * { - * Body: Match.objectLike({ - * Elements: Match.arrayWith([{ Asdf: 3 }]), - * Payload: Match.serializedJson({ key: 'value' }), - * }), - * } - */ - getMatcher() { - try { - const final = JSON.parse(JSON.stringify(this.parsedObj), function(_k, v) { - const nested = Object.keys(v)[0]; - switch (nested) { - case "$ArrayWith": - return import_helpers_internal.Match.arrayWith(v[nested]); - case "$ObjectLike": - return import_helpers_internal.Match.objectLike(v[nested]); - case "$StringLike": - return import_helpers_internal.Match.stringLikeRegexp(v[nested]); - case "$SerializedJson": - return import_helpers_internal.Match.serializedJson(v[nested]); - default: - return v; - } - }); - if (import_helpers_internal.Matcher.isMatcher(final.matcher)) { - return final.matcher; - } - return import_helpers_internal.Match.exact(final.matcher); - } catch { - return import_helpers_internal.Match.exact(this.parsedObj.matcher); - } - } -}; -function decodeCall(call) { - if (!call) { - return void 0; - } - try { - const parsed = JSON.parse(call); - return parsed; - } catch { - return call; - } -} - -// lib/assertions/providers/lambda-handler/utils.ts -function decode(object) { - return JSON.parse(JSON.stringify(object), (_k, v) => { - switch (v) { - case "TRUE:BOOLEAN": - return true; - case "FALSE:BOOLEAN": - return false; - default: - return v; - } - }); -} - -// lib/assertions/providers/lambda-handler/sdk.ts -function flatten(object) { - return Object.assign( - {}, - ...function _flatten(child, path = []) { - return [].concat(...Object.keys(child).map((key) => { - let childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; - if (typeof childKey === "string") { - childKey = isJsonString(childKey); - } - return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; - })); - }(object) - ); -} -var AwsApiCallHandler = class extends CustomResourceHandler { - async processEvent(request2) { - const AWS2 = require("aws-sdk"); - console.log(`AWS SDK VERSION: ${AWS2.VERSION}`); - if (!Object.prototype.hasOwnProperty.call(AWS2, request2.service)) { - throw Error(`Service ${request2.service} does not exist in AWS SDK version ${AWS2.VERSION}.`); - } - const service = new AWS2[request2.service](); - const response = await service[request2.api](request2.parameters && decode(request2.parameters)).promise(); - console.log(`SDK response received ${JSON.stringify(response)}`); - delete response.ResponseMetadata; - const respond = { - apiCallResponse: response - }; - const flatData = { - ...flatten(respond) - }; - let resp = respond; - if (request2.outputPaths) { - resp = filterKeys(flatData, request2.outputPaths); - } else if (request2.flattenResponse === "true") { - resp = flatData; - } - console.log(`Returning result ${JSON.stringify(resp)}`); - return resp; - } -}; -function filterKeys(object, searchStrings) { - return Object.entries(object).reduce((filteredObject, [key, value]) => { - for (const searchString of searchStrings) { - if (key.startsWith(`apiCallResponse.${searchString}`)) { - filteredObject[key] = value; - } - } - return filteredObject; - }, {}); -} -function isJsonString(value) { - try { - return JSON.parse(value); - } catch { - return value; - } -} - -// lib/assertions/providers/lambda-handler/types.ts -var ASSERT_RESOURCE_TYPE = "Custom::DeployAssert@AssertEquals"; -var SDK_RESOURCE_TYPE_PREFIX = "Custom::DeployAssert@SdkCall"; - -// lib/assertions/providers/lambda-handler/index.ts -async function handler(event, context) { - console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); - const provider = createResourceHandler(event, context); - try { - if (event.RequestType === "Delete") { - await provider.respond({ - status: "SUCCESS", - reason: "OK" - }); - return; - } - const result = await provider.handle(); - if ("stateMachineArn" in event.ResourceProperties) { - console.info('Found "stateMachineArn", waiter statemachine started'); - return; - } else if ("expected" in event.ResourceProperties) { - console.info('Found "expected", testing assertions'); - const actualPath = event.ResourceProperties.actualPath; - const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; - const assertion = new AssertionHandler({ - ...event, - ResourceProperties: { - ServiceToken: event.ServiceToken, - actual, - expected: event.ResourceProperties.expected - } - }, context); - try { - const assertionResult = await assertion.handle(); - await provider.respond({ - status: "SUCCESS", - reason: "OK", - // return both the result of the API call _and_ the assertion results - data: { - ...assertionResult, - ...result - } - }); - return; - } catch (e) { - await provider.respond({ - status: "FAILED", - reason: e.message ?? "Internal Error" - }); - return; - } - } - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: result - }); - } catch (e) { - await provider.respond({ - status: "FAILED", - reason: e.message ?? "Internal Error" - }); - return; - } - return; -} -async function onTimeout(timeoutEvent) { - const isCompleteRequest = JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage); - const provider = createResourceHandler(isCompleteRequest, standardContext); - await provider.respond({ - status: "FAILED", - reason: "Operation timed out: " + JSON.stringify(isCompleteRequest) - }); -} -async function isComplete(event, context) { - console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); - const provider = createResourceHandler(event, context); - try { - const result = await provider.handleIsComplete(); - const actualPath = event.ResourceProperties.actualPath; - if (result) { - const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; - if ("expected" in event.ResourceProperties) { - const assertion = new AssertionHandler({ - ...event, - ResourceProperties: { - ServiceToken: event.ServiceToken, - actual, - expected: event.ResourceProperties.expected - } - }, context); - const assertionResult = await assertion.handleIsComplete(); - if (!(assertionResult == null ? void 0 : assertionResult.failed)) { - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: { - ...assertionResult, - ...result - } - }); - return; - } else { - console.log(`Assertion Failed: ${JSON.stringify(assertionResult)}`); - throw new Error(JSON.stringify(event)); - } - } - await provider.respond({ - status: "SUCCESS", - reason: "OK", - data: result - }); - } else { - console.log("No result"); - throw new Error(JSON.stringify(event)); - } - return; - } catch (e) { - console.log(e); - throw new Error(JSON.stringify(event)); - } -} -function createResourceHandler(event, context) { - if (event.ResourceType.startsWith(SDK_RESOURCE_TYPE_PREFIX)) { - return new AwsApiCallHandler(event, context); - } else if (event.ResourceType.startsWith(ASSERT_RESOURCE_TYPE)) { - return new AssertionHandler(event, context); - } else { - throw new Error(`Unsupported resource type "${event.ResourceType}`); - } -} -var standardContext = { - getRemainingTimeInMillis: () => 9e4 -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - handler, - isComplete, - onTimeout -}); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/cdk.out index 7925065efbcc4..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"31.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.assets.json index dc6bd33faa77b..11856a4b31ab7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.assets.json @@ -1,20 +1,20 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { - "0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "c4e2e23f3513a576f1af889df4148ac4964fe3b24583567172891db1ab8878a4": { + "1fdd27f8d731f0a4ea0b6db9304733f5a60c89f0226535330dc29d4a529d8686": { "source": { "path": "integ-restrict-default-sg.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "c4e2e23f3513a576f1af889df4148ac4964fe3b24583567172891db1ab8878a4.json", + "objectKey": "1fdd27f8d731f0a4ea0b6db9304733f5a60c89f0226535330dc29d4a529d8686.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.template.json index d2df5a4a53680..9a7153449b89f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ-restrict-default-sg.template.json @@ -18,9 +18,6 @@ "VpcPublicSubnet1Subnet5C2D37C4": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -44,21 +41,24 @@ "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet1RouteTable6C95E38E": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet1RouteTableAssociation97140677": { @@ -75,12 +75,12 @@ "VpcPublicSubnet1DefaultRoute3DA9E72A": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPublicSubnet1RouteTable6C95E38E" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" } }, "DependsOn": [ @@ -102,15 +102,15 @@ "VpcPublicSubnet1NATGateway4D7517AA": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "VpcPublicSubnet1Subnet5C2D37C4" - }, "AllocationId": { "Fn::GetAtt": [ "VpcPublicSubnet1EIPD7E02669", "AllocationId" ] }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, "Tags": [ { "Key": "Name", @@ -126,9 +126,6 @@ "VpcPublicSubnet2Subnet691E08A3": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -152,21 +149,24 @@ "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet2RouteTable94F7E489": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": { @@ -183,12 +183,12 @@ "VpcPublicSubnet2DefaultRoute97F91067": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPublicSubnet2RouteTable94F7E489" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" } }, "DependsOn": [ @@ -210,15 +210,15 @@ "VpcPublicSubnet2NATGateway9182C01D": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "VpcPublicSubnet2Subnet691E08A3" - }, "AllocationId": { "Fn::GetAtt": [ "VpcPublicSubnet2EIP3C605A87", "AllocationId" ] }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, "Tags": [ { "Key": "Name", @@ -234,9 +234,6 @@ "VpcPrivateSubnet1Subnet536B997A": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -260,21 +257,24 @@ "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet1RouteTableB2C5B500": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { @@ -291,21 +291,18 @@ "VpcPrivateSubnet1DefaultRouteBE02A9ED": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" } } }, "VpcPrivateSubnet2Subnet3788AAA1": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -329,21 +326,24 @@ "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet2RouteTableA678073B": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-restrict-default-sg/Vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { @@ -360,12 +360,12 @@ "VpcPrivateSubnet2DefaultRoute060D2087": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPrivateSubnet2RouteTableA678073B" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" } } }, @@ -383,11 +383,11 @@ "VpcVPCGWBF912B6E": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "InternetGatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "VpcId": { + "Ref": "Vpc8378EB38" } } }, @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "0972379df24ff5a5a118bd1627e90a1667419ec5c4e72a9869842209a8418369.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ.json index a8d4abe5e46e3..dd8776693b7fb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integ.json @@ -1,10 +1,11 @@ { - "version": "31.0.0", + "version": "33.0.0", "testCases": { "integ-test/DefaultTest": { "stacks": [ "integ-restrict-default-sg" ], + "diffAssets": true, "assertionStack": "integ-test/DefaultTest/DeployAssert", "assertionStackName": "integtestDefaultTestDeployAssert24D5C536" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json index c224568ccd3d9..c80bfed78aec9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json @@ -1,20 +1,20 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { - "ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3": { + "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { "source": { - "path": "asset.ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.bundle", + "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.zip", + "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "c1bfc02b6da78a07427417cea88da7dcb0f01130cdb63a3bcac66ba7cb63643c": { + "b592e54efbc2f5f5391c30e641e9c8c30776a458e3a008fda588436382346807": { "source": { "path": "integtestDefaultTestDeployAssert24D5C536.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "c1bfc02b6da78a07427417cea88da7dcb0f01130cdb63a3bcac66ba7cb63643c.json", + "objectKey": "b592e54efbc2f5f5391c30e641e9c8c30776a458e3a008fda588436382346807.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.template.json index ece2bae0e3019..32af3051aa94e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/integtestDefaultTestDeployAssert24D5C536.template.json @@ -1,6 +1,6 @@ { "Resources": { - "AwsApiCallEC2describeSecurityGroups": { + "AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0": { "Type": "Custom::DeployAssert@SdkCallEC2describeSecurityGroups", "Properties": { "ServiceToken": { @@ -13,14 +13,21 @@ "api": "describeSecurityGroups", "expected": "{\"$ObjectLike\":{\"SecurityGroups\":{\"$ArrayWith\":[{\"$ObjectLike\":{\"Description\":\"default VPC security group\",\"GroupName\":\"default\",\"IpPermissions\":[],\"IpPermissionsEgress\":[]}}]}}}", "parameters": { - "GroupIds": [ - { - "Fn::ImportValue": "integ-restrict-default-sg:ExportsOutputFnGetAttVpc8378EB38DefaultSecurityGroupF5E0D218" - } - ] + "GroupIds": { + "Fn::Join": [ + "", + [ + "[\"", + { + "Fn::ImportValue": "integ-restrict-default-sg:ExportsOutputFnGetAttVpc8378EB38DefaultSecurityGroupF5E0D218" + }, + "\"]" + ] + ] + } }, "flattenResponse": "false", - "salt": "1682361464379" + "salt": "1691698955701" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -69,12 +76,12 @@ "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F": { "Type": "AWS::Lambda::Function", "Properties": { - "Runtime": "nodejs14.x", + "Runtime": "nodejs18.x", "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ae370e1010629b78f494346f49ceef3ab2875718f20e6c808114e6aa770c7bf3.zip" + "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -88,10 +95,10 @@ } }, "Outputs": { - "AssertionResultsAwsApiCallEC2describeSecurityGroups": { + "AssertionResultsAwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0": { "Value": { "Fn::GetAtt": [ - "AwsApiCallEC2describeSecurityGroups", + "AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0", "assertion" ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/manifest.json index 82861ae3cfed9..55c8199b796f1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "artifacts": { "integ-restrict-default-sg.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c4e2e23f3513a576f1af889df4148ac4964fe3b24583567172891db1ab8878a4.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1fdd27f8d731f0a4ea0b6db9304733f5a60c89f0226535330dc29d4a529d8686.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -226,7 +226,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c1bfc02b6da78a07427417cea88da7dcb0f01130cdb63a3bcac66ba7cb63643c.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b592e54efbc2f5f5391c30e641e9c8c30776a458e3a008fda588436382346807.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -243,16 +243,16 @@ "integtestDefaultTestDeployAssert24D5C536.assets" ], "metadata": { - "/integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/Default/Default": [ + "/integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/Default/Default": [ { "type": "aws:cdk:logicalId", - "data": "AwsApiCallEC2describeSecurityGroups" + "data": "AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0" } ], - "/integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/AssertionResults": [ + "/integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/AssertionResults": [ { "type": "aws:cdk:logicalId", - "data": "AssertionResultsAwsApiCallEC2describeSecurityGroups" + "data": "AssertionResultsAwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0" } ], "/integ-test/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/tree.json index d7a337e2831e8..0d23effb46596 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-restrict-default-sg.js.snapshot/tree.json @@ -31,8 +31,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "0.0.0" } }, "PublicSubnet1": { @@ -45,9 +45,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -71,20 +68,23 @@ "key": "Name", "value": "integ-restrict-default-sg/Vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" } }, "Acl": { "id": "Acl", "path": "integ-restrict-default-sg/Vpc/PublicSubnet1/Acl", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "RouteTable": { @@ -93,20 +93,20 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-restrict-default-sg/Vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" } }, "RouteTableAssociation": { @@ -124,8 +124,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" } }, "DefaultRoute": { @@ -134,18 +134,18 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPublicSubnet1RouteTable6C95E38E" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" } }, "EIP": { @@ -164,8 +164,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "0.0.0" } }, "NATGateway": { @@ -174,15 +174,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "VpcPublicSubnet1Subnet5C2D37C4" - }, "allocationId": { "Fn::GetAtt": [ "VpcPublicSubnet1EIPD7E02669", "AllocationId" ] }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, "tags": [ { "key": "Name", @@ -192,14 +192,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "0.0.0" } }, "PublicSubnet2": { @@ -212,9 +212,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -238,20 +235,23 @@ "key": "Name", "value": "integ-restrict-default-sg/Vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" } }, "Acl": { "id": "Acl", "path": "integ-restrict-default-sg/Vpc/PublicSubnet2/Acl", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "RouteTable": { @@ -260,20 +260,20 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-restrict-default-sg/Vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" } }, "RouteTableAssociation": { @@ -291,8 +291,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" } }, "DefaultRoute": { @@ -301,18 +301,18 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPublicSubnet2RouteTable94F7E489" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" } }, "EIP": { @@ -331,8 +331,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "0.0.0" } }, "NATGateway": { @@ -341,15 +341,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "VpcPublicSubnet2Subnet691E08A3" - }, "allocationId": { "Fn::GetAtt": [ "VpcPublicSubnet2EIP3C605A87", "AllocationId" ] }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, "tags": [ { "key": "Name", @@ -359,14 +359,14 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "0.0.0" } }, "PrivateSubnet1": { @@ -379,9 +379,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -405,20 +402,23 @@ "key": "Name", "value": "integ-restrict-default-sg/Vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" } }, "Acl": { "id": "Acl", "path": "integ-restrict-default-sg/Vpc/PrivateSubnet1/Acl", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "RouteTable": { @@ -427,20 +427,20 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-restrict-default-sg/Vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" } }, "RouteTableAssociation": { @@ -458,8 +458,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" } }, "DefaultRoute": { @@ -468,24 +468,24 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "0.0.0" } }, "PrivateSubnet2": { @@ -498,9 +498,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -524,20 +521,23 @@ "key": "Name", "value": "integ-restrict-default-sg/Vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" } }, "Acl": { "id": "Acl", "path": "integ-restrict-default-sg/Vpc/PrivateSubnet2/Acl", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" } }, "RouteTable": { @@ -546,20 +546,20 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-restrict-default-sg/Vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" } }, "RouteTableAssociation": { @@ -577,8 +577,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" } }, "DefaultRoute": { @@ -587,24 +587,24 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPrivateSubnet2RouteTableA678073B" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "0.0.0" } }, "IGW": { @@ -622,8 +622,8 @@ } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", + "version": "0.0.0" } }, "VPCGW": { @@ -632,17 +632,17 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "internetGatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "vpcId": { + "Ref": "Vpc8378EB38" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", + "version": "0.0.0" } }, "RestrictDefaultSecurityGroupCustomResource": { @@ -653,20 +653,20 @@ "id": "Default", "path": "integ-restrict-default-sg/Vpc/RestrictDefaultSecurityGroupCustomResource/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "0.0.0" } }, "Custom::VpcRestrictDefaultSGCustomResourceProvider": { @@ -677,30 +677,30 @@ "id": "Staging", "path": "integ-restrict-default-sg/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "integ-restrict-default-sg/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "integ-restrict-default-sg/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CustomResourceProvider", + "version": "0.0.0" } }, "Exports": { @@ -711,36 +711,36 @@ "id": "Output{\"Fn::GetAtt\":[\"Vpc8378EB38\",\"DefaultSecurityGroup\"]}", "path": "integ-restrict-default-sg/Exports/Output{\"Fn::GetAtt\":[\"Vpc8378EB38\",\"DefaultSecurityGroup\"]}", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" } } }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.270" + "version": "10.2.69" } }, "BootstrapVersion": { "id": "BootstrapVersion", "path": "integ-restrict-default-sg/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "integ-restrict-default-sg/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } }, "integ-test": { @@ -756,27 +756,27 @@ "path": "integ-test/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.270" + "version": "10.2.69" } }, "DeployAssert": { "id": "DeployAssert", "path": "integ-test/DefaultTest/DeployAssert", "children": { - "AwsApiCallEC2describeSecurityGroups": { - "id": "AwsApiCallEC2describeSecurityGroups", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups", + "AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0": { + "id": "AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0", "children": { "SdkProvider": { "id": "SdkProvider", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/SdkProvider", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/SdkProvider", "children": { "AssertionsProvider": { "id": "AssertionsProvider", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/SdkProvider/AssertionsProvider", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/SdkProvider/AssertionsProvider", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.270" + "version": "10.2.69" } } }, @@ -787,28 +787,28 @@ }, "Default": { "id": "Default", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/Default", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/Default", "children": { "Default": { "id": "Default", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/Default/Default", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/Default/Default", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CustomResource", + "version": "0.0.0" } }, "AssertionResults": { "id": "AssertionResults", - "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups/AssertionResults", + "path": "integ-test/DefaultTest/DeployAssert/AwsApiCallEC2describeSecurityGroups6ad015b9cce9b36a98cd9794471d1ab0/AssertionResults", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnOutput", + "version": "0.0.0" } } }, @@ -825,52 +825,52 @@ "id": "Staging", "path": "integ-test/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" } }, "Role": { "id": "Role", "path": "integ-test/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } }, "Handler": { "id": "Handler", "path": "integ-test/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnResource", + "version": "0.0.0" } } }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.270" + "version": "10.2.69" } }, "BootstrapVersion": { "id": "BootstrapVersion", "path": "integ-test/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" } }, "CheckBootstrapVersion": { "id": "CheckBootstrapVersion", "path": "integ-test/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" } } }, @@ -890,13 +890,13 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.270" + "version": "10.2.69" } } }, "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.1.270" + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" } } } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/DeploymentAlarmsDefaultTestDeployAssertAFB973D1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/DeploymentAlarmsDefaultTestDeployAssertAFB973D1.assets.json index 983012d4e95b7..d528cc1b8b11f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/DeploymentAlarmsDefaultTestDeployAssertAFB973D1.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/DeploymentAlarmsDefaultTestDeployAssertAFB973D1.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.assets.json index bebe10ffe4317..4d6d4085b728c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.assets.json @@ -1,20 +1,20 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "f0d74f8230fdb6d28323ba837537c5188d63d6cb8c6af5062f7e5c85de74fe9d": { + "e62aa756e86e9b47c7f2741081bcf8bad768b60bf287eb2b43c5e3fbd07eb181": { "source": { "path": "integ-deployment-alarms.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "f0d74f8230fdb6d28323ba837537c5188d63d6cb8c6af5062f7e5c85de74fe9d.json", + "objectKey": "e62aa756e86e9b47c7f2741081bcf8bad768b60bf287eb2b43c5e3fbd07eb181.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.template.json index 32a6a4a563e3d..69534ef4db1ff 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ-deployment-alarms.template.json @@ -18,9 +18,6 @@ "VpcPublicSubnet1Subnet5C2D37C4": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -44,21 +41,24 @@ "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet1RouteTable6C95E38E": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet1RouteTableAssociation97140677": { @@ -75,12 +75,12 @@ "VpcPublicSubnet1DefaultRoute3DA9E72A": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPublicSubnet1RouteTable6C95E38E" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" } }, "DependsOn": [ @@ -102,15 +102,15 @@ "VpcPublicSubnet1NATGateway4D7517AA": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "VpcPublicSubnet1Subnet5C2D37C4" - }, "AllocationId": { "Fn::GetAtt": [ "VpcPublicSubnet1EIPD7E02669", "AllocationId" ] }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, "Tags": [ { "Key": "Name", @@ -126,9 +126,6 @@ "VpcPublicSubnet2Subnet691E08A3": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -152,21 +149,24 @@ "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet2RouteTable94F7E489": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": { @@ -183,12 +183,12 @@ "VpcPublicSubnet2DefaultRoute97F91067": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPublicSubnet2RouteTable94F7E489" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" } }, "DependsOn": [ @@ -210,15 +210,15 @@ "VpcPublicSubnet2NATGateway9182C01D": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "VpcPublicSubnet2Subnet691E08A3" - }, "AllocationId": { "Fn::GetAtt": [ "VpcPublicSubnet2EIP3C605A87", "AllocationId" ] }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, "Tags": [ { "Key": "Name", @@ -234,9 +234,6 @@ "VpcPrivateSubnet1Subnet536B997A": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -260,21 +257,24 @@ "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet1RouteTableB2C5B500": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { @@ -291,21 +291,18 @@ "VpcPrivateSubnet1DefaultRouteBE02A9ED": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" } } }, "VpcPrivateSubnet2Subnet3788AAA1": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -329,21 +326,24 @@ "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet2RouteTableA678073B": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "Tags": [ { "Key": "Name", "Value": "integ-deployment-alarms/Vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } } }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { @@ -360,12 +360,12 @@ "VpcPrivateSubnet2DefaultRoute060D2087": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "VpcPrivateSubnet2RouteTableA678073B" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" } } }, @@ -383,11 +383,11 @@ "VpcVPCGWBF912B6E": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { - "VpcId": { - "Ref": "Vpc8378EB38" - }, "InternetGatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "VpcId": { + "Ref": "Vpc8378EB38" } } }, @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ @@ -750,8 +750,6 @@ "ASG46ED3070": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { - "MaxSize": "1", - "MinSize": "1", "LaunchTemplate": { "LaunchTemplateId": { "Ref": "ASGLaunchTemplate0CA92847" @@ -763,6 +761,8 @@ ] } }, + "MaxSize": "1", + "MinSize": "1", "Tags": [ { "Key": "Name", @@ -915,12 +915,6 @@ "Code": { "ZipFile": "import boto3, json, os, time\n\necs = boto3.client('ecs')\nautoscaling = boto3.client('autoscaling')\n\n\ndef lambda_handler(event, context):\n print(json.dumps(dict(event, ResponseURL='...')))\n cluster = os.environ['CLUSTER']\n snsTopicArn = event['Records'][0]['Sns']['TopicArn']\n lifecycle_event = json.loads(event['Records'][0]['Sns']['Message'])\n instance_id = lifecycle_event.get('EC2InstanceId')\n if not instance_id:\n print('Got event without EC2InstanceId: %s', json.dumps(dict(event, ResponseURL='...')))\n return\n\n instance_arn = container_instance_arn(cluster, instance_id)\n print('Instance %s has container instance ARN %s' % (lifecycle_event['EC2InstanceId'], instance_arn))\n\n if not instance_arn:\n return\n\n task_arns = container_instance_task_arns(cluster, instance_arn)\n\n if task_arns:\n print('Instance ARN %s has task ARNs %s' % (instance_arn, ', '.join(task_arns)))\n\n while has_tasks(cluster, instance_arn, task_arns):\n time.sleep(10)\n\n try:\n print('Terminating instance %s' % instance_id)\n autoscaling.complete_lifecycle_action(\n LifecycleActionResult='CONTINUE',\n **pick(lifecycle_event, 'LifecycleHookName', 'LifecycleActionToken', 'AutoScalingGroupName'))\n except Exception as e:\n # Lifecycle action may have already completed.\n print(str(e))\n\n\ndef container_instance_arn(cluster, instance_id):\n \"\"\"Turn an instance ID into a container instance ARN.\"\"\"\n arns = ecs.list_container_instances(cluster=cluster, filter='ec2InstanceId==' + instance_id)['containerInstanceArns']\n if not arns:\n return None\n return arns[0]\n\ndef container_instance_task_arns(cluster, instance_arn):\n \"\"\"Fetch tasks for a container instance ARN.\"\"\"\n arns = ecs.list_tasks(cluster=cluster, containerInstance=instance_arn)['taskArns']\n return arns\n\ndef has_tasks(cluster, instance_arn, task_arns):\n \"\"\"Return True if the instance is running tasks for the given cluster.\"\"\"\n instances = ecs.describe_container_instances(cluster=cluster, containerInstances=[instance_arn])['containerInstances']\n if not instances:\n return False\n instance = instances[0]\n\n if instance['status'] == 'ACTIVE':\n # Start draining, then try again later\n set_container_instance_to_draining(cluster, instance_arn)\n return True\n\n task_count = None\n\n if task_arns:\n # Fetch details for tasks running on the container instance\n tasks = ecs.describe_tasks(cluster=cluster, tasks=task_arns)['tasks']\n if tasks:\n # Consider any non-stopped tasks as running\n task_count = sum(task['lastStatus'] != 'STOPPED' for task in tasks) + instance['pendingTasksCount']\n\n if not task_count:\n # Fallback to instance task counts if detailed task information is unavailable\n task_count = instance['runningTasksCount'] + instance['pendingTasksCount']\n\n print('Instance %s has %s tasks' % (instance_arn, task_count))\n\n return task_count > 0\n\ndef set_container_instance_to_draining(cluster, instance_arn):\n ecs.update_container_instances_state(\n cluster=cluster,\n containerInstances=[instance_arn], status='DRAINING')\n\n\ndef pick(dct, *keys):\n \"\"\"Pick a subset of a dict.\"\"\"\n return {k: v for k, v in dct.items() if k in keys}\n" }, - "Role": { - "Fn::GetAtt": [ - "ASGDrainECSHookFunctionServiceRoleC12963BB", - "Arn" - ] - }, "Environment": { "Variables": { "CLUSTER": { @@ -929,6 +923,12 @@ } }, "Handler": "index.lambda_handler", + "Role": { + "Fn::GetAtt": [ + "ASGDrainECSHookFunctionServiceRoleC12963BB", + "Arn" + ] + }, "Runtime": "python3.9", "Tags": [ { @@ -962,15 +962,15 @@ "ASGDrainECSHookFunctionTopicD6FC59F7": { "Type": "AWS::SNS::Subscription", "Properties": { - "Protocol": "lambda", - "TopicArn": { - "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" - }, "Endpoint": { "Fn::GetAtt": [ "ASGDrainECSHookFunction5F24CF4D", "Arn" ] + }, + "Protocol": "lambda", + "TopicArn": { + "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" } } }, @@ -1037,9 +1037,9 @@ "AutoScalingGroupName": { "Ref": "ASG46ED3070" }, - "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "DefaultResult": "CONTINUE", "HeartbeatTimeout": 300, + "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "NotificationTargetARN": { "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" }, @@ -1118,9 +1118,8 @@ "MyMetricAlarmF8571CCA": { "Type": "AWS::CloudWatch::Alarm", "Properties": { - "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 5, "AlarmName": "AlarmCpuUtilization", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", "Dimensions": [ { "Name": "ClusterName", @@ -1138,6 +1137,7 @@ } } ], + "EvaluationPeriods": 5, "MetricName": "CPUUtilization", "Namespace": "AWS/ECS", "Period": 300, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ.json index 6fea4c3220038..e2ab5e380f2ba 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "DeploymentAlarms/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/manifest.json index 4297926844393..8f0170b620cd5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "integ-deployment-alarms.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f0d74f8230fdb6d28323ba837537c5188d63d6cb8c6af5062f7e5c85de74fe9d.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e62aa756e86e9b47c7f2741081bcf8bad768b60bf287eb2b43c5e3fbd07eb181.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -338,15 +338,6 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } - ], - "ASGLaunchConfigC00AF12B": [ - { - "type": "aws:cdk:logicalId", - "data": "ASGLaunchConfigC00AF12B", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" - ] - } ] }, "displayName": "integ-deployment-alarms" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/tree.json index 86c0a26a9104c..2b455b4eebc00 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.deployment-alarms.js.snapshot/tree.json @@ -45,9 +45,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -71,7 +68,10 @@ "key": "Name", "value": "integ-deployment-alarms/Vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -93,15 +93,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-deployment-alarms/Vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -134,12 +134,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPublicSubnet1RouteTable6C95E38E" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" } } }, @@ -174,15 +174,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "VpcPublicSubnet1Subnet5C2D37C4" - }, "allocationId": { "Fn::GetAtt": [ "VpcPublicSubnet1EIPD7E02669", "AllocationId" ] }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, "tags": [ { "key": "Name", @@ -212,9 +212,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -238,7 +235,10 @@ "key": "Name", "value": "integ-deployment-alarms/Vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -260,15 +260,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-deployment-alarms/Vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -301,12 +301,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPublicSubnet2RouteTable94F7E489" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" } } }, @@ -341,15 +341,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "VpcPublicSubnet2Subnet691E08A3" - }, "allocationId": { "Fn::GetAtt": [ "VpcPublicSubnet2EIP3C605A87", "AllocationId" ] }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, "tags": [ { "key": "Name", @@ -379,9 +379,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -405,7 +402,10 @@ "key": "Name", "value": "integ-deployment-alarms/Vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -427,15 +427,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-deployment-alarms/Vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -468,12 +468,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" } } }, @@ -498,9 +498,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -524,7 +521,10 @@ "key": "Name", "value": "integ-deployment-alarms/Vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -546,15 +546,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "tags": [ { "key": "Name", "value": "integ-deployment-alarms/Vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } } }, "constructInfo": { @@ -587,12 +587,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "VpcPrivateSubnet2RouteTableA678073B" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" } } }, @@ -632,11 +632,11 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "Vpc8378EB38" - }, "internetGatewayId": { "Ref": "VpcIGWD7BA715C" + }, + "vpcId": { + "Ref": "Vpc8378EB38" } } }, @@ -1097,8 +1097,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::AutoScaling::AutoScalingGroup", "aws:cdk:cloudformation:props": { - "maxSize": "1", - "minSize": "1", "launchTemplate": { "launchTemplateId": { "Ref": "ASGLaunchTemplate0CA92847" @@ -1110,6 +1108,8 @@ ] } }, + "maxSize": "1", + "minSize": "1", "tags": [ { "key": "Name", @@ -1317,12 +1317,6 @@ "code": { "zipFile": "import boto3, json, os, time\n\necs = boto3.client('ecs')\nautoscaling = boto3.client('autoscaling')\n\n\ndef lambda_handler(event, context):\n print(json.dumps(dict(event, ResponseURL='...')))\n cluster = os.environ['CLUSTER']\n snsTopicArn = event['Records'][0]['Sns']['TopicArn']\n lifecycle_event = json.loads(event['Records'][0]['Sns']['Message'])\n instance_id = lifecycle_event.get('EC2InstanceId')\n if not instance_id:\n print('Got event without EC2InstanceId: %s', json.dumps(dict(event, ResponseURL='...')))\n return\n\n instance_arn = container_instance_arn(cluster, instance_id)\n print('Instance %s has container instance ARN %s' % (lifecycle_event['EC2InstanceId'], instance_arn))\n\n if not instance_arn:\n return\n\n task_arns = container_instance_task_arns(cluster, instance_arn)\n\n if task_arns:\n print('Instance ARN %s has task ARNs %s' % (instance_arn, ', '.join(task_arns)))\n\n while has_tasks(cluster, instance_arn, task_arns):\n time.sleep(10)\n\n try:\n print('Terminating instance %s' % instance_id)\n autoscaling.complete_lifecycle_action(\n LifecycleActionResult='CONTINUE',\n **pick(lifecycle_event, 'LifecycleHookName', 'LifecycleActionToken', 'AutoScalingGroupName'))\n except Exception as e:\n # Lifecycle action may have already completed.\n print(str(e))\n\n\ndef container_instance_arn(cluster, instance_id):\n \"\"\"Turn an instance ID into a container instance ARN.\"\"\"\n arns = ecs.list_container_instances(cluster=cluster, filter='ec2InstanceId==' + instance_id)['containerInstanceArns']\n if not arns:\n return None\n return arns[0]\n\ndef container_instance_task_arns(cluster, instance_arn):\n \"\"\"Fetch tasks for a container instance ARN.\"\"\"\n arns = ecs.list_tasks(cluster=cluster, containerInstance=instance_arn)['taskArns']\n return arns\n\ndef has_tasks(cluster, instance_arn, task_arns):\n \"\"\"Return True if the instance is running tasks for the given cluster.\"\"\"\n instances = ecs.describe_container_instances(cluster=cluster, containerInstances=[instance_arn])['containerInstances']\n if not instances:\n return False\n instance = instances[0]\n\n if instance['status'] == 'ACTIVE':\n # Start draining, then try again later\n set_container_instance_to_draining(cluster, instance_arn)\n return True\n\n task_count = None\n\n if task_arns:\n # Fetch details for tasks running on the container instance\n tasks = ecs.describe_tasks(cluster=cluster, tasks=task_arns)['tasks']\n if tasks:\n # Consider any non-stopped tasks as running\n task_count = sum(task['lastStatus'] != 'STOPPED' for task in tasks) + instance['pendingTasksCount']\n\n if not task_count:\n # Fallback to instance task counts if detailed task information is unavailable\n task_count = instance['runningTasksCount'] + instance['pendingTasksCount']\n\n print('Instance %s has %s tasks' % (instance_arn, task_count))\n\n return task_count > 0\n\ndef set_container_instance_to_draining(cluster, instance_arn):\n ecs.update_container_instances_state(\n cluster=cluster,\n containerInstances=[instance_arn], status='DRAINING')\n\n\ndef pick(dct, *keys):\n \"\"\"Pick a subset of a dict.\"\"\"\n return {k: v for k, v in dct.items() if k in keys}\n" }, - "role": { - "Fn::GetAtt": [ - "ASGDrainECSHookFunctionServiceRoleC12963BB", - "Arn" - ] - }, "environment": { "variables": { "CLUSTER": { @@ -1331,6 +1325,12 @@ } }, "handler": "index.lambda_handler", + "role": { + "Fn::GetAtt": [ + "ASGDrainECSHookFunctionServiceRoleC12963BB", + "Arn" + ] + }, "runtime": "python3.9", "tags": [ { @@ -1380,15 +1380,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::SNS::Subscription", "aws:cdk:cloudformation:props": { - "protocol": "lambda", - "topicArn": { - "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" - }, "endpoint": { "Fn::GetAtt": [ "ASGDrainECSHookFunction5F24CF4D", "Arn" ] + }, + "protocol": "lambda", + "topicArn": { + "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" } } }, @@ -1412,7 +1412,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "LifecycleHookDrainHook": { @@ -1547,9 +1547,9 @@ "autoScalingGroupName": { "Ref": "ASG46ED3070" }, - "lifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "defaultResult": "CONTINUE", "heartbeatTimeout": 300, + "lifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "notificationTargetArn": { "Ref": "ASGLifecycleHookDrainHookTopicA8AD4ACB" }, @@ -1724,9 +1724,8 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { - "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 5, "alarmName": "AlarmCpuUtilization", + "comparisonOperator": "GreaterThanOrEqualToThreshold", "dimensions": [ { "name": "ClusterName", @@ -1744,6 +1743,7 @@ } } ], + "evaluationPeriods": 5, "metricName": "CPUUtilization", "namespace": "AWS/ECS", "period": 300, @@ -1798,7 +1798,7 @@ "path": "DeploymentAlarms/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -1844,7 +1844,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.assets.json index 67bf9d2e00faf..984639eb21536 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.assets.json @@ -1,20 +1,20 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "0a9ca3828434fca52688d82a6c9438b44fc25f418219dcc41eefa938e401e99b": { + "545f32fe4d096c69d7a026dfd881c64a303db97294fafe370363435268fdeaf2": { "source": { "path": "aws-cdk-ecs-integration-test-stack.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "0a9ca3828434fca52688d82a6c9438b44fc25f418219dcc41eefa938e401e99b.json", + "objectKey": "545f32fe4d096c69d7a026dfd881c64a303db97294fafe370363435268fdeaf2.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.template.json index 0e131883e2011..71019c33c1e02 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/aws-cdk-ecs-integration-test-stack.template.json @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/awscdkecsintegrationteststackTaskDefinitionPlacementConstraintsDefaultTestDeployAssert906A0CF3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/awscdkecsintegrationteststackTaskDefinitionPlacementConstraintsDefaultTestDeployAssert906A0CF3.assets.json index 765f8799dbeb2..d813da11ec61b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/awscdkecsintegrationteststackTaskDefinitionPlacementConstraintsDefaultTestDeployAssert906A0CF3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/awscdkecsintegrationteststackTaskDefinitionPlacementConstraintsDefaultTestDeployAssert906A0CF3.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/integ.json index 5fe4f6463b758..e60131d94b5a7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-ecs-integration-test-stack/TaskDefinitionPlacementConstraints/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/manifest.json index 51a12d2f811de..f4c8a9383b37e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "awscdkecsintegrationteststackTaskDefinitionPlacementConstraintsDefaultTestDeployAssert906A0CF3.assets": { "type": "cdk:asset-manifest", @@ -64,7 +64,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0a9ca3828434fca52688d82a6c9438b44fc25f418219dcc41eefa938e401e99b.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/545f32fe4d096c69d7a026dfd881c64a303db97294fafe370363435268fdeaf2.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/tree.json index e019be8a7bc01..e93f9a3dffa25 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ecs/test/ec2/integ.task-definition-placement-constraints.js.snapshot/tree.json @@ -1328,7 +1328,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "LifecycleHookDrainHook": { @@ -1669,7 +1669,7 @@ "path": "aws-cdk-ecs-integration-test-stack/TaskDefinitionPlacementConstraints/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -1737,7 +1737,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip similarity index 80% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip index 8c663987365070945b0cefc40b918aed7c18dfdc..39ed5322850505f8d22004fbbb1a8c0ad421d1fc 100644 GIT binary patch delta 63868 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 S7iy;63y;i^G7HDkS^f`u { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json index db9c7a020fac7..b9f28d5b1372c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -14,15 +14,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -79,15 +79,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -118,7 +118,7 @@ } } }, - "ed012d36e261547b5795bf6e996a1a006198858a3d725acbffba1fbf3945c568": { + "a883d0a681e7781ca846bbf9c2406aad5faf161cd6054f975c55535498874c9f": { "source": { "path": "awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json", "packaging": "file" @@ -126,7 +126,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ed012d36e261547b5795bf6e996a1a006198858a3d725acbffba1fbf3945c568.json", + "objectKey": "a883d0a681e7781ca846bbf9c2406aad5faf161cd6054f975c55535498874c9f.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -144,7 +144,7 @@ } } }, - "428cdd49c835d507cf04b3ce2e908b84de14c09f1e8f4e2f07668bb49a6c37c6": { + "909ad0409420e9c9c4cd3ce115a71c2d28c2831610ee5a33d3a9f18d2014899f": { "source": { "path": "aws-cdk-eks-cluster-alb-controller-test.template.json", "packaging": "file" @@ -152,7 +152,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "428cdd49c835d507cf04b3ce2e908b84de14c09f1e8f4e2f07668bb49a6c37c6.json", + "objectKey": "909ad0409420e9c9c4cd3ce115a71c2d28c2831610ee5a33d3a9f18d2014899f.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.template.json index 70ce386338b56..b327e5c0dcfa8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/aws-cdk-eks-cluster-alb-controller-test.template.json @@ -826,7 +826,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -1055,7 +1055,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/ed012d36e261547b5795bf6e996a1a006198858a3d725acbffba1fbf3945c568.json" + "/a883d0a681e7781ca846bbf9c2406aad5faf161cd6054f975c55535498874c9f.json" ] ] } @@ -1568,7 +1568,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -1579,7 +1579,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkclusteralbcontrollerDefaultTestDeployAssert78AE94CA.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkclusteralbcontrollerDefaultTestDeployAssert78AE94CA.assets.json index 28eef726ab4b7..99e7c58020419 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkclusteralbcontrollerDefaultTestDeployAssert78AE94CA.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkclusteralbcontrollerDefaultTestDeployAssert78AE94CA.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json index f3cfee43d3295..afd8cfe91b42f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/awscdkeksclusteralbcontrollertestawscdkawseksClusterResourceProvider5DBBAFBB.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/integ.json index c4962e994f896..4e8e0e889cd09 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-cluster-alb-controller/DefaultTest": { "stacks": [ "aws-cdk-eks-cluster-alb-controller-test" ], - "diffAssets": true, + "diffAssets": false, "assertionStack": "aws-cdk-cluster-alb-controller/DefaultTest/DeployAssert", "assertionStackName": "awscdkclusteralbcontrollerDefaultTestDeployAssert78AE94CA" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/manifest.json index c35042201558e..7746cc76a51eb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-eks-cluster-alb-controller-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/428cdd49c835d507cf04b3ce2e908b84de14c09f1e8f4e2f07668bb49a6c37c6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/909ad0409420e9c9c4cd3ce115a71c2d28c2831610ee5a33d3a9f18d2014899f.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/tree.json index bf4ed9f85098b..dad36894834c0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.alb-controller.js.snapshot/tree.json @@ -1120,7 +1120,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlReadyBarrier": { @@ -1450,7 +1450,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -2536,7 +2536,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, @@ -2601,7 +2601,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/ed012d36e261547b5795bf6e996a1a006198858a3d725acbffba1fbf3945c568.json" + "/a883d0a681e7781ca846bbf9c2406aad5faf161cd6054f975c55535498874c9f.json" ] ] } @@ -2615,7 +2615,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3126,7 +3126,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "awscdkeksclusteralbcontrollertestCluster481F6464-AlbController": { @@ -3989,7 +3989,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "IngressPingerResponse": { @@ -4035,7 +4035,7 @@ "path": "aws-cdk-cluster-alb-controller/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -4081,7 +4081,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip similarity index 80% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip index 8c663987365070945b0cefc40b918aed7c18dfdc..39ed5322850505f8d22004fbbb1a8c0ad421d1fc 100644 GIT binary patch delta 63868 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 S7iy;63y;i^G7HDkS^f`u { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.assets.json index 5873cdb7db44c..68471a67bbcd1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -14,15 +14,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -79,15 +79,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -118,7 +118,7 @@ } } }, - "12c92c6a62f2ed0ae0e3e93b996b0ed3972dab29419c5be7988263414ee75c48": { + "0f073f3dc7ff87ffe9cbaa6b380b5c227b1c22ef377b8e1895b84c9aef6409fb": { "source": { "path": "awscdkeksimportclustertestawscdkawseksClusterResourceProvider7AA2A5F4.nested.template.json", "packaging": "file" @@ -126,7 +126,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "12c92c6a62f2ed0ae0e3e93b996b0ed3972dab29419c5be7988263414ee75c48.json", + "objectKey": "0f073f3dc7ff87ffe9cbaa6b380b5c227b1c22ef377b8e1895b84c9aef6409fb.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -144,7 +144,7 @@ } } }, - "4d9a984477d2dc582b777258a9ad5707fb9edc526d02959e13c1b05ef178f11b": { + "2f28ce51bb093a23e3efa1ca91b99a843f070d1dc55006a00d5a1d24e6a1eb96": { "source": { "path": "aws-cdk-eks-import-cluster-test.template.json", "packaging": "file" @@ -152,7 +152,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "4d9a984477d2dc582b777258a9ad5707fb9edc526d02959e13c1b05ef178f11b.json", + "objectKey": "2f28ce51bb093a23e3efa1ca91b99a843f070d1dc55006a00d5a1d24e6a1eb96.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.template.json index d94227763726e..f8d27b84cbcf3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/aws-cdk-eks-import-cluster-test.template.json @@ -1043,7 +1043,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -1067,7 +1067,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/12c92c6a62f2ed0ae0e3e93b996b0ed3972dab29419c5be7988263414ee75c48.json" + "/0f073f3dc7ff87ffe9cbaa6b380b5c227b1c22ef377b8e1895b84c9aef6409fb.json" ] ] } @@ -1183,7 +1183,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -1194,7 +1194,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclusterDefaultTestDeployAssert71CEFD92.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclusterDefaultTestDeployAssert71CEFD92.assets.json index 6ca0fdb9a086a..af8816187c7db 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclusterDefaultTestDeployAssert71CEFD92.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclusterDefaultTestDeployAssert71CEFD92.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclustertestawscdkawseksClusterResourceProvider7AA2A5F4.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclustertestawscdkawseksClusterResourceProvider7AA2A5F4.nested.template.json index fdcb69ccacc79..d6ecc189df353 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclustertestawscdkawseksClusterResourceProvider7AA2A5F4.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/awscdkeksimportclustertestawscdkawseksClusterResourceProvider7AA2A5F4.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/integ.json index 44a12aee54201..2580f60f37271 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-import-cluster/DefaultTest": { "stacks": [ "aws-cdk-eks-import-cluster-test" ], - "diffAssets": true, + "diffAssets": false, "cdkCommandOptions": { "deploy": { "args": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/manifest.json index 8dc6d27be2178..8d5e8fb493251 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-eks-import-cluster-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/4d9a984477d2dc582b777258a9ad5707fb9edc526d02959e13c1b05ef178f11b.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/2f28ce51bb093a23e3efa1ca91b99a843f070d1dc55006a00d5a1d24e6a1eb96.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/tree.json index 8263be843441c..b84e84cfcb1df 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-imported.js.snapshot/tree.json @@ -1220,7 +1220,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlReadyBarrier": { @@ -1510,7 +1510,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -2596,7 +2596,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, @@ -2661,7 +2661,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/12c92c6a62f2ed0ae0e3e93b996b0ed3972dab29419c5be7988263414ee75c48.json" + "/0f073f3dc7ff87ffe9cbaa6b380b5c227b1c22ef377b8e1895b84c9aef6409fb.json" ] ] } @@ -2675,7 +2675,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3186,7 +3186,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlProvider": { @@ -3194,7 +3194,7 @@ "path": "aws-cdk-eks-import-cluster-test/KubectlProvider", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider": { @@ -3818,7 +3818,7 @@ "path": "aws-cdk-eks-import-cluster/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -3864,7 +3864,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip similarity index 80% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip index 8c663987365070945b0cefc40b918aed7c18dfdc..39ed5322850505f8d22004fbbb1a8c0ad421d1fc 100644 GIT binary patch delta 63868 zcmaHU30zIh`}nPU>u%NEE2V`(8zRysl_lDv4QWA0sqD#8wh}3o8bTD|RcN6rm5S_J z_7Jj_r6_Aze{<$^&pEfR|KI21{k-NrGxN-|&oj@=xzOl;;<3M~mn)sYp<#bK9loTi z>d+w}*+`zd`C3{$SLSeu9A@fckI#C?@PP8|xQxn5!*~{>@*hNcV8~ z0-k;0k7SDBZ}6{F`z!w&9W}TAauED(YrQ4%!{n}$JR_(|y_ z1;vVNFnn4u(FwDh2sz!2{nVnP|R)I=~=0g>pswqOzgt-g_b?mah-KW`J=?4MV0pXLo3&0*$tpo~hugg`mLG z-y#7q$G6|2n+g=l#N88F%GM-px-M9)C??3}m+?Mzk-8d<_R0u!j!@_s?&DJlmrCok zA4Mi=6!iX-a&h!PRFgzmnTjFC{w$5(-bWZT+C&~mZ)5h1x%#O@LLGDEJ5fCYQNs9< z$cDgg{v*+CB_sv?B3tY%;X1{Xb)IR2>y$~r{YH@&E^ql-%Ua{Ga<44 z1)^TEfKmGXyGKVNpr%wQfxINBDHs^|5hfssB%C9Nr>e=fV8H}p>0?6#%VbN(lp@Yw z;DppfW;8(EJ;neK9U$l{KRM!C+jPNXVyN+f0tZFZ>=GdGAe#3E2wdo>c~g+Ui)elp zBv4bJtTDt>VIcSz!QuR4nnNo&jzq_gD>Xu9bEw&CtRUFoS_c@4z?1ZOu`AW=;pv*YNv7f$Pa%xfA8zo&6X4!KO{d}kqOhXtI8#2{%4I2AZq$Ia%r z$(jL}&5=^pkJOYug~67mDzYMfcRc2LLlbSpLMnqnfy#Sg4yK|qGau%{h``PKH-E+$ znS4s^0vMZcR$rXP7%iJz%AL*_NbfN_mW~GqWmXVbehm*s1yy*wD=}ttafR~B#Hf~a zUxgqVDB3C1l#W(VnL-tyU0qy~^{rjp7AA#&!;;|0`@$s}@*^YjRHpH(P6Mjm90mvt z7ieK%I$-)?2Ad$r+;7}riU{`7O68;Xp{JU!0G@AyYKjdB^r9GqngYM~+z!O%;7)EJ zF~ZqS?us5tH*zNt%^DB6Jub)o3zzg_+rDtu;UYAtjT=BfA8zAj<6N|V1P75ZH}w(s z0S8Sv?=_e3dD5!a+_6fi*|CE=O*RO~@8F)G5JumYGax%tp!yHG)%_QnX(dc;Q+FZSFv@ z?~vplA_YJyWrEgJK{Ym&v=eI9wr?J96~~*U4S!9 zro336<6Ag{2L{zeLS3mKg;R)YOie0h41tYO8s`vhM)xLi9Ej$YL{2R=?1CZj05Fsz zWXYR#Wg{UOK#esL4#9_-&JkM4h5|VpVFog+ud~%##8}v(2oe@BwLy-#P(-Zjgt^d2 z7A0T~cPLjlLN5%X&B5!hwOjdX5!v7{V1%WFg6jJ61L_4!}0%s-rbNG=+V8qyRkp z#MhQOnsFB@^aQMs=YF-|6E6X?++BX-ZFAahbnS4^bz#E? z@`-a9w}_Mab4i=Kw?B6(E_|3H010W5e|ZA`iJDq0XmagYKp}vk4W6Y)RK$xz=Y%a9 zGJmm5{*XuiubkhXjyz@i{yoh{RcW;G`pB-Jp(T^ULT4`s>m3H{Jj}nSiiGAy1%E8T z70uIpWknQH4Et8-S}vl|et^7vg1%^aur*C0qEdg#8U7U!C1~kaMHwohil2>dFd~fN zPNhIun83(ftBh76x0iXdn|~0Og!H|9(&{|e%U?u|M^QZ1v4`F}9>cV6vTDCOiFPzv z;1|%@uBZhtFwLXA${VtLZqZa#92GF{m zR>UHyL1<)fvr;Ueu4q{teYAoAqiVloMQdy5lqW!uvI34fU^u70p014bV1a8@c(^MI z7Qh<%6xy1Kq*OX#Ex?mhdNXSE+D#uT@2RA_=|ubr*n8+T2o52wS5N2218bhA z6K+E~^E`bt9wE5bQ!w~dN$&?L>gj=KpzdXKQX9uCr%%II0>k=V*`VwsIuSI2mLz%* z>h8RWP6o!iHqjpvG$j*O2(YA59);DYbyXDw-wRdr0l0}ktDAP1vO2`odH0~ThoU-8 z9d|cHbRjr;NnTamkJ1|%lvwv?At|T8xrknY=G}CdY?aVwRdM>B3963dlc+Sq7TLZ#1tLHh-?84 zZ=;(cl<#jNDGgGLI9k$i>GUo5HhD;CZ$!40l8AsOrSvjHz*`N@zuciXD=7kn5V#>j z1}UVJ&IH%W=&CXql{S~r=i-RFoTL+5XX&1k^d)#`t2X4y)7#K!&Q?Yn7|J;Arzl2n z<|%p`Vrb@5Z)jCU(b@9U+7wA2E}In8Mbg((_;zU_oy>T#7tyE73?CMgxR0U}nbyo4 z4PEJ>QS?w*)C-9UJVNP2npT<;O8?BEm?0SC4VOn`t_?*Aj@r=M@L*!MAKg}lpY*98 zeJ*trJtLXXcRD@?iA+#Se(nL5H%1#)#^$y1D7#@IgSB#RN zvOeARjFr^11I#X=8F>HjY{!N&$X&+Qp^Okb5;N7KEM&1B<1!vZxfw$rF7rYe#*7d= z777@@`-U$R#JpNDK{P0$;;)*!Ku(V-sj^n z2^z5PZ22s;rBYb{Q~ZD*%kw0;%B5c^3zQv z8qH4?2+l*tcr#cc09$s$&|k)+eY?4Dao(lmlcB$~F`s)B=g4kA$=9?2ZU_}IB98L#pa|w8PqTcBmjM&EIB64dVRW5R*61#qN%KVW@vV*03n8hMZZCw+ zyO3RSzYkLrXj;8BB4v4PM&|C6`h$%b(A>QM!Eh@^fD*f7V82FGgobKgBO+%Q5idI0 zk2KAh`*a2X&+6VYAWGM7ew8DIM95Lb19c1x*gue{Q1yLrt>_jmUC!r3)&zNy&WWsW z&a0df5eW&Y>nTwa0}bBz%cJ!*)W#Y*t~_Y)_RHk)h*ar{sGF*aCeunn60HzH1l;OvK@JN9W8bR;JP3>fB(F$c_*TuvevH)|G`CB(Ghbp_4hJ> zt&;+gyp>LIQaFb%3!@G8yUNV)C_Hk<$b&XR80n(NDG;t56pmByq{IYQgbF0hSt5n0 z>PVtmMktUx9WYYioeIL~`j%^Nu`Gxa+}Vv#&;?tK6?lY1>^D}}jua;I&lKWVDbvBn zpWNtXvZoNq`AnB7g`}7w{=zl%R%DEd&pr{jl<9tsLOjd-=0mWo%*wYwg6J)f5{oJG zl#b#dq>m?^d7Z?f(c%oCqV@+z_u~$>$EcS1XXmjH+^{-Zy$mjmHq8`8U>Gu)yjCsQ z`pV2(i;zFfO#4Dkee26N9W-_F1>#Ji?D_>EN_J#6&nFZnQ$L~=0Z!XaxVy4_+ZW-h z`I$>>XUZn*jlf;t-cWni;;42+hk%Hx{TNyg8A?0s)r9 zEenkdr+D^k189juTKK)Oe08nru3^(?vo!F0A~vXG@_5H_?&Eu>Gs@ra z@32V`#4Keti{8r=qXj%>(#ZwrvgnPPsJUC8(rnj{UP;AI^@}1QjM9C@ygf2&1}OrG zH3At1B4H6=Kqo{6(@{fEWk4T7QPj?FiUfdk*muP|YML9m_L1_2rovN!V3+i_r$Xp; zgmFu|A|ZWJvk!_-aW@*Oqe$#=fzETb1~{vui0_dm87PuRov8+jzE{vd9Xg66^@r;! zs!xsshUrE@`+uO1Oup3)Mc%CD#H&&<(O31*SW} z#aseaaIl!`OA0K2p(Z>j#>UqxC6;Cta_gv}AUYQLvsU|8OH9ZVZo9iC)pG-y$B# z0vM*Usi{e}$9tbe@Q9*F3q^X^@IXI7eiv|YJ}*&53v9iJ!WiWLCe4wMNR==26~O%b zk;S-~!ay~!{Q9iu*_iQ@OH^O>yg0ZSdNVt6|JTSY1Z?DqEibTfHRDajR<0~{))OC5n-ajrJ%SLPO zTOlO*7g8Zqz}NTm0HwKqfzbPZ*wDOD{4YU2y+lmP7i+0lf{z!mO-w4ziEZNN3S2sa zs9Xa2v6P>~W5pcYblA-k6CPZeG*4`eu>}Fs{j1gUP8@ zA%n2|(%FTKxm4*uN(+aP{KHIWA7&7_OKHSmMp4fm;Q)h3tx9(uU`X+`9!g`7wEmjL z2*M@6Yp(m#>CjaEpyP!^*j!kJf-*?>!etZoeg8qmQhXf049YkMG8n^f>NoD8%xaR$ z5L2u0kXfqj;xd3kqnIZr=okf3V#y&#6NcrG4>iI@6hJy+4i=zx&qQTKUuA&i~4g`E*j&L}Mo zXPC-d2d2yD)WsoCcJziBdCZWbfNteX6{mr4fn5r?alpX9)9Dhq@*bBIu0v0W;&yl- zEA##uSzH|%y|H;Frb4IK^CQa30JTAMj$`8g6M6oLFrM&L{Q{YdZrI40;j**F5-96Kpq`-fi&P>9S7()j| zpAChixS)uqbFo1|+X)7d5iUOo^LmImti4OSB#=3O4RF2nvS(_7`0JFCp0w)>V-_X& z$-7Kp(3i`M@sv0mz^aT1L_mUM#kWYAtbr>kQdVDtns1GyG#gnen=C`k9d1e_w6nX? z3H(^$&lO6u?^UJzxd?jxBZjX`PY+#q#2AiRe+*Y9Pjh`OlzYmFE~_X_kpW8$RF$rb zLC~i68B>YoE%zBsxFNncj!6i^ZN? zB=D2=(_=FAkda-G#w4UfdNPg4k%=B=5f090k{BW;|{Y5)&xR4GGL)c$T+I=h*7EFt_o$A1dtr1*g?K7D-rXEsJ%Rx{I-9P=?ydU^U|Qc+w9hS^c;32Xh!M zQ^(sWW>et<^B^vk+n9oMaou-loIJyEf&DT z@jo02$9%Y~r_}lc&NvU<*zFh@gddD7>zNNe?MK1&g2$Dr}Bwp*qG5#w3#JR9;3 z72udFO4R?yd<0Ekk<|)?6IfXYo;#H_iQqnRG2IoPj#@%NzM=x^JXk}3y%O9TyD7_+ z#)CedECcDA5Y}K^>|&>~rpa)TKAg%*#0{$E9F{-Pylf6jC<_iSOySJd;G@Ssmt5|_ z3M4whxkB-2ik&Ib2qv=f@o853P^Nk8!x|(zfX0NmB$`DQs=?|&O(`>mwGJ2Eltr*= zUS_PWEn?-XQ#QHEIRwAJ9DUA5ij{aa zH(%2ho)R(G$Rp@m!yQq`Sn{|6K>lh=Gsbdka34nY}cYOH+V2Ko(*D3G;az_1Iix^-cfcTG~VR7lGx~cU`v}eRD2RUGx5# z0ezYqj~u;`t~x1b+KBG&>Dghny6X&2_svL3Ixq)l7@XQLHZS9?o&@YD)j>DzPQJtKBc|EU^w=v%5CU>Flfs zP5w8Hn=1~iP|R{WrI@)ew(Ae$d;gZni`QM7u)o#i!i0S#-ZSF|i9EGmpZm$uZ&m&@ zao1zB$z!;xrnQCot;0w5aSIiwnX4Cn*cr)QbZOj;YPA#76wcl3WVO!KJ{K9N8MoUb z$=z%l5vu6hx(*oi*HP5jZkr zaj0E+`ZeBknswvnS7++(b%p3<x|)FsGH8nE2)WZ655n$)Eh33rqHYXjb#by=goAa3mwcH+QE z#WDBqmo(d?x(wIc7SlTJEc=48nc2b6ewPZ(qX%o8pYrENz-Q<0X0gF;MpeEuRod!z z7u^UB>~pF%VS;Z}{2l4%;S)wZjVrsgYrgf~_{XVfdcR)&SpKnjPVDs?NAiuleHcuu z>Xn15b3e0-?=CY?_<8+wn%nMvcL%9HcwGFopm6t<2iqf>-Zz$?i)?-5W;Epy)8^vx zv%7};nqwDcn@e;58fT?t_h{+OvDa^>&VL+VF18HXQyP77pK(pFf5CB^k?w9fe*@bF z9{QX3@M+ijL1%McY~NU&R6Ek?JMGKdS0jEfv8!`rIY83Puj->#4+ex1NCc&D^&+cfX+(%dIYU!0WwnaJAo_i4#@3*-6scFnc>+;V+a zNpPCxE~CRSi|PhWUl3b5(#z9h-LC!DQx5NGFln;Ct;Fq@ZGAoAp_WBD_mx||N#IV) zsoEpTuUom_yzRMFdRKDatA2RF;*-@oJh;zYYTPVlxcg6gSQNkA>FBLfZxwhQ$L4hvA2yz3A?r(2n$LuX&f2*KF;NFyX64k zJe?ix2OiH|#XNgPAvyAo)5Q#rmFL0*rz;17$$MY4sosCY$@w+JtReV&UEKXB-fPP?*E*O=RxdRaj)h4nBGwMiL(Ty3)mvuGm9oyNtV#l)gZ?e)fs#~J`xe{rpUB-v_>8S_q_UU6iamx%| z@g4gsSBEi&GJ`@Mtml^~HGk=x@cBR0BL#;lK5W!ET%+N!`BbjkhHK}75?9T&oA7=5 z@g0mL?^S(=j1Sy!%;%R$p-bUxGk1fSx1R%F?9~WL4*sJPA2a)rsQUi*B@PD%JsPEz zHM-CANozT(B_7{SaNaNdvh0htyx42{ANmTa2hxcub7H%%8h<3|Y2O&jDE5R44@WpF zdc?TKY}hm5=SSPIrIn9dSR;;q9JcsJ}Zsu&Y!=r*C55R{?^D1=?U67f0{B9!J?0;A1*k& zyrZr-wqdaY^MJ+L{n1Zy&nzolYV$Ep<1}NMb3^6g`q}$low&PU)v7NBjQGdjRRn$C zz&^XXpP=JV=n zuJm_x_+@hPu!&dBW#65yYptgq=(fo`Z*XnlF|V#MuD{X+ca8MVYHt@y)*jv90W?2V zTq}4uFtVS!;|^}Y+Od~UroXjm)w*(Wi0^=H_G25J)VW*DW)9$dPAJ+z@7$o^PWJ)9i<+n)&9k-EJtEy!;#(_+Nuh&f*Fe{g4>-#m-4veUu(f^bH-6$Uc3yW$6+F({$Q{()^8PC#DTZxt}bWuUJ>%6zDzgUdM<2 zjZU4Xg~t=Nv2zX7a}UKXKg0aSBjl4ugK>x7B5}spZ7@M|S`*LJBfEUr7*^%UjPg@s zx@P?GLssv_5m$>Rl)tP`U1TgA^?2a*fsSqa0*too$jKYA#OjsV<@BN_stt#X8y>vb z|7FsT^u99&_8D})|45aUiFQe?w%^ZHjJH@&`t(|HM&dKo;4^>H4>kql-MeX9vA96z z%g_8BhL#$Eb1Vg?k6+0j(?0Z}(00$Sho>uE@h)ame2Cv1ZMkcJ{+Sb#j%-%+Hqc_Y@lX`OX^aDMLchPQ!%fsIw42c0!Z&MA3N79V-VKm0}Vx=m7b zH8nd>ZV{H~BphvcF8;p_&ut&OX19O%?QwBTTVzc`;>)(%eoFm4=NlRKEm>Dty>HZr zS8AI}+_s-R7_?%DlI7sQ^zaw?r5kTt>Qua~*s~7!zTD||z6I*9#T0GD5 z$Hlg9mmN>X-*!#AuzV$x`RnlV;Wjto_E#D#i}~1fzbIX|{dJ)oqz)+>GoE z42L@3ZvS9kJ#)NqcgXVP>5_geq1Q+M7~Iz?eqZHJJ&n8)HMhemoT2G^toMFXovm?V z|A`k*ST}8^%u1-e+-7ua8Q#*FkW5hFSZI*x4n`d`FX{+8-f@2;N9$+w?+?nlD?5+{!b9|iYz zfI~x;eVp}u)}edm`bODvR^*S&c`(Q?^!B2U=6s=6!M32|Q-}1GzIj@lbZdM^;P%wp zqJn`-KKz^^9(VRZxsTt@XBS0>w&<@sv~q2(ciyeBscJ=GR`IG1!-pDAm{Byu)q7TG zQDtastTA2xcx<7izI8Vy z7qS)4zBW5{yk+CIH^I)l*u85HT{LL-9&_o``Y~<$Z_r01uiM$ZpV_?blJg;>trJpA z^fvH*eC@A0f4H0R;k*4_#h)7gn7vrxAj>Xq*)Z!_i;d0=FfsLf!yJ+3Ju-Rrtkf0P zItC1F0j0UIA^n(9A0wydMGcyySM&V*xAcM;hkx#?Vf-HOEBZ)4-i_)_eoE?M-OT4x z>dtNQHU2VDW68R&ecbH^uCuY9K4{+3S$_KKb_!~g_4dVD)Ze<)+z_*!*7`F3!A;?h zN&eg8X1wbj_;SGayd4}})#r=HxNt6RC=N`GJ5#gvP0rM}KR=!;Y)!SV&htGxt}X56 zl1EWl-)&p3_Y?h?+Yu_rUwBqBszaa{>oGPkWWv#N2cI=$C;hEf@*JAG;bGab9%P^zR|1v*s&@~t}x&HTtq^a>MwjMlO^f7bCsNrh6HXIFoQJ^sB?7=nf zhP?UxYu(#DgPwe!=v(bGtNmK_n^e_R4Z9jn=Sqj$7g%nrF8lSPHT9G4D^*aJd$MlW z$*xnz^@ht!_HC_7Jggcs@=|{3GV6lr36BdxcO?1@Z8ANxY-r%2cC|MPb}G>(*B-RJ zc{8ZGZAkou^!2}2H}xs$JM~?J>w=Gm<}0c%8EkdOe!9^SEN9e3^3Er~0guCl&d;w|}V`fOUm4Yvzt!S#PpDynV>_ z6-)N+S`o2F{YISVpg8#KEJl~+7DMm1qi+wa^$%_P{@BLdbQX;rXExzZWAnX%XXeu$ zHu%1;I`MVE(tvKwK>MHb;|+ec`@B3Io9XGhmfte^>)*#?jq=L6-u9a_$L;ZGo7I25 z^8*hpHaH*-FU+477i$Ph+kF-}c{kJpivPDfsq>A^8$tM>bE7yojTDx`FtMWUR&IVVcKI6o(Iz(vi)D;{3qOVwX71!_~A<_9b9XlO6KZ=7>2>E*K7 z0ntL2)Z24Pb&Ki>mxW=i8*h~9{tOAYb*17_RH^lzuV`t6TY?yE83HH+04KwfFcD|9;Zv_XlbY?6dskd#c9QAa22zfWXD`ERKx6 zW33z(Kl)F~)$>~;8iTr8+jjogJ=80&k~tyI{`uyVI+dE*cXXW!KW<)hlRKZMLIq|W| zpSShHx}E2Idb?&(M%%~kG{H^N6RqnrtM|?N^e3JOXHYaV&9mkFeVAgsgIy}q0x+22 z$Il+J1g|*wf22&ZwwFY`G*?MnK1S)Hp_SE)(##bZ=`1F#B{y*v95elGA0kKD~+4fH;Df6CP0acZOV^;{q8HUEs<#2aS*|Cn}ihYu{XKSv%Tt16YqLE~GzhcwNfI3&xenle;x{e-BOApE0ZP!rRSq^=f^$Ij#(bxf5*$dQ@AY;XUsjxEvKtpIh|s0BAX|@$9N_Y z&=+wGM_VKw8Dkp#GB3W5!<=j_uw+?QAE&|Er_WEeF}GH|GCp|bmpd%$^0_8Ht z2DLSz?vOq+K)MlE8$$q?X5$5xJzAAn%nGF>qp`F;29|k5S^mmdW}`BZ)h`>sw8!(q z|ApyTZ-Esvz+jyB&R26fl$YN9QM;P&=Y1 zmI%Vdg8osfe~PAjKJwpyobLJgtq%2@L)!1Oum1K(Uq_v#JE_0LNy@fH zsLb-RnCjkaV_+My$98?Ez31G@7Yi;jR)lujto=}7J@T2_L{-C;o83wi4=3ojc8qHG zm>WNG*Q~SIJNyoS7Qt<9OvZ&bs;$$uWnc2qW-MRQHYCeo`_iEo8L_%?rF}AfEZbfX zloUGoS^RIqB^e86gqM5V>3BKwQ<~?_CmMB~?$dAm2G!G?adkVm4P#qR|WgL>Khxq>2uVb ziOCk5Lz5E{M;ucMqnYdPH|fmxe;)c`P+^|Qk`0qPW7jA@DsPV-y`(>R&E4CI`H0SIu`_OOs0fn(Tv*U*-{MvnKyUz?K+m$Mx zBfw^6`D~|zqKht8<e-`-kkXE-ML{cA5NSP+N7$-kI3dR56~y9uRM|a=cCs`pDzuZ zc-(x8w|l>vF3|zzSDhYSHt^Sc>5>(fpWA&e;GKWrU`y_j!1_@Jag52G@n@IJh$+!I zv9)%`weU>EOHsd+k{{0<^}7G=<&WL1-LoG3PW&7E=_EJwdV4@eMCK>PO7oZheO4Z^ zEBC_8mVql~4<5ZjcXFA_#XT`8HsyH+nq0BF_@ zz{&OQqA7E;b_Rv2npMmWRbTODPSEA};9a+ytoAmWskVJfOgU3}udic7PTF-T{q}y5 zf$g)U!{;kbopLGkpov}X!Tkya{X7DHX&9E(C-pj6k&5k2H{+&G-ucIHL`!|*`{)_ZJPu9@GBb=n+4n-F<%oGxek__D zsaZ2%QJ2=z7PpNG8%hmVv|k;+I431@BRA zU!qm`+OYD(EB6r=W;Z@+($%ya=Z$GsUt8SJvffxLeqvyd>S~|0oS3%<2V35CF$_0; z(xh^}pN5}}!A?)TIYW=7d9f9RE&*w|;_{Z$+x4BQ* zjg&qN?z5csj?Jyl=3PFMkrYugE%L4X7SiIlVJf4+Gh=-6^eJ8zsZ=c;rl4l(pj}HXgd;eOR?z+ ztL9xlebt*8dL_G7x<3DG``q@`+H0p52K>?eu?rOun=y5*Be^SUN7H{klP*uVcy8X9keFRc^K#>}-Ng^gOGZ36t^L9@ z&-t2*&x>@GSL@HdbAQZoUZHE^I{HNY%1QP84eK0CRm=99B+vFc?`}6qJbL)uq2s=I zj%@o=W%g`&+|nb~{xwNa6;68@H!o`OPj0G+vaj?D*?Qq~_r_n<^R9lrRmZzq?LOvF zlBVnWCEk||YZa1TSy)UE#SflPY~AOMSMkVtoswdMtGQZv>nBFm&{~#`-)_IpV?}_I z-^vL8-9rc8O3C__oXkJc=TK_pV8Nj7PiLNX6#bg+_igo+I|ePeS7#L_-w>~|n0zSg z*vqGZIewRYO03REMN{}?D&5?`U$E%5#^U^$!$v}O5g z7g(8Qtp7E0q+im+gkn}vbm*{wukULO4_;f4q&tMSnvUKK2z|;oN`RxD zgnzBT!oj>@AUX~{s}tfZAPOPDs1dyFln4SIw+;X?Zo+>(gK@6x-L@D=f?N1IA{Z2y zc2&Mk7d}lTS8Kj1gK|^tT!t{4T1E*kkfX`|^*GTLCn32eov}g{e5sxRLbBv0H$Zq2 zkKPW=7ZMMKlt&1~I1}Q1gv7H9;Hr=CJYsX`1|d-s17Pv0NP1<1up1vf(^u$09QD8P z6;8pMug?{dlA%3M*z+9P{Wu|6>SD4|sE$L|qzDNv0rjoIZZz%kC<^e^C`cy6`8LzL zFOI@XsmI{kBG_ebNL4W~uamIkpIllyQFswws>T8med&S)LM9%|jWgF--yiP5Mx!?n z%)pR337=Yvd1toJ4o7d59fgEf?S%dD%XRjwrM^F*q}VEgj|<=v8xRp8XgDKL;S*aq zSq((NLZJkImf}@y>Z7r6R(H4pdywZVGzR+TBw{dQj*t*B>4G`J8Tiz$ZX^xBUN<5B z^1{C1LQ+@W4;O~uWgOLugk(9e>SEzToT+BxghX|fbj>*7LcDo&I61U5JzOZlXWWw@ zB&%0HBnaWXURYJ)$C}^Irx`9bT>*p?VO!Ro#j=69qmcPOD+boy!XHSdXs`BOzXm(5 zfQz=n7Yu2Hy0L++Gr4Nu>MU$QjBj2pBw}yr;8r+hQSgCY^d9>SqG>)$RVQJ2~; z6Yj`MJQWX`C`^yaj)t{MB{g(#ALC|U@LK%Y;%YeI@R?Rlb5^x_7$JO z7gwt%CW?>B^~KLAFDzlzD{!WNU5|Ul5fg=v(tcd=FH}sE6-UmWRV{8nNNrPq_X%X0 zeOE!u!mmc?i{PCBS#y|3JVkb`4Rc^KKN7Jt|H;r)w}fF}6%EU2-cAbd`{3W$x7@>{#YIy%9*T{O}sj5%==CNsg@3S(;K zzW#&?mc8qL1@A32BqXWqyP-0=Wt`bhpD161y$v#x_4}X^MvWyzwJdIID7vr-&}+Wi zd<2xM2v`V%k~w<6^~S=-mS}3AvyP_?Fet$H6|iKh0D8UxBP4Myz5?Q{IIz)IV1`=v z`3VU0K(ilw;}GLPgpYiy1l0Nn4A4)5Aq+7%?9dNv@e>FU(Z~I8nxO-6(V^jQ0YhY% zpxIYI)O=zSprO=&_E#|n==%xqCnVtthswzZ;P{dXD0T4__rcxpoB%Pw3u!@sxJd;e zWoJv#;y7DzJr^Og;F8_mzmUPv4A9RCmhl#biOFXHE`*6iR7>FKEG8F*y&r+yQ&5)f za26-wHUWRs{_0NObVpBwLH1|o->Lm z7uDc}+5I?H6Ur#p+P0MOOexjpsB9A(7-0tV6D1U3CvuBz`*}pxPCD`cZvcLoz3oy_ z`)7#WU=DUqQ*IOvn6aHliHWxJRB>chXH!;sKAWej+7pgrh8Bh6`VaU$;W*XOg0;8d z3vDtddGR*i9=`(9^^o%Lo6{ryepy8|HXiFPpHO$H`&~YKViIfqd7n?1GpW-9{?T4+ zf;W*;)p`{jBf0+Bb#;6n=r+G_@qG&h1{l%uwV0zBDi(Oy^)kg?3A+z}O&7m}fWU{w z%5NbC_vOJ`@fcc7gCJ>SD>O9XEoM+^WH+WL=Qcqd&r-lPWPL#`U4;!|qb1ZENT7&OnXaMq~jsDQ;DF*Q=2M;@f&P6}%vp`%#V9Mo4FVREx!-pZr!M zcR*%;)C73=UME>Md^N1c-pL1{TF}CHWvHow;H7fU)k+m>)Bqk_yOdMr1m$X)_&qJp zgKETOP-*r-wGtlE?ygidQrsQW)Sgl01DOrP$(u2~m4yfO+;3Z2dGew!G}_vBIxx4# z-mJw~1%dhM3&Nw|&D0?aLSy7^r|!&FP5FXmu1`@RwpgIAv5IDr`BoLF`Bqgv9;Vzd zQXxqSe=nGY`h~B&{Pdx7+WhC%N z;(|g8{qjCmg+{9wNP=o5%NKXAv?bPB++k1m{BrWpL3EDZ*s0pG2wm9)lCXt-@_cRXAlF_Iz#y z!llnt$}3G_Q@OD?;+LbzSDHYd816R&T)2pGVgJh_?s=TpRUwq;u@pnO=J*()BPh^E zMsP#%=E0*V(2GZLAL2XGEqu$S5@>!|3ixd=v?AB3-2Y7%fb}!ER}ntPe7L0P`t8Hj z?@3)KYK+H1^LpD9a&XW%g?k4vwPJ_6 zJN97*%bwT4_>(1~-V6;`$o0Yz>=#I(@BBcn6+ZM$TQ0f(64`NQ;nu%%E_~2ewj8^8 z@P#o%LVZ878ASMT@1a(EbBZXgH;1hhb%aL9lF(j+x3&7>V(cNbyG-2d6mMmzfHW2P z#aA3+&8H57t_&eaPc;b(96!eD^+0OlG1f%+d2${_ub%}<@%yhJ(5US(94)*@o6%^|s`A0Znj#k5jFWfkS8ivK zH{#*z2CtPVKbjS?2yX`#7qTiSR6{{Dnxc6ZOa3qwjM~d0-C@FB)@EF<)ONE-haI+? zbrWZ>Y5}Erb^%L?>O7IJ*;c}$9FG%mJaVkqZ(tRlykCUHplHM88j_d0w~n5H+>V~Q6|Tklb>Txe{yhdLUJ28S*!XfU8p^u(oML^( z35QHO!lOnYk$bxlttPjMa#QVn6{{F;t){H;MK$XZlK90s2jA_0w3?)V*W1cQRT6rH zdcX*T8V`WCl`N_|L!lp(1ZCiG8NOK|10}tp@#DI&7~Tl zE&idIHG_7v-+>xZC3{bo82!dAc{QndCTx|d2^MJ^Uw~*8PI*Umtoirhfnc#qyr4_~;-^z$83ltAgUea;899!QvF-YI^E3tW%M(mhpu>5075@J!KQz0rQ@+KO*eU z2;f%?dVqmY$hm}C)!wiPE=zshuy5d=EBX)H0#u9OWmP|X1xe=f+7cMNsRKn+v>ZP>Oi_h72apia-BtMNqP6=Br zfc<-TN-Qr`NKeGL~qxDH}#fq*Ft8NCZKq}E8HEVLZb`*?&Lc(aInuwQy# z#0h5d2+!2RSu_yFdyG{K(B8r(as=c!k*XXb^e0={0uFILf?AP*87znyrv>fo3{a8= zU$lk9(xdnS>D>-CeC(T)EOH^E{yz)xxI=O})4WwIJ$#3~jDy4u2`DsZ?lfEzG4257 zb2jmaA3_a*CO10@I^d;;)&Ycs^7xj$89Dban?Vim(IH{+cNPbD4WoWvKpR{#x@A7zLZZH&FIS+j{76W$WN(Kh__Gye>p`q01LPcmpeHFFLgLqDOSYe z5}SWw8foD7h|Cu^yFJy;5`~qAH+Yn3`Aa95_-(<_30xY~k z4uiiPd+`oyHP!8=Ut^QIp*z>u3-I~(*;CMZWzV+K=qV(_c)cfbOEva<{sVAp8Wak& z*4k@qrT;M}Ql=ey8#O+Gw#kYJ>X7bk`A!Bu;O=)8{sg>rD~k|DX>u!TJdTy;3ldnm z;{_`hH$J!CvIrX~?emV+^AyisWi}b}zEfs9<9pEb_oSnjK7G$xgX{UX50pXdKeF2K zDd#D%No6TjV!uOJ5BWrfdeWtzSRy=Ri|C?Uny=_$72z`mw^PtQ+|F{vXZ-IzWsr{h ztU&yokkPuN&6IA?W!vc>aj%~|HS-{J8HWaAPuIY=m~|woqL|Pn^Lk5soQQpz`ewCM zm%LLA*6dLHU)w0e zc1~xvQolX)W*6xlz=+-KT#5pu?je7ZKH9^sHbxZAxk#aVFRVxHA}Q2+MUQur)))J2 zE*fpEA8CB0H~rW%OnMw97OkMbu;#Xik`*Pa0Wufxw|~_Xw#UjMBgY&LN7ZsujciBH5^;6e>x=%x;LFyPmSEr^Wa!VxnNor%2D4q#D?0v z9_BcEegyDih$88i^}K1aj5B5~QM3!k``2UOm8*GVqLQ_SmyRouSuB|h0!w0fe~>h8 zt`=B6hnq|lReXnyjR^|Z;V(DI0*~qyysy+vCOX;hIwJnx$K(FGDv;Uk@ooxMcx*6M zu;R>4XvTkJCcw{`z@BUnT_k4p{`v!$4H1Z&!O%5%B9#w)zRd6Vd@K<1?`J1bb> zPmLtFD-d7tkzRLK7@?r5pr}hH0zr_UAvQ(!G4G|gFPh+Eh8VY)SPNb=0P&Ok(E$FL z;sM+R*b@s%xTku)qo=1?mPA{znFdM<#Ofe8OM>Uz(9am}Lbt=8rF8t~?b{`MR6>OP ztPg+oa~Qhm8TRm59klZXG)*)i{3q?e+BPQM=R%f5O!mS20{MAU8ckoW&jB{xr+Ygr zEQj0z#QM(s2hljFivNs#&=l^7daq=64unxwBVn*dYkD$qyNBtsvEC`b!$Q=z} zKEF2y7e0oA-!jEvdcMs{Ss+3{?-_(KG$UcKFSDv)c*<}_Gm{(q3biBrVyh;SAp)yQ zb3c7N1^0Zrv}rU$xsH#n^-E)*E}C0DssBd|wLAlODX3K;x~ z>;Hm9VPIdpC}82uBA!edkji12A6N>(V*PM1uX+~t2_h;dFqoBM2y>l;fnVsO@Ct+I zrw$?Xrjnz8)z?_^EXBY)B@j$;It46QB2gjOj>JD^lU02;6#o}c{N%~^8SXnU(ZjG5 zP~J$UAcIDD`e^gP!BFpP;okvr3~&h{M*zAK2@g$8n4e)kp;+ASf$8~}EF4^pNyP`? z5=MpMVR{Gxhekm#|3x?${4y*Skx;NilMNjMVTvg*V8IxQeMc~L_7J9G zDLD@KYfqsrg1MCqnOVAq0`m(#bwn@|QDn%wne4aF;o2C`Xr^)$;l)!rrn+9`PX_ zh$i6wDIBI2{~R!tAlNu> z7eK-et{`Fl5n;tSyXoJCr^`Eqy`{gSlIW--lMZ5f6knOv;}AXH4DLOBcO;yC8wsQH zkI;(zR&ek5MExQ;IQBO0|0?b{g`iKtkP$Hu{RwhPG2;@Y@9GY&1Qd6|2lglkA`#CJ zE1davfM$1-;R(6d7BYQmff2F&5K7`$Tg93{X8WSO55^{w^b3r%+ zTz8uQG$e!qAscoiXs$7gM(klIEFZ}gJt6w&!H+F7Sorq7jRiO z>|Hw8hS0HTp(ddOLJ2+e-iv9bhmNTs7_h;_q8JPb-Sp6l=@5DiEp!qB0Ydwe03q-` z&AqEDX_v=2dk#MOW;7a&Mx&8*)%M_GjNOO$)l@W9>z<&^&LCKBmy$$J?=26py8TKp z^ATi8k2GqM(gE3PLHG;Eh9?vbtYz!kU-Da=e1F9?MH=2@_-}$WyE-dtkedK~{=;af zd*6j}vb2>>V^>l1M^(PuSR+9yr(_k*TF6j#dU_B3q3UV)_O}|3k9g+d9_6ZDP+3nY z3xX69W=FP>bNt1wG1!=T(ZtKElG48V4nY&ePA=D7GI^jU z5rlC)$IOqxnT-?%RBScsZxE^A=-Fl?iV}+c{+rA@O2DVS!K7105oDW6oSC&x*8_>g zypl!*l}fT%4ds4&`Sy@z-=O=eqK+a8|FCjKL(gu>N;9;}8Iyjjx1YVdiYa9ORuI)` zQLM5SF69r=0_qx7z*8G{B`cH z!)>NT16&J_PkmZvJ+zPnEfiLov#hBbgMA8+Z#?xZ`gYz+v@j#gQQJPyBG+hpgnx0ILa!{5)?at(#`tF^*#?^j!DEPM7*ReIWcOt^^&%3 zQT+{477!UmL5?ykD0EJmZdii(wzebyvF^1c+tCV84gaYz=$|Ix?Pz;Gmj#ISU;h$v zC(f`~vxs`Kb@Fi#z4CQ|;pi1_%zVB?s*Ma{@W6se-(s@biUFgpe4QJmI>zR=2eO=hYwnNd!&dE@ zckDl$`Rv)9rxoM`sAG@LAcv3L-FMunjRsA*p<_$ck&-|p>Y9<4+N?)vdoSEU6{V&Z zf9lkD^E{aCts_kcq}zveQCH5FDmuHHxl@F8;*|k2UnkcUXT47DxpvRi_dy15&kqo8emb}R%k0Y8bEzLlD+j$!?A#5P!zT%~A0GBG z7_ePAjJ1xdSyZw0wz-~6^NTa-@Y1=~*43xcn!5wday)8ocWW@W9ow(*1j%nTSd3pj zFl|-G`>?2kjso3}_`XNe37=@IMhFQ_5=zh2m2C)`(@o8MhIQL2Tt-eq1$ z5xTb?L)RBTCnw32cc6bK8Y5sj)egSQ8e2qD#H5AwFS6Q^B~_gCe^SH*VF21m~P0FEMun4ZkHns(L*KnL6VM(tZJ0i8>yyHzVBM>gvi|ruWjKwkz!Z_WUd+ZQ!N0ykl(TC{)C#kul?@tc{6#cyg%BjwIq_gTj_^>;t z9ECk}^2I3=MifAt-vavzs%Knc60t^yZ4`OCGS;MlpXOc)?#hP_eyRqFr&DFd+kV1Q z8?@ORSq<9CfVHZ==5OHP;qtTMUt7u&W1i=BZ1dIP8|e?Ivg0yF)*< zqvajpX;m!;Y%=O$4NjUKQ#76A7`@rhPSDUHv3=DoSn3Ds?RuT_b(4~<{K;&gP+K-f zYJ3`0=0Jz2F`w^FvooUC*hFL`EO+ctXf9-z3CTF>Fb+8iiFp`pn~-6aNA9&{cGE=9 z-;Z484+T6$f?UnL+;-88-D?w}j$lpBYWzVTHt>+cle5bF%a%Mn(3~F;<*3f;oQ)-S9yF6lcg47xA!}=Wl7Kh6yx0@j2bG=!df1X?1)rmGPpT%tjwzI9 z59k&~jX8XZ^i&|_I9zLJ481hJf8Sd8(7^v z=)1fUXWcm~XtJ=;$IX5e{k-uw_@-ZwFb%eQn6GDT2JFElf@QN08Q{S@e~L>iz+J>R z{PHLwRK9G`v2}etxR)VDmO7u}x&ZM0?Ra!VAEJ>?=Ty=t%ygGe4T z-+XD2v=zu+*G(Y~ZPoh->&-kqznjG~D%*Tn;uiB}sZel^COgB=!*RwB(Vf~WiBj2U zp*Xgw-}NC)F#xvX%CEYY7@dg?+~UZ`I&F1W`+C&ZwCQjwm>1(L`ZkAg!e4aR?rlg+ zmJbodnc1stQV2%X7Jj|x&PyoNAN%j>#*|N}M7XHGHS}q`@Kru-vb724Fzl5^(92;k zSyx<0B38Z#8Ge*7Y;83)RZe}B&S8UcS*%#!+G>*?=ubDM8O6!3~G@^BAVI=Z(%+#o&{40lP=a zDwgbJWObvsMK{!ddPN828IJ~>K?BshXv^NBVmtf!b3LOF zy>D*jcuaitd+77{r~M?t%gX|kRSTu8DqTMM<} zlB!2kG)Y*Pdg=5hR_;)9KG?je0N^tdKi_YuDxjO=U zf2ql`o`rF8m9U7h;rzP@^62B1{>cRZD}12>#bQVJnhhLQrj`oJ!Xn3oyRQT5{{_!i zvX_Bvv?m-d>Rpo3RfbBZ{W^aeR5~BFqWYYPGGUd=`pAsC3_<4hk(jT%ETxl(`Hoo= zo*Y15J%-CrkBEg2k_h82N#2qOue@#e`)@Fky|Da3N;p*dYl-m5F%L(t7F~j1!$t_0 z7*}GBCNmv7+CWsh;V{kA)#2o?8{CBME}EG5oA@}0QXF&x#UsZG7TWR4#o6P2@yBYh zA2#UKz-4{Bpz+f(x{Af#;T2?`YJpkYOhZ}GNDMq&-L3LCqc<%~FJkv3ZF2(wzom9{PoEz5mKf%vk=_=uFyoaLfJ54&)> zhlY|`oGm=6Z!-+O(`bPzeGiK+Iq;?X*^DoH-`$dc$u4M+E<6r~a1RLc!*l3M%$Qv` zwdiFK-s=WISf^!Zn`q@<0WAG zw5rKAsE>PQ=y>|97pU#m}v3q0Xh!VJ8weZFDOi zzSzE8U)R@+`Ud6f0ZKE8^`50*U7(98@!oarX^kcv@qKTz^67HD#9`L=D32dtatQf7 zOLFRDWpEH`2iMHNaVDxlUlFbehgD@G5S1rpPJWI57ft ztw4*z;CR$|v;G#7$i7i0N~w4-H$O*N4@ByIcGGPp(V6vn(vAA4!cL>y{0NHKN4$yD zgr7%UELjD9jQ`||3s1%;nuP3^jrySdZ$0!)x*)s zdZ0dOgfH{n;EW-UC)&Uh2ew8th~GzQ*ATz2!gqG=f^Fcb#r4s+#w22azh!mzlYZ;^ zBxk|-xh{3|whfwRR2CZBzgzd=`r@A|ZFj%Pn=fJ8*U;mt3%IeGh>dRsibl}ZTEbdi zR=Sh3u<+=_s&vfN@MP#X0y9L<`I_tPAt|A282;+BMC zUyPHI9)y`c7MLb)EM9D0oe(9SAXz6A{Ci&ssPZ2SPBj(K+naf3a%N*`RYUw7ePg?n zgVD6FUijPJK%2?Vz8;p>9A}Tp~nm@sU)#Rcz99775`x7S10hI zcodnd1mgR%{-@+N@a|i53c_v5FJaJzEbR6v>DC45tL;eu-xQR9fy=@~lqOV0<}f$f zfZd+#2xRZ^{YXo1yw3R#!Rm#Kc{IeK#7b1-sYigdDow0X9y{}@OtSug(ivrqijtBX zLE&+IN8luadv}w9LY5ZqmJO@2NhS3xE>DRD0u{v;O&=J-=f32EpdkW0ali zS+pKIhZ^#Xi@F>itKj_rov4cm?!Y?oroL(+5P@vbBSfW&1EVu^En2at0B3eqEj^Q` z1pAlwuyWZfVLV&{xHEKeU{j2oYRJ;5^UVAG`AC-%p#b2|#pGtko<^5-vj$IU+$vuRl4113;M%UAc;c8c; z)f)-ar$_d-t>7JIqubPp=deZ?q;@!IZ{IJFW@@}zLlA2`IFne+iQ!vi1Pt-bWF5Qs zszd8)lB;g%Bpd$-`C6!3y=~NCiU$^U^-c&0*Z3NQOPQ*pLw|ADS=u#eZ-**8y#3>B z{;2R1C__Cqe(hV2EE?T*NH;II-JRqWHcIe-mU6!w*zPKT{xftSRH3CADj&$-H9P$F zR($MO-3I>OcOIyNlxrKLdF}$}VBe_u20^uUPW~watU<&~!ZC~5qIWJy7ixU}qLdu#9%nrB1>;=9v9UBut6+m_HPef;gtxGJ(mX zIxX5`30ZCwH@@WB))aX=u4wWsy)2AVT?A0a*SruMJp!rbdssKCmUcoSWT$_V@+m~v zx>>0z{Xp0d8P#%1%(iK*A=QRQ*blzl)>k=8L9`_c#~tVlYdZpKQ-|Hm&7wt4cKug9 zUpe|dOsCCO6H~=E2OD=vy{W@(KZT>NW(X;AvD?QoDcN|E0|oQxlNKuD2C z)fo+~|Na2~UrkJ@N9Jb(;%i$FS1=8wi@^w+Ptwt?C{{RCMvhHg^9lI$8PUD0qjW&2^R6E-nDO^0kgZc zgsJ@8Ou2~3g0}n%b~iBbe@eYdZQSk`-={x@PjmQ2)mcxlXhPV&p}tCVK(s%X^*YiV z%MlwskEJFi+VvFmg|JtD>O(K>Ddf%;Ct>D)?JL4mVf^3n=G`42!A?Ar(xD{7tGw&R zJVYP;7p3=6ry&wyj}g8~$VhfGfU9`(C~uwB*Mjhe%hH4qVBUUs#hscr?>@jbAFJh?XRWzoH~2M8;DkF znS?Bo zChY{U_5bME-zKjB4BsXJAOG#EWbue!{NI2D?l55J*+91UZ`pJqQi~4xiVfu-&Rq_D zsVR?(8lki)t@e5HE>VNt=R69_`xa9C&%`u->#%N)l8}q|S2k{65GE)b&f1T>p80kJ|8a z{y08SOR40FMjh!EVYIO!1)Am^$j*I+@A8+*>=Ko(3o2N%@uL}jT zCPf1BYVMAYWjZq5sIXDarj?bKOS~03%7T8atNe?|05v(oAz3Q|^0J7@qGJv9rWuJl zjzf~7O~~8YDuhz$1@GJq4MarK5r;$7*?2@rlP~2#>%yp#(cfy8zFGy7b>8yQC4Cb42^aZkWwX3UC4DBN6#lKxs62|reJmyMsL~1f zzkFH{zW+G(!_>&6QWYX9%5HotefEHe#x5Q@+8aukflr&LX8{k?Bq9-k3#+G{mE!eH zIU9Tu;Ol0y3o4)~Q(TZs6(ny!_V?_`C*}F;Q4yF=)l-CBo0xo8eiA@urnnJO)!cSy zuky2IFv1@l+NZmSZ`(&p9!~+^wHRyaJpG+PRFK7gWTW(u%eaZ|n=aq(KMuOxP@k&0 zQ7w(iSclD+0bE3WdZZl_9jO*+p0DuD94Y|IThkO$T7P{5?Z+vX<#)|nb6)O zI#$#;Y3^c9bk=+A`t&lo2hqi-%X%7hn|lSaS(oh6s1yG8ZFlrYK&(;DU+@;oT7q!p zuIdTM1p`vtHU34fli@e(V=xHrGBmbtH}&*8+3@Ke;IY9(G5?;DFuVRMh4e-tnh9h^`rCW_6Wv&m>BY z_Et9pINNr7$Ft~ggDqQ>B6T(O#=ED3t{w)<%dipEK9WZgQ7K^>G^#$$liY44@b%#X z)bYQ2v{6ZNs+H>#J@D{5h;e+ZDF)sV*FLO8w#*?D=q~@mWQ|?$Yjr zpZcKc9d1d{?FPOOJ2G0@XCaG79fcmBnM(X{@nn>o^5PZ|JR0SL)6DXx6++Y$Depa= zBDMJ~H6TIVVh0Z~ER$P?kb4~m^)*3kUbMxB)X%G0G!l@DE=Z1#@iEK+)w7BOv1n($ zimiX>ik>Y5zp17dbF47sB;wGR5cf=UKHlC(t1X;387f322YVwukagbflx~FzIdfr` z%T{rXQO=)twLaTOgK+h6l!vT0%h$~gQ&q;BN;j?k+CmUdH@*U=?iuj{mNOCNqc*Ym zRwDXTM2KYYUvwI~c>z??5>b?zS=hEMkd@x!EW%o6=$nhb9Dtk|yYNl-{mxJHBOcU} zMZ1BB$uPwHz>1UV|KF~Zu`eKN9yoCIGb*3&g}XfJtg6cEUut&sO2CK0Tq`O8*^2!n zZxt2apyQynYav2}h}IAG4T4`sUzntc-2#j}wog^jNJGiU~t%&zTH4 zZGsy2^B~K^eSlm%WAV{!t-&^wcROb`r{7m$0UkTD^&!Bn{A|MbleO;cBAqF()hZoR zgMa*gzq6*=F=Gm?{Vf$bzJi~s<9AoAcG+2C{V?UjOr+?}TOpPG8sUnBeDLVW<&xK$ z^LICbVO;8AfgQK3el)iSlnl$>?Wo|lyOtoHKpprnNdL{`G+>t#Zvq_9`?JzffSkXZ zpu`4Y0qkbH+9cAS^=dAndqsa&|FE=gyrJvf1*DbA+;pNJYiNIUc`0n@+SapQMkcQ1h%uc6C3~Na=mtVCl+6zOPzfGk2j$E&;W|E49;}z=a z&&SjM-k3NHe>=3Mbh%ENeMHtf1s6PxW)tD8Nd)q(`m=& zsHJ<405lCvucYe`G)M_`T1c;*r+c3fh~wnO@$fMVV?-56b)D?L5pYl|Eoi zCHWjUHYAAq{_?8pBNb74l64g}!u7aO+>C=%nvx#yy|LuaG7{ah*IN>$I~ z#b?dpvvcA4l#r8brB~M=R(-rPThL&B`bi|axc*2lZDYo@xdS8o6#Gu3~jPxUQrb1Flwq)5$m+TRFyFIv5NqD zuY)qlL67Jh{t<86a>lL4NsldCeu!g8t>Q^$#4oPv;`p!E`z5a>Lbf=~=|_Q&V17Ie z%-hekmM`QguM^8`P!11LnzRrS?md>hY; z|6F&43{iJkWWMa|VyAIaTdT?Q3sun~ zJY8s75K572Uw1)$IALElv(OI#HbWCP?k1ypIiffY}!M&%q%nM z$YnI=E3`@drdNMAa<;m$L%Bmvf;Jdxzs@r&ThOs;K(%wfCV==9uCR(!Thy}(AfAC% zs;L&+VVStmee)`*Xd>M}SbQ{ypXSfydgNM~w#YbQzJYPPmOsA!2L@Gu}4^>;ukQIAwT}1k_^_uUZh?B{g2gmfA%6 zUi;$B0Xt4!-m0jp?2b+@`C{&5-%WxTU)|U02>3uCI&d=3YaZxmH($w}FXcRP{~g3; zoewp09>Trz@)AklHOwe4;Yv=DdU)xGSt$MQAA_0|yQY2Fj6)W11}|TmkYAGIJQFYX z=Pd5OHOr$fhf)ZmOp|0V_ueB~`OFWmJ=g-3D2FzBtjD(Xbo!@WENYN5iod+A9cz33 zH8!gD*o4xOyk8f7$2-gvg)QXzY+#F)iEao&qTfCnt$ART=hf$0Nx2-unx<%(Ssu+F_n>!($$KLvSH-(G&7c{%RTYoOrv4Y3nPJN+rHr17u9s|( zjawcpuHp${t`34QwSEwc1C&pJiB6+4&0jA!VEnOg_B2k~Xd(%u$HKK_+s_tZsQHYy z+lD@|NUYHBOfb%k{!uiOmbTfsfNh+F!(Xn~%0olDb?-8?r^lmRvj(6|m6oy2({TV> zydTbP4UpEdRGszKxW1q+>Cc|0ICEI&KA2+?G&2b-kQaxQC zPZ`4x1Z0QRsk=SZiduwh?NljMNKyKXX=q995(Z}9G?wSf`=_1_-!Mb};H_xwLNp1~z71F{ zF)>MP%)JevzGJ+2yuZbQrB7Awff?51|9-_pEM@sdtGbv*PF_^cqT6_E>&$Edqh$k$ zx%D8rJ~=;>2#qJw8#dRS>dA&^fmcqW2J@|Jw-HFH=-mX!h+LK|tYZbcAM04udT&JN zx!Q$EH| zb&U(71$9>Ts---RxUH;iiW-*32uu*ed*{jkhybib+0@bo;c~dj`?mlQx+#r1-BymnAy?nR} z_M8Lute)bCY9lz%i1cS6O?9X7xB;rF*;WFg&%_!;I9Qs5dUj+3&p7kov3Q(!jPsX5 z18Q00K(N{`WAJ9Z(E)-FofI3@RpP^6tG8T=0EPyG*$oY-#dy~H_4i2etlk#YuIDNA!dr*~fJ`ZkU9D9GWiauF}-6CCu#we(vXSI@rPL zcMX=A^-J>;-7KoT8362_F)GWKu|Gql;X_)l*stdog)kyM#!rpJPEE3;U?HLU46-U5 zH8h(nVQ%g76RT~ZrQRWc4WBAt?(2h3IHUeE1j3J9%P`(@bLIT0MY*#AHaO9ODYq6m zR49=`rB$;nDBGLW%(V%}lz8vipDAc_OLzix=FF6=5@u#+cYA2q=`hHXX^tCqkDvQy z*&{A{_;)(Cc$nE6LULLP2BvU3DQNY)5IX4bjkz{l@2mKQzNCpYXxPZJ(xGkY;H*A% zrgN89$Ia!PUBc@rXSrOyyw7zGqQ3l|mlR^{&%v%-1DUu*JkH%N3clQd1AFQsd-+n5 z+H+ozdT=^tU1BxC*y(fn`aN)Lmr_$PRq%&T)U!jq))+MHkA%@MR3s|Y?Dn0TNQkB2 zzJ)r&G+S?wZMf*+U}DoF3=dLIuW+Nd)Jy+h4>jy6 z1{Q}T40~Hl4{hS2ff?km`0y9&t+;~p)pc6_It`)Z>GtK@{@Lgyn=xm; z!xu)>PrHmLWYx|>!viwA=4HjHPAdUHlcFW)p6~!WODd*^K8<4ltPvvw5~+CM=t~s_ zqI78k5gOxk>J^f}zDtL+*@>1mfC;O+o2$wgq@9X8Ljx=5sv_grUlLUu{#cS04RhB% z!3LERFeQ;rQZ)Pe{w;p?uK@gp>N6tBTT+A$7!=#DvqwotZxt#TSh9mNCG-jMPC-cf zhl$~>3NG({4T!{f7N2i*JtVkV7uHQJrLt&6Fhke4FZ!vLFF%)HFy&0{=0Xa*!R`KU z6O2B}XZe12Tp#yVtZ`{Qx~AUYW7GA| z6)70ESodkvR>)0qe_I+g6l<^65XP>QmVz~^p?cpJGq<6NFboX!jK$^-DzzW0Uq(OW zv9AECx!O?zmdx(-u#%*zu8i>YO+!Z8AKMygO6GbOm4kZsi}`bFzScv+)G8>=;MCv~ z+72T24d$37GX$4lHXxt>hfZd_=HP_cf?*h|l1mD0sT&gW0#k2}#PDohy{mfX0_OH& z6%)WtKk`#f|54j(Pgr&F0yNA&@2SRo>%Ny5w9o7GWu>0_xgX`t!v(sJ^fM1nFw}w> zu+|wGs-$U?@%3LLJSl=OPL2NZt`LL{k8?`-^TV^uhCP=kr{{D=t}#fVdG{O1x487HYzysl`I_l1n9Uqu_jJa0veF9X?XJT+n2ouRUpR4adGpi&lk44oE4f>Hfv#E3)K^+-K( z3W@?G9IrI~&XfC5&Iok|dCrR)22e3^$err1%vq$U#kG1g`k^SE++OXig;v$=2Iu$! z&g|;sBihk`ySoN>3Xw|yoH2)q;_+Mp@A8%ey%$*O<|u!j*SsDb+zhF!Vos;eCV^Fk zFA3V_&OlbTn3q@kFTAzW%-!**A_Q=?(ar`$n&X-z;VUUxh34#H2)g%txEWR}`xP_^ z4Y4p`?AaAPRrLBAT6EFEh?{Ss&HN=4Z+un!0n&}AD2&CQ3)en+LXN>3oV<^yI6G@! zR6V*+E#L6@^qWbTj_P1Ys)^r6Jw=PCBD-vDA{rdag?VW9UVI75yweN^(G9*O;>#Fu;PcnG=y7Rl0?i;l;-a zjHeG4U7G+tQ!R{m-%pI`+SjA2|BCtIEcB@Q&Dcp6Yu0Iah~f{Zt719#O_L>9`UEp< z5ZzAS_^JzS zA^O<_i;l&uari0zNc4UDYOEDc;N?R;LLrww+r3)Uq_rLR=dGC(;{lA}&@8{Ek1bL6eVmSI1L*1an*dqpeWx&nL1Aet|)!bVfg!qr#_L!G2Xj;VPolNhCo@&Iq7 zm=o246j-K3bmNDR5+sz6NByF@P7$6%_cw1E_VmI3e!kaX1`>6TN8 zuZ_keOk`k!y<~s>zt}5u=Tq$Azuo!fJc5z5S$vwm2ebGIOrkl&pHCBY+MjPqv_A0X z(_EVc@SPay6s^F*m+z?H1CR9OcR@w+b{)?YByX0efxUrzRfSy0$&!n#eF)a^`_>>n zS9x{>a!DB5>5g~><#Lw=+(%;iBrXUmp@z&3;;S*XFv_f$+;x(ciV9`}VniZ>QA`lLM4_+5 zygP*R7ibaC)9-X|S%sym4(X^|?e<98ORW|2}db5I>c zp$c_SUCbcle{#dQXB)UGDl2**H1aqS9%`o5ui5*!1VPQCRmW0T`ixNxQ74*D2CLFD z^FCO0hbqzBKR}hX&1C_qgGnU(2kfB~5*PRnO@frI>Juxz8mp)ntOd=jJbmECl}J!3 zT8&kOCIsG)Pi$ujLD4664v#=kYrZnn1L{%@vqSUXw1B;pY#s%hSIJ&T>e2!RBD`Y^ z)z4iC%rDas(kwFAUOGf`ZW((Rh2&isdpnaD@cE+yev_c^9J&CLa3)k)Z;g{i3c%wip5jzdkNp{m#(U&L_F=A zyIoTqtnk?6Qn}(9Vpr#`srp|hNE*Lajb1cH+K6<)vAt@&iMhM8|M-dTY!#K;7^n*s z8GyalR5gTf4y-zPHavtQP(_TiVXqp+JKlAl+O#VKy7vammlsu4R5Tebkjr6(%u7Kc2;$t7D9q;I%1q_(p4Mu z2xh%bBhBfjRnMZ!-2@Nl*5o1uZdwv$$4bjJy_g3R0!wDB^KnkZ@Z^Ca_19S15>pufRT69as#KfX^1!ToYr&Uqxb#lb9D`* zKC^;^%bfDQ)Gy~~@5nFMsQ%_uOYr@`Uo1=Or;DMbFzb_v#@}YCc$r$yv)5WoNB4NYs3`Nx%tJ?y#QIiLS#g_}Hr&wj z{Wjsq6dUtH7u5OY`Im|keA~5RPOM}#4T?Iv`6@GMcUjK$ZO8N{?hT2n4{_PD&C_&F z!|74MX9qZc)KB>D^!M=VZ-W=_9{ZvAO8*U!>b=hzJvdw`SiN{i$}01>wI5WZ6CSy| zYmGgZ^u%~gnoFCpJaneQw&^nWFe`A@8>83xZpD0kY2xC>)aRe~O-Nm_r0m`qQ@t+p z>kZY1mG>>zj?#Z~{vCGtZE){ywI%1Ou|xT}+te1{ZRj@ROvR(jQ@8eHIxlDHC!6uVw~YrgHyoe@h|Zf~;Ky1KT~E&Us{obPHmF&8fQzQjd;)|FD* zVgpvvWFIc(aD&k`xrV*v+|rfb8!z8^QS!?7xo|;Ohj%sFve<3)(kY_%?R8tVLLUws zyXeTu_umgKeA(@Vx%YyS;}&i$H@`huX>OJKYq??a%}E1~SEsrro(~iC8uMo5!!N%_ z-_ajcu*ER$U1FC$w{8F2oiyu&v(c)tM?KXeW9siu3(u;(y;{?DrH|hG;#l{Wl{Mo& zc6;3H`=H|TR?)*hLyVK9z4lJwN%Nb%V{-Q1dO3bx_jO%P_RloUO__J}j#}=R4;Mlm z`o`$`eC?IchtZyWYyUC(AT!UoR;n#?Qd(Y3)Y;mx>N6;BW2(h9R$hSMqEw{j z)^~ZPNb)4a#^Ld|8U(Si8q!+WR0F0RP)R-Hu2=w13M0h_b+e? z^IV$ir7=O<()8gv%%$`r#eYY+tXDoB()y+D2wZWLJ4!US@f0}(V34Qd^2ho<>n$mRrJ3PB>_7*Dk{@}wi(v|$UPsZ_Qj|; z5H$H>deTvoBkouQTupX5SBabSH4N7ox9hsvsdWMS`UC{GEQl9uNbkD1=gMWQk3kwA z2YkhDQHtan@flH>>V^XlqUC z=bVSYQRn{5ya{1_TxSDEY15ull~L)xDvNC^Cp%9#Q!_&PaL#~D4yyv6TonJB($mPuqA(F+$AfNa|d*T?qmG3AHj?VwYe-#VQ{=KoKZV&ft zPoJt;H#S>8G~Z*cVfmlenZ9jJ4Ga2MY8?Hx-SYS8G)Z{)^%;dWllNbehK838kc^26 zdc|z_IMls&*G+4EfpEt4O@W@CJ*Rk0*gY;oyZ5FsJl51PeL{S8Y&X<3-674IG{>^u z+xA%3a$IZjYyG;3ahD2A_B}m$dgF_X9(VF$LM;#e(F^Rg*@|(}G%P3k<@T>>*<-su zJ<{h`s?ae&|8nLy?-zqrQ}Wo>r&QXQJ0=FIcoa4G825dwBR(&6VaAPYQ2EHre^Tvy_;S$9 zmpM-chi?n=s21%kw%dH-?SzpBUfo@4{Z!-8xz-f>?YW<#b+2X{zIfZ~a^fZb=C60^ zlBLf7fssird(!rO9WqLScPOLF~02v3JLvQHi>=^H$?K)`*0jv$g$L&54B; zKSTRgs;?|9=*L)n^5prLElZ2dPE0qADZTsd)8ZMSQjz}f{~EZfT4O|4sne~1%<&nSBgjtlZahev47tZ=PL-W|GwT&GqQ3JGz*h z$hpRUt2*dLSN-)y*(?3kzBXb*C*L1_VA)*#r@hoU;paB zWB2qv&z$e)AmL`*PEPQ-`2NWB^_gGao&U2=O?AbS5ow1~IVK4Qt}zY2uTv}Pb!O%n zZ2IG@q(2)>&s3}u;HhCn&#>jaq{k*S-HSf(q=(;!6@#Xfcyo0&YOlLGZ-mQ171xRP zv)cFrdiIMydA4x+u8*>?-WvBj@9VVKyq@6aFJ9YIeFb~}tRv7Gs7jgv>;V#j#v zif5IhqlMz2`ej|}x?c8)>{;l0D|^!W(H_RXcJiOa`$mm7IN=>Q*2~)aLjm{B{X?zN z6*1Q@3w>hy%yBL`G^TZ0U6uDP{j+us0sX%mf4_~lKKJ>BKfXq%cUZj=in2mB?>oBP z%D3ca$i~)6U(?iWmy4rn3hJwdx}B@5iPY5-_8y+Idi2;j1MEoi7RPxFWifYo+g$zT zh=SMN%u?^|H>UiL%C`!ekV{VEdd;az#9deirCaUWH-xhA^AAG#W1gJZD)smOq32@L zK7ZWAIJIA#H?L>zZ67y(S=14)>opaEaVtuVPM<$zW7lTnyQuN*gGTk7ADN;tYiy=> z_q{S`MEZdn?Z--sye2#_99*z6bBM&-@=3ykarxWl#s+LzA}uh~`rLXXef-p`!3EnR zR}6C=WgRTtzHgcF+kVf^jLLlSjsM0>H+cDpNtz>8bLU5Y{1NQpx;A=EgJ9jHm8@{D zIh)6&I63Z68E|K2T*88A=XKVe6Qy27W-Qg^}rr%`){>RYO-RIBfa+iM3Ubqh3SUTj<*cNHw?2KNe(&67PcYnL8 zEPBqodDkw#j&C2D80ge%V7pPfuI1*IeSdmgTJT@Z_3hOK*Zfv|w0Qk+a!B~AmdeLJ zY-W!1{r){Cy3cS6XU|A}+_I9r*Y29{D=6(Zpd`w9f7w?{%WpnIjdYbX6N8YZr z@aUOwez|u2jYEen-d)PGdnVoX%W&7Yg}X-Q+AYusxD&w){orzAb@;>OZx&De7Sv|i zl5*9H|6`}t>XPx>e;4!1@@-Tu9{;WtzOp27xXMaXQPr3co2@2pQrrD(%kNK<8y`Nf zbuylLv6#7c*oBgp1G{{&`RO${=Syc>pRtmu+^)oQb2<%Ky{_F9~&sKsB3 zK3;aZJidiFsa8F=n~V5cyY7nz^Xkjg*5r2aOAHl_W3z(F?$~bCVcv8oKCb^pf0cfB zUQ@-9mSwJir}**O(wT>*uR2(KZo&n8Z@qe`+s*Glw|9vWd}=kDb> zZcx~=RMwUJZPufwSsd5hXXn*(`Hr9;=RL-K_O%=JVy%_sg5h5T@%`94ya!&p;_Nj{ z^!zoZQuX3`$er>8kN*Te<{n$#e7yO0{Z7A4OEiw}(4FjiYs+fQ3soD|4vd<$W!kG@ zpQnv=x;(MbR+jz7=hO*P1q_B~`Xrr~Amn$veCT`OO!-fOyXMbnr~TD1+r z)y0dZmS$Ag-WY$PDRWVkqw9o4)8-f-_GG<9;s2F%`SE7ssZDD&%t2`0?Raw^)~BaE&kS$8wy{zD_=Ptj-(0PL zo%Ps`;G`;7&FGkASwp&gnAH1oZS|=q(r&ARRR$bS*LHbVaEkq5-KwXhYNiM0X}aAu z8MOPug2RQUbRAVkt6l0H)n}<%-mN>nv#wdq<6CxXGI5U5Ozr>mN=raQ+J}M**|DCB z3Yylxt$#Zx&!^jPE51cdOYbDS3_An`W&Z`LH$@U{W{2E5AxbSt6;WnqDl(G#y z`+i`0lrJpvxjVISA>J#+{#99M_Xi`N*lK<5J8sSgPn)#JMuSNSwGRdtZU1gKKU|u7 zXL{|^W&W|hi|4z{UjHdNEU+~^KWc!+}(NpFe37z>Ze74bU{i5VyjSl;U zojch3{-?$UyQNXjW4x122K9>?J=yBg;I?VIs;7AFng8NNpA5d;E>Am+r9GE$k4H|w zpj92QBx&%JE~%TWBb(=DJZ*KDozI{EK z;@ig+{|OtuZOZ&PPfhwpjVPP+!=hicVToaMtgq(ii#jp&)dtsFha5@EY$?`_+WULf zuwIW>4A35+Ib&s)_ZjVa58jmq2o2vyoDoN87f)%=&aphc?bM*8vaB0RHc4kio38n$ z`LjGFX!1wzhaVU_GZ#Eu;PH7*sHv*upo=#5>Me8b*8QjpmuozITm%#FR#dKs$Ss|^ z#~e&0?B3jCO3_0eB8OS~T&$snoL~_tB0cwF(MGc zobNIRD2N6zcbV(xbQX~wB`|2c6mw9ziHvLSw-doan66p|x&>hdZnK-69+KU!6~Wpb4Auto%3<;yZ$i=l|Zfx``^1px)~woE=HaOQgEEkZ2! z)-zodt$5!!<_I#~oH=VtR};t>lMA{f!Gj{m8lOZn`IeZY*-6Uy!6fD&CNjBU@ytmS z)(i2>scd2}y#ywG<~JvS`IhA5L@d($J(ih=NFS6{LN?o)#2Bgv1UB9Y=6J;*z~=;W z7SURA0%1t&B=a6QMr?rC6xiPr3zels2;a;ob^3WItzQhVHwH2b!3+@_0O$5F?-95| zGnv#$2q?~E780#5)0q<#bl|obOe=E4U3;0670sY+FY^%r4B2s@rk*Q5e#~mJJr1-^ zFyS%90VW&xR53+VH^|jMaHNXao9KI|ie`;SSC6b_rjRM=y=UQpDKSZlb}@O>07SPv zyAbid+Qm#q^rx(Xi77+3RWRve=Mfi~G2}r36c70yXkG)2ju^_mQ7rgtR&4e&T`2k! z_cPBEG(cq?NsU9OD09nvzZDQ=7D%}Ovor+4rO8Y&)i*hrxt-{1oM)@*WX~yCnxD`EpwtmBDg~xGm<=SKT}VOMCLF{jO*WGHjqCl#G^bB-a~f&j^1;)ZIvW|G z=9hNd5dim7q?)UO@NC2zK}x!TgW1fP1nv_D5OTgAV2W zVCPU4b)1Oj3}uCr^YgnKi$3pl?9TEdOEh|qL=Z=eWbx63uECgv9FUo?R-z>tWg>(D zu9y```WC4^(p;_28ij~~T&jJAuOVc z`S;JWvfwiKhb2FhHjuqL#RVr%h%v-u^7Zf{glHLlf?B!rzn-WeL?gR=iki553?4%h z$n(uvqZdNamZ{48TS(l$a>VHAaemQ}jpSLg!MypELP&d84oyhtaV0`z+99I+-Ps}* z;tvcW&7MWBab7>}rYAuG-T;rF@&N(|knj=Z1JPUA zhY9Hs&awY|uCjBaXL?k;d_kVil_+Tf>4kaoxl|Z|d(G$0B6Th(IOL`-Peo-7^twCc z>k{lO(=z8`O0i^Z2-lh{z&LE=k)r~64v>KU`LKec1D+~b!ly6eiq#M&`DYH7TAFe9 zxm=tSX>kyjilcCiVD3_)IV}KbbqnC;kVG~wjl-tGqjY->;Fg0Kfn-Yw1~Q72D_Hu@ z6k*`#l42kKjDGP3b@K1xRWH|?-FqG5SOY2BPF@J0FmU20`5wZBmeF^ zn$i63yjIdPHXK4!yVqf^jMRpfbBIw5KhJeU9p?N(g!FG5p6I zPvr2t6gG$FaCl9m*MFCyF-_5Y*kzl>0798et2L%7T5)N$#+6ZoQkOMEd+b`RqSA0i z#)yCwI>RIuh%VxGIqC(g3BU&?eij?&tEjx(P5{<+0-Ru}v41`>(4>nR9@IcbFKR3& zR}%lh>TXo?nZfFoQ3Q1R1uoq@u7azxm}nk8m`Cw|rw-!`cWLUYcugEcf4@)XQEnX{;mKQvsu5AlC|9F2 z`%Wbkq^bnXM=+n7&kHA`imh{bwEz8YE^i~b|H;1}P(K$gM0Z$nHP;6nh|v%c4-4l> zNqq~8L|8u?$%C6qd8N#|MLarm93H{5CUxMl7mxNn0&kuH58-i-2SR462Tud#k*E`S z^hc=i4~6@6Mo5JjAf=bKAwIiESU}FNPKl6?6nsmBG4=#~M>RxLz1!h88Y0wJJo-s@ zAtNW-U&7TSI->d#k|9#|*omqldUw~LDyku3!c<)mwQ!sc5Oq_f?MGfp)L(&vHuy!m zc|#PfAAQrok6*5oS18Di)ZtM?GWGA|t%W;lS9C%o>!-VK)g8U5t(V4;LW$-il-W9H~)7Y;rgoOhG( z|Jw6Q+ITb(QEj|{CzMM#*FD$GG7s4WxH zPGFWym`n7~-j4K`wq1CMXkD3v=v!Hmu#|L>{&7M&pgI~StViMrS=@AMCHcx4r&A2% z>w9XF^n3bIZeO<3&w-{-rs+e~X#@XchA7|PC!OfCZ5Ac%e1};g5>Fp5O4j*{ywVg? z2S2`%*RR5T^Au4>VAJt&4mou%0z}mKc<(?_5ljBP4%i|TjpRVUIdb57p=c*f7kC*& zcaak&#_fYeRQ5*Rn+#$0iv*5w1L9wjM46-t=_H8g zrG8$5$dOq27 z=ZJDJ!asD&JfvR>eds0z8TCHeFOmTJ2TFC)V8kKOOG4vjY^NhT{J?gRGg(XT{8U5* zqIl9%Q89YzQ(lEo$*mUIkskv5il-w{++l+Vo|aH&OCUNN`LQHiG)%X{N~wvA(GUwj z|2D|7Vj>B4yqhDycuN%(Uq|4crKJxbSQn5xR7^{?Y^d1R5*f;?jg}U^zfH7KQ$F>n zCgQP*nLiyOZdFITgkXr6QWn4+Dkk??J{n>w6b6Si#Frsv#HhjJ~u9(ZF>gdT_dR{#Y6oKRs47 zh$Klmn3ezyysQhdjjHG(TA)F=A2{AX&~`<_)0$%yNq*m@@O~5{22-I=>@arRZ>or` zj_9^jjQn^}EXrl8%LDPn7N&*cfZt$oFJMvwKe!tTXY0N;Hp~^5>746Ptg9~F*?wiC?%`&KW*0}Q|s}T zBR2u~?OqwMo+mVrOAeGB5~H6z=JTSmxwN~Il`f{`sJi5gVqua`B%$4Y=fwZoc14V5 zPzrz-j%T=%nU`UsKCa4vD&);4zXz802F2%<4s`Huvl(URfy(RacH>UMV~u1s`H3Xa z>A!Pgbaw^(bht*i*n^Qxdc-f2IX#jfqt3eUkVzj9U0lv9af)+28Hc&VvNoW9)qN*8 z!eh`aOb9D*&WZJrH3*;V&hSPVC$b9*!#W>U63)@3*J8t1i0THL$Xh0_#2&1TBnQ z9EcuCfW{!!2ExL|hq0*82HzIO+C_dN+ix9xfCx@Da18Km>sWPUqORAGMptGqDc}%*&)&vW01?B)D#5gGNuxAeci^O>`&f04E(+#=4o~B zrJ+Nkf2L4gVIPGZYs8ueuBu~$SJ}?g94OuO2pW*2Mjtf_v!&d zTbpS9^Oiwp;=SK7F0+UP&5{Vy`vO`k16PxKLjnjODx6urS>u@AXkv3fDPdaCQ7a=VX z&o087#H@X{L9#dYw!(WP*D<5%bO2sGS~!HnQRGf<)bU^L!a%~krj12*?-slW9L5lG#z-9zHlr#;+lyx5>Pc!SWl2QY?P4Fetg3yp$SQcmA8aBfYwcy_s4d9C0#}tPu0dhk3UCr9`%;XyJsS^QB<+pQhCXwWn3Qbp zL?Ih&=_CMbfUuG@{31+9hh#r6AwYKpCs;x{`e|ngcaeRzsMECK_3FY0$TCD&nU=Lg z6OAj0DPI|YjW&Z~`pO_C2Ey?FS@41P+Re2mMdhExrMxOQn#B!9JV8??ms-n#{4-PB zb`Lk1G=Q3YTx#EqOZIcelU5X(&ZW#2FHGllMd$`ZdUf^(u{L-&gGHYt6Qr9Oj}lIV z0m4j8SxTEeIR8=H4P6rJ=dk?H%Q)P8Sd>ZOyM0(MNU?43XHg3cUhmI3P7%c@4r_cf~^sgrx_lHY(3|9~qXMjeQ;u?WK955Q7O3TOrXf+Jwbeb549>4{$EhfR?W?X*p$9(V1m`fy zpZu%6L)3D9#)C#q`YeSwxcT>>Rn1wGu>os~pN z_v%!nOiSRw+K;mHp94}2)pIn`=^`)Exf^WZ!fk0!tzF`B4zEXE6=NhIhCrc{M96 zvti51YC6(0aJNidOhE`2R+^G9U{S7Eg4(M5XW96xl*7s2d9^2jSGM&g-T3h4U1AB6 z6+NI1+4A}SjZr1Sf=esaj^BZiVK9g=B};zfw21zyHwK5|$2@EWn=vvC`!X1y2fS#~=&7L>+GBU%x~aG04iUQ5lMS;q|p7 zLm3yTMo_na4KKr}>`G{j?AKY!QuD``v>1ED8tyBA?b9d z6yc0KH2h1iLc37SyT52`G)nr^g8ZX^l%m5alKAf{yEQl5m>~5D7n0$c;m_5|V8hV1=-Fqb3=)&?o zMxaeHWz$7KIeT2%Mc~;5nbj*S0kurxLbf1>+yRtpBF*Yrf+gsAEwS8{rDOk3F`_Au z{|-(b#8iPB{GY<>Q4uv*eh?e0Xf-0(G8*P}AP}-;#v#iL6&Tb(*#Ze#+>A#b##WPV ztoa~DOK4aY_L6jCUyor_rUAHSW7`pqcc&xyrKjoGPSV-O?4fg1_|-j_0~@JByi<~J zDFiB55m|>wQ1)XdMpwj%c42>i9Ajc4;ey$>ITZI~er@Az4s~9I!@YAV>H@R|Xq%^X zlXNP?A>_09)3Tk@VRRNPBufz?dQ9m5*Ow{yI8|;iS|m5?JH7DYS>HJ~NS%BA7$Kwo z6Hafk7-JcOj*ajV2G@xcba^9(j`djgIq`^J1Hlb+IDx}`xH`%a;naNBi2qf&01Kf_ zf&90Be%&3r`*7I?6E6#}*e?s?WscXcv(LP=yP9d#x z^&`^2!qyP+MRa9{Oj?5em-x!{K(w|)$7`cZ_3Rep0=J_rd_Jj$ zMbDAz@t_AXLP>ag54rblXd~a0JQ%aOfn2E8=}IBpoAjk}_{^L9-srrkT|x$%bcuhB zbQoQ)Bh7QK^UF|9iJfw7R;ROdQnOuqY15hwOU24ao*Kt#)4F3gUV9r!_Ni&w^v6oX zoMF?oshPw*rfdH|&#e8%B3Sm1)gDZiXGCGsu6aYN2m#%0^5I8YkTShR{(&L>^XI~( zQusnNp@i@3qa8_3HMFx%wP3*mv}yl-YJm0$GQoFF$V~w1urAezJi4?$Br!n!Y>tg~ zHgawUqi!>JTJg^mBBuwFa>T^3Ha@!tQ$}tChXstfFbk&lmW`0tkP{eyxf%T_18!@^ zT#TeKLFP{eP42UwjA}mNBs|CI>2skI9m%EfG+tBwHUy@@^>NuZ2A4GLlN!ip5#KbJ zY9vLGOMXAOY=XWGb12*gL z+6jGj1BXli$}vf%I691Vb+ihbqofu#zxc<|=s@EuVw)ac`3Fz~AW91QVUoYU8{4xE zxr*!YI@OcpmLPd6az`Cqa9*8)Twcc8rdqF#Y=~xjb=ThkrNHgDX7Udv(L)6aGhjIg zQ7P$tDepo^@w{I3;wGpDH+aB59eyHlB2_8znaBQ2%)RWCI(6St{#*4D#7CyQp=z1r zx@wT`#8^oNxZgN*Eyr+J)U7U$^{UEu#U+B+Sa^SvBCtCbi#^nm-pxB`Sva<}wfDl0 zZTd@}CJ7w=+sJ%x6v?r$WUjU7J~sXL=j`ow++BPMUVa|?C4Qr%yz%6iOaA)F|L3(KFc#iCsQdsuMx!82*-miGHK1>H-g8TI(3Vs4Sxn0rF~=+Uu-4vU;k7xv_= zJ-B>$RmF!|Sz>Z+;iSU%#e+)U|GL|EpDgj!g#4x6@y5C`>8dNQ&vCcRcE0du$)ykD z)_r`CyCO_7XsY|_nzd(et+LjNa?eK_n$N9z|5@KW)z=CY6Qk8(7qZ#Ti{?R}N*l zymHXtADyLRX1nP#$Kn3suiZWIApv|1AK}}%w|}!HpV}Svd%0P+lcyrpRy}&2qhHa~Xe!%hs;^}dw8?PG@v!Fh9{H0``sn4Ec`mqgEzQls zEuC}4>t5f1U3R?AGkQ4fc0^2e+Sg}IRj<1G{kdH2xoFJNrD0V~zJ(3EQ_cGAWsAd1 zZtL;i-uymcSxn0lNAuR|vx$~E)+RZg-D2LD^(yk?T#=fco-p=B0rc5EQw?U@%slLT zWNwJmChxemOV9gfjx8SgE^E%yr8`2$pL=`o!H4n_^Pc~3t>&3`opJTpxxnZ8PHSfw zR%OqqJv{&P?wfwmcumh)RwXBRL6UhlH zW}rL3=4j&*`z<;<&WoofXhfDs#QP4N%>z4|B`vkvC#cO!-mtJGRr>REuj@%4)N5{* zEi}ILytngp?T_{!PC-){k*Bxw+lk#NqD$$chm4r^s6Fx-HePZ{_V}S2e@&jsyXWz- zd)j#U@0cZrT7H(_*Z!jI7*#XXXIHFU;kYY7<6U}gk4QXNaPz+Z-XF79raoA9Qdsd} z_6kACpPCN~eK+kZ_jalMG)_nQV$q#L(Q~zya6?tzG~M{_<=y3X&s(h-eA|ZNbE%W+ zOJ;2RJwV^|?2tjBGViC)4I0DM`1Iowd&E60?8`Vmx|Pvh z_N4jG@v7*FCR^%f^}2f0 z_UvJtx{sOIG%Z2>ws5@9;(kL%`(KPtbxNqJuXMGpch=`9w$!S+4swnX_##9-ETExTXC%niu2$&3|h{ z@sXy?0d>a;bW6%0`$%A)pa4P*Z!cO(B*RqY) zi90GM7BqJmo8C4{YP)n0ZvL`_Wd-|WL zR1rImm#S^f-r=Sna-H99`taSg2_8?Av8QV$1Yga?|R9i$8*{nT*{KpJq9) za+~k1aN?-x}35FerI)`Ls8~48-O0_SW2&rcVkzSh(-B`?`?Sff@%e zyF$ke4T~zS`7DdHYrN7UbZBLe!*)HBp$_iP9aT249$`@ps~&7#qQ82EtnF;*vxj+k z@1|xNS$~;n9zl>FP&!4-4-n*{yFcPcy?+Tu`AD6X6U-%;gHabb z)Siz1iTKjZ&j22XXjO8QFE1sx8&|GysB8_cca_5-Q!kAdITTxXpGwYdvPOC0w3P-2 zU`Q3tA` zVcUCnDy(9t0{j-jT5mWaCv7L6Pa%Pj-N2+nFl%VPlTV%=64wIEJ}4F`9WGFFCwm?= zS`m=ajgx|%6pduY=km6EZhsi14&{Jc4Zc2r2zx5mc^nO!KnAL3f~P1ZDPKFpo{U64 zFQSq^`K}QHWa4CobEpk|e$bpKRYZ&LylgxsPv(@U5{e+_Lbl4E+ScT6_eWDXaIZq` zQYlsdI%4maOPIZFQO76=%y__e6!0FndLL@t7wIBFkT%l5UFROVLM+^x~h$Isf7b;)W zBL7(y-$vuV({_^-YEcW7ipbejl%`~M8De!DlMg)0l`2G#5MSY;J`%c~qLg2Z2RxCm{J)&+5Cn7^3yY`ea ze3|~U1q5Q_!E}KRfL~we;j0ESHjxvX}qqgB!UiCbCv- zV#)u^TEX9x?#cdVvPzBsBqni`OSyn_Cx^~+RPW@Nkfj?hk0FUV>uk;}bWd88ME_X0 zg|mvx)21w^GjH;QwFrN)oD+;zJ(x!zV}(a>97+E0NTm5sBnQp$q@OhGNLj-+04o+U zsCz~5)P)QSWKT{cIrauAon}+ELYNZ#LIzWgAINo0uMtT_2R34UUQHN1SO?X)y)}74knSZ16;<7qDeLU?Owt!6GU>i%9zlUyR zUB^fMWq&Xux*}Ln`+K?&9#In0VsZD%6i?_yhr`uL{*ic0q@)Kbv$0RG2-5g$USpK+ z2C~;!3o#+VSCCgo@GDp~sh7Na7!|yL+4nH=CLH6h7*&7>7JtR^2ok(qvOh{734v@- z_Yms?-aW(kO3MengbVNQAckvsNgot|5wEcCMC&IJpT4TVNz8{|649Rr*q)SHFNwB@ZB02>3M5^#cBBf?!9#H3hrj40>vG zTz+&969KnIj03DJmA-|*MQ5$R+Ih^5z4Ebu?2b8Ur2(+xi{1>6QFi_ow-6v$j_<>Q27(Vp}CLobF z-@s^*4XDNJ$Y!^@7+rRjeHZg3n`c+hwZ!=G3XH7z1ZSSnvy5Xcn23bFdY0A{yk`j} zCg(1;2BVfF{B8}#A)&Wc(@5mUsUrMyHPksm(j&P`r~QDu+A_(rB*Io8!`R;{J?su9 zArV$R#HjTU*Lj3>6k%m)@TtQj{JRE!4+*{M4Whu8-(ZJGVsBieslt0yVmc)B?mvjw zUjM<=$g4wkAKZO!x;#(Eg>|ldrosL`1m}P(+<|0{_~M1(Mut|BOwi)V=*P z)|=$ct_ra(Srzt;(4YiOKCM9yH2D(J2^pS53KarRVrl5-;f^`9?vkH}AIQNLDS~Qw z&>}DUc%;DB6PYrk8i&jv;fq=er}QSUtE5a-RG|TzcDZNW?`MkU#!p4(!vA zVnRY?jb9tg>;~64xW7AfoT(4LVT6wq{O{XR%*+n?QuE z3FyBOPV6W)h)omr0!MR%7$t?09N~VFqo_2bP^~mg*p*y_{ZGO)Mw2vADo*8&V%dD2eA$+$^4xdiGB&NrvCG)s5L$_tSFo~-Pkj^s>dW};#3qm0VIFDU(lEQ|-^>H<4%f@i_82-6fnaLRM<>bDHx5xyrdel8d&H$hBX# zqqzM^e1G~P_b$0waV6w>x@#bpvJm{qK&}S4RxNa)S6={6R=eZ3T)0i7hjFvSPrrkE zx;P0UZg5{gF|^L>>>v!@s}7dU&Cb3PBFZ50se!~F!|3W z@aO5j-z~mZ2`Re^wbxQb4{`@T&w+mjV+Sy)J_1eZc3A{H(cjKcHuDJVFcC(neU$q9 zu<8Eb*D8#srsyl@MoyaMW3d4<2o~jakR|}^^gK5T?)GZ zoLny8c;fz};@vzO9CXN_b{?sPT2ppRbnD1uD zh}eXJC9lY#G)kD=W|R(Pv=z$8R0;nMx{n%Iy-}j2JQ1;*DYI(gxuj!RQXs*y_;b)VF&AMdMb7NU`chvF!C#BMB2ot z$Lb=Jp@OQIz(3{A1NtMK7et1I(sQa1*U62LtrG|wc)L-;QD%#N02CH*Dp5DXff_&! zz$Zcfo{p>X>98C_foTCjf&zbsUZq}!Aa(8?An<+0G=_vsDpKa0!hj$>rqCeZ5(DuS z#Kd1=Lztf^415%n!(SXo#43o;2`dHN9t8arLW6>AsVbi$4q_xGe$T2I%%Sk{ z(z_Eo>vB~%-B(*4uSJFZQwm+>1I>&hf!%nLuF4aCB|GK)3}`GOsMEcaCf;>BJpiy$ zmyjRNQS()+2Jv#!C>V8sagg~Us9(Ei_7Hbid^ZT{t+J)R&FmnEE71a3>YZKUDGiAH z@DU0*7rfT!4C5e&i93P7_y(vdIe21vgXDCwaT<*OzXTMEbtrbapEzqgFo| zrK6(q(LqI}o6?}ALQr>A?&;;vq0VM??sz@n+KUy?Lym?%Nts&DUPwnPHX?UoQt9Vb zJNu%(eUOgu0oIPiSYaJoSx|!a1|cx;)m7{-QK;$vtU3xcau|$QlzpA*Xr!+dQ-NQx zb`ge*jiq5aUT0O99)u$ppk8K$&eRwY*_+q^q%(kzwW?FZDaPpb3i9x|1FYkvRt0_q zpZ>2QjH@F_2k~-h#%o1bpn$n5hgt4S!RRVm5xxa0`AaxNfbnM% z3D)rvtU@>n0mjH6<5MS-FttMBfKCCU5Y8lR2$Ms@XoK8qs%&aF1(>A}f_ZcWu{BW3 zAu2Jy2avSYL$*wfDlSdkWDoZaNnm1K^7uX8ZiuNdEXIj-TbKph+i z92X!{N6`3405=b>O*($>qN(^@A^Jx?@b?ehiQjvY`UZa@#=E`pR=<%@*W`a_RP!d* zr3V3T%=ZrrUkt0U6|z-A+R}q1D_57upHx(`X973<;%sMLM)st-X=u@}S}2Bq0wWN} zpB7yQ)o~Q`RLZ_F+l)p4e0>okBRWzKKEegmT*-=(dLbPz`F0jR^{NycQQ7=9SR)E!39f4u8?fw$ zk|03!xwvB^p_mJ~17xvnI)0Zw+k!;+3ibQ*93t^Xf#h$ybXwdOzJNemr_-3|C|)ru z^vf=t7aj-yj()r0J1?l!5|eT%d~1(zsAf|5XQ(tOD?>Z_h23S+W}{$E?s-}EVI3fg zUW(;+<8+pg-AhO}K!C`)B)OFngPVWLZ2kZzM;%7*%DcV5g*0Xiw7gWvR?%}p(0qY2 zbf`A4xALlVHbTK}tGHu0C7S(~5WgFNwi{wP<|W9Xo{52ari>Kt==Ar-UV+%|?LWrc43xCJ4PuIvQK`D=+IXzI3!Iea)2oD(0$3QCGJcugk^ z5^8lNdYT-4@$wd&OG9X)%A4p%Ytf$9Z*?Yc?@dTx*Ej{xO)+`ZF}2&zl?%P+hK}Fi z>olFV`rRJD-!~z@Yk-gkVmc#2nE5U_kj+LKi3a$30ganjUIN z2k*pMPjWa$o2#pxhlBdAnvqbHf(?+d`(1w{2LT9 zQA}#AoQxG)P@t-N;*RKA!3!a{{H+~8@&|7OeU~g>7^v(833BD{;*5plI>EnzO62M# zBmLzM=KQ@Ic<@AQ$W#LRzrwBqI;)~-69Ob5z0n~7q=c3r9YU2BI!FTXJ%(-XJ>b3cklRp zpEb;JQbL@Q=OFVTX0t=;9Bsu;y;S2oAjRiONRIz+kOj}T!APzn{hLtJSUwJiDiE)? z^P6)C*!LECvYD5{%IRaDRP=cHu$L>K9xwE0B~3-EEg~z7?U*h3fIW-A?`)WrL(DOv z8)s2f=o0(PamW7hZe)F%gm9qMpX}^1} zqw3M3{PlIyu;O_6{dAiiiF)k8C|q{mvuw#hIEeb#9_f+ACu?k?{F~j3E7C^c4K~Ei z;$wP5nZ?KSh@YyIJh6{4yledqu|M0WuxCl9+^F@y(dmajgune2O{lDOV$IExIJaZF z!jNKag1^@`8&p})5nAqg29Vju2~vm^ z9HQ8_u)j9`g@61k7M~8m8+v^Y#xC1*HKKLaw0Ap@<=Bp0P+$irP^TN8hqca*Zv-GS zl~0)dN>cQn&<5?ZQuAAQJCBjTh&IIEMX>j&f?>4_dP>hESWystUm=GTf5LCF3ce3k zg(4(|T`BA7s@U!i0DHHXgax!1?h>{lC2SkN?u&+q08HQ~S(^3Nj*{f;VFgcD*ZhbJ z^Jf_e3v4)ikoy?nl6!zIiB_P^`q@vi%_g4avNx^aKwU@PQLfLGwH$;m^S-By4l=

;1DSNm+&+ERTr%K!n2c42PYFVBx06nyL9@k37d>)Qw$ek$A=0Ad76w3)4s>Rl#RDA_{K;uOD-cqzry-w zmc@2`ip1p7t)E(SXj{cxKA3B3VAQ^=8S6uZkbeWkm9=q!%au6N1b7${=~9!axeVvoouQ^X zQzdFP6K7At%=pBY_2M)OV&{(%b|5exZ$V{MraKs(LrP$TPw!X?eCA7x7N(}b6IU9D zxLJ}5&n4xCQzpk9TcqJ!TE?zM0abmugDQxmVy-54noHI2YX_BIw>B~s@2g?)voL__ zVA|8y^#Q9KLZ0|42WwSMF;ya#>8H#^hkv?59K;h+$<+#J!@ndX`#!_M)F~NWSa-BE zjo#X574u|2ilVe`skh0&xa*c$l~BzJiE-_gbv1w(yv5>@;fpKTX+?bHWGwnOt|DM- z_dAv44j$HP$e`{6%_uN6u5@L9zdGW8!&&5BZ+QYH28eg+@TcKez`rSKu4OBoP-tIO z5&<^Ra*wm%zv--nu@hdI2Kh~OU<#d+7&g_*SH_M-y9!nVtji@ERxRAR1;w`^)W6kE zU7eUw8=nL1oFz+5&BN~UW90*|CgRnz-rwicnnzkFSQV^)ZDzx&hL?7n6csPx#gC3! z#YmAQi)lHV|IbY~y231vVaBSZ)qL;W9L(c@cX>AbU{2Sa=AtTC$sVkfgAK0aQ`6OP z^3uj@h=FTqS}a7`R*22a%RdOkQ=FmSva_H{;n~=jO1`d5jN$}^YDt2i;lp~DuWT9x zsdDJqMHhQxOSJNRb6>HezQq96_l_ztk#%evQ!4>Ovjx1UzNehgN!IHKYD9J-_}znn zJshAf>rz()Kt&%{d2g>@A~anRn%36^^ZH9dS3fVTk=Chw6C~8m_+?sT>)MdzkdDjg zcH+HQ3&`Z*I!BhjcDM{Hl5S*HFw^^V9H9}*9V*d1Ex2y%E$H-BVRL>gHcF$*#%|XM zH;C7j_;1PFSRvQIGD_cPjT&zdkEo-}TU2wZ=hGlBTzmN}uNmR~=Tk|{>eN#FB@uR+ z99ZcImO6Ym=n>Rz(-p!~ZGGijAv%a3KxExHlRYXJo`;>z8S2d*9u&(hVFYCY>wdQd zMo`q{JUVoiLRe;di0fhbtdxQGd)I-J817+&-pkBZXb&7xERQa;)Oh)%DZkWl9-9sQ zpx_C6SP&mQgRr44BO-DAPvIjVYASkAkMzHHMX4_ERfwx9=$=iXYZ7LhRSI>?UsLt3 zO;B|rPSMp+<-G|XE5t1M`|w=4S3CI~bj^N~6>v-r{+2W+J9S8CUGxl{-1*(MI*_MG zax=|!Z3K?pB!*uLRE8E=M|`1D!@IybzUISNbCx?4!hhLwEGT#CKo5i*kloO@t~Tnf zBb^^>vfYh&@t|GSy7wFyf81&cIH$_1X;Uz0vfzoX?!}f$!h(L*6AF_!W>JyARCLBC zI8V}-vx^=%wYtviGnztiE1x)s(7@rt`ngQlq`v{{3ipkH{^me``bHw{sibEE4B705d(<%p!cwwDZi#4H{u0II}X@6bzVYCqM*S90yn@ zB=J>Q1sS>%7Dk;jBc}uQXAwVXW+qy4yg9f&GJyHi!AF(1=CE@4bbkDU_)4b{uvw9*fHoMQLPY?7WeyXteu=sbhl9b`(L#=F$@(_Et9cto3zMwrn$ik3~ zBB`L}BT0rTH%7J@k5OA4(}sRMYk8tV`*T~dwL-rUf8TcCpFG6E)Cuwnb}^e-n{HnC z5Y20XotwT~?*E0tx=bUn+7T8>6Ztz+31cTI6ha)Zdb?g+W{K%mBUBb zU5lzHz_xUOB@U7h8jF;CJHf$Yp;H_@XIzLDRwW(EWQOKAFO@1ud3r-*(=ng3&$2>d zz&?Z_uc5bNOjJR&TthSXE6$$~B+?ghy;c%2B_w>)HAK1)p{NsF2NCH4B`@z&C*I|1 zEV)LM`tjuFMx=|}L%($r!t)-ou3N=8h9*fy_y^}ttPJpqIm^Ae$8_Ql*6OSv7E-?6 z3OTB**DA3?b)u&z;^zG=K`1MsJ|;hhys8ByS`Kk$h z8gMUN5kK9Dwq<83!O2q^M6XH8nqJ7o<6<6{6%>*#YSBQFtm%MhE&GG{Dg5*vthQA) ziB+2z;<{1y+Y9A*ZBt-tr-#VEix7n0x5!#^rvgLTM&rbNZzeEv4NP|SCew`8Ug34l z+@&+i&I)9jJIi?u%5GbSM(x4eplfdCZi70YXF`&>;U_Cxya$z~?Q!6)Gf=?|XB+Q@ zms$pAuW#yBWIANt?DcLTo={50ek{3<9I!AMOX$-LiZ7wQ@vE7z@o$J956e;SmMx!9 z=%6HIfobAEPgw2PC19TPor5u)M|v8HU&>;ylp396w}A=Op7eRugU?X=FQ{F&*?UJE z&R(qf5;OQ)i?gqPT)~V?6K4#(`TPM8ZD>oJv@kqJm^EnV0g!0Lm2=R3vVviG&#R7# z^Lcg{n6W=dKCIPsY}R6rAj~P4QEOhu=UzV+9aRCX(XYaN^rNJ9A0puu(JHsjISYy` zj{F<(=r65~%?JPbtsX)H%VW&3w9qE3vokc0IvtTNc3eUm>ir^Fvlo{Tbr7t{66-LN^vO3r{Rn0Avjcrp+`8{bmRC~*e>FAWXUJ9fv4aR;L6`7#2zLiN zr!E3I?jId$oG@JG?BcQeub6nqP_EZslXz*8uBOB zxVmqSDMYkoT~zq|0;Jkf1L@5}LnBz%3*p&W>_t=bsT`D2%LX02AnZd7PHyX-dD`3M zyRL&?Ge*DPKtD{Bf0;8Zkmmr^&Mrv)=M}f?>yG<^16P|iRC0pNyk_OFoUGgpRYE@6 zI^IAH4`x`P*)79pc}Ow{|5@r+AWAKeY-FTJ_>U8u$z=h_`HNUX2^RA?i<1kTO8iVq zqei4P?A>x%6x`ry4=s+ge8Pl9cJ0Y3Ya+T*HlS^DOg{XlM;NDmFNyrk3TbpE!tHt1 zJ#53)oD;o+W)bh?W#!Ia2H$k}W_@tgKjy>AUk{IDR+gHrc^ z6OY@K!CvG-kci5@?pT7qFXlHYbQ7$6$|lOyN2yFRp=v)6q^RyHsgWLM(8$>+_c$3| z!qtmV-S<;I>X(F}Q$N}qI(2`v7_(!ILbZvD=(hj3F8wSNG!+WcWe&SabWx_>i7cr} z^)sO$i9&OAy*9r_auy4GH|E_KwE#{mE`<_lMOyp0L%p z+aG)!-Q@A7#UhZBiMsQ~<2fwP1A>)g-yK(C=2Xooenb11RUYl)v%36%(oqj>A&~3T zxKiEvB+6euwuA`AW%^!kd9ASiD1hmI*$qZ!SA`MxDkNr)*RtGKTApxlr0FlN*A0FM zE&ox>?3wU4wwSHn57itVwX-f4ppQ4c*A*ICG@$>`k*2W_YB0C`u81bX_KO9RO}V^X zBr$fRo-dY+4j+UOtA|_z0<1cC`r2%4aj{SrS3(R_v(yiUUj|v#GoD&jYJslGa7P1m zwf{Qt{CvKG=C7vpz}L6IM)ec{5h|ocQm35`v2ejk8d_zMOTa0op^dRfBnzFDWS6Te zRw|qc-A^l@pCAz;;jCDE2@pR~^_;1KDC4ZPrxT)4yAqBLDV7Iq>Ic>8*PmaQJE;wae%cDteL7Ap*Tr#jhY+ z-%e~yd2{(%iLU#twabHgjqIL~G_aR`8;ZnO=g3p#~X)|Ep!!Wt%_Ld%J6Ghcf^eI%sBfFjpnvp4E z)x5&I_{EQkJ^yEyBiF9I4-$@pwAXPZFs++gJUAw$RkG{cbCjb}KX6b59Geibkd4QD z=pZPsuN^oL7`k#iO~Is$OZ8z7S1EV;NTx4Vqqc`SE|8rrAf8(by`9(|nQIxwcWEeG zzdKyzBPj?~vM1fVH!X7lo6ez0FO4`b_9Yoe%Q1&a@lO=|g`e)2b`8+TeOUZA z;&QT>?ceYQR!Goru9rmuIjYuR4Mp6H6EBj-NimFv_qyRN86r9Gw8O^LpkQt!^G7R~ zmS3w80PeuZ@hlsclLgPgS9oGtd$@aYwRbldy;4C4rI^u<(R%@!^_jwn=OH#WgQ()utU ze+WpOxo#kVoXbB~Y%VQkc*wnmsEFLpxoZT8QW_v?S$`BPs$Qq^@;pbf@eU~F7|NI9 z&=v|P&+0r-+9Fu2IRePBzikL|7aP}g%b|*_M{zFQ5Md5VCj8(CQgM$}>!OfO<>2!X zwJ{yMz@AD!FpMo?QX^S0|CW=mSu~eeq{J1=^$zsUfBM^o`y~_>$5T9Hz+ccVp1t-o z4`cJ6z9;^;q(a;8kYcGcD*Jtp28Kr|7-UN}2Iag%z#K1aVd`Xfgs`iJgbNUTm2nW5 zb!8nsg`5dTsQL=8sbx6_5yT=6iyjkPDBM3j+QQh0lNB|Q#1!#9Co$T!Gg4%mxS^-_ zVLtEdvKA;GB z4aLU9<(38^7jdSMRV?J`^_v%g7WjlKIUIgc^c93tz7 z;y-?<&~tlXX(d9mWeBOwpZ8%{XA6ryl;1s};#h7^bK@0O$SZBQwO#9gS&u_zF0RNX zZBDkl5NSQycB z(vy(-8ov54C>83vi=VE(_5BpW>t&TAH({)&YqaRP6f68$I0VoaOxtiKZtEh9?Oh{w zb7I(>;oZ9{(ZZ0W@a|;=*O>vC#oS!84|W6zHBEqY(S)miF^<4_mDEn;vNqJ;{~KV| zk94Z^{xQQbIK0zC|}KKYr&X-#fKM zSL)qZW13{a0#d!@f5#S6XV7Ew$}bXy>XSumcDTba9sjZOIFcn7GgueL}|JOQ|7z9i|9Enjq&<2>O*t!I);nY;jn_)_DEnv7t)HW=urz3+t1H< zazk=AYI?QxQ;hg?nDq2vH_9gLJls#)%n;e*otg0iKsFLT{fztUF{eH`Ckct@FnBRe zxOvOCL~PmsKW!oGk^$f8oU8v^$!_TRU4a*=smi}RBRf1DXxZ4CNlAxyrW76gvHtMMq~vc*W-gqBu( zsG%r1yIhx274<#hAM?jENtj3U8-#6eW14rL-8H4&vT%+cbML*rXyZ}HsUIGc|DVQy zGR(Vs#JD;GqIy5k!Ebp*_Hm6m&+McCb%QEc-J1t*{JR6uZa;dHK~WVemXy zk#&_fp?F4jbx?@siHC6+eqTvR=yqW@ zc`4X$o#LR1JJ<2(CW#*}t~`e=83RQ|+S%^2vzAM-l@q5JB*N^}(i1~r7*8;c^yqN@ z$*kLg@WSpd!tf0Xy%m}^jg4O%u10Kx0%DdxggaJoaF6aodsVJzZeU4*&*w~v-HeH5 zEN;Z<22)@b@n%UC0<_Uflil4#U|*eCi1mxYy#k#NZkzLBW*VUNzP6xKQUbKe&RQmO zM9nQWB28I}Qt_Eo6tCE06<41WAm;%zmKu>#@to&ls4x<5BJ{n&^n;wNitHY)x&$u# zoud{*2yfhZyto*}ukSm>zAR{n8x?fqVx4|v!4{+{M-wD<;f3H^A!{J(z5q7?x-L}K zB2?aeKFTlTx64!K3-^yUQOIpm#jDl2qGLj_>DJfJr%KpFK??+t7#e*2>6ua{kj?BH zUR+swigNxG-1D(jUfNB0avzkpFH7{%O1TiKP}Pphdct0d!^P-P`8^hq^>KdZYgHfr zv>@R$oZmh)q`KyyXO^c*sswkQ{~0P2ar;ly_}xvzYwcOU7b_ zM;Ol`BU{>#oe@F`QQn1Dal5x&J~vX>mMC9eh|~9{@{%s|XjZ9N`@HclY>>Lj2oQ5X-#i?;7D6 zI|r@I^_9YmyW3gQmlIrD=9a)W!MM;u>YP*cK>jZ#E1V!U(1Q60eoRbP2m+o%w~CEh|Ty0pHXbpz@?gg}zsD;su5 z7TP|H=(2tgP=5`2^SMiJ9@#7Da`X&-R>)GBgixZ0g!uykGyUB>KJ zK|O~z{WM&)_Q9^>ZalAVb8?Ur zo=vSEtVLO@!Nlc{o~YuotuUPiImSC*C?MBIro?U03UF)ir2=Hrs|TYgE0l};g!Jd~ z)tqG@<;x+_38a@A3xiT7{Dvjm$uM{4vI9zfylo1svmq=*H?TPhp{o}|ACi?+?NNJw zJgzs5sA=xjC#K4ZgOImp*ig3~$>#(-W`k7{%TB-aaMktvd(BlL5&q;}V*$49!7f6)T_oq~w4w)*tXyndCl`{6Jn{iHGv%PUSD5Y*0d=Se| z;Y}Lr<_D>(U2%$i*vU_`yUt*-{(zOcX~B~G&C4!-H{JDYFSf@$bDPgEdi^O`zr_cV z9LKpFlO7Xzj=wmJ6653!KdPVbzaUKPdGz%V5s#jY;vcNyl)G-?VR3T+@OsASi>k9T zskdLg$jf8UF_kdD^tWd|uc$`WWVSe66pryaukrdDt2oyj#fE+OWxDV7&7U-d-S`N4 zn(Glv%aODR)-5SK37Q^oxO+`7J`8Z(D}uNwll;!8qGHvYhg9%LOuVo;AHx zt)CE0>j&%9!z%$%ib%D4d28`9s^B)4{QXjP1<~`xM`4AEN6kg~ozg;p45ggvZj%1U zV-7-PS1|GFd&*U1iO6^gnV*5*%8E8WL=91*}08L?Gq$X4ms8$3WD8BOMd|a}V7TTfp2M98<~X9P^TkG2tX%b(uGK z0(KRjhnex7qIIQkRJFE|CCxu8fUy?Z$iU@vvjN(Z56Gf%5}A{|%4fQeW*ijLS_Mtc zr%tl`Htx%*0Qt7H#sVe#PMi#dh|xe-HIFo#GlpmH;6L#K3jbz#vm{;;da*ZC;CeMe zCzm+D;#BY12(XY{dS+jkAgt4;lUm<(*XwlYer$`$!1qa(2Vg2Xzy5PA+ z7XA~70W89ml8`n?f{daz<+vgu+dHhi{FAy58QM#}FXDE@HP(3wfGG+P$;!zwJM4Ir zfxf`%*MXFe)4%0mJkze&e}ENP8W&6aiR+fuqsRn>GB=yPOkAWB#!UBYe^fyE74~AJ zu3L_gRr3QWgZ&0TyCztMgRXUwpfY;6q|6GGkB%4RE6mSYo?MFZTU|vt8p@(}E2mS` zP?_`G^mLnhDU`^AE{Bw8Dy_w)_6^2bOn%iz6q1_%q{1RR7rGlQtltg+FmpGr>JG^@6n7u0TXmVeDA zmMM2`$|$W+F3p0OsRZ!!B!FXdx*VT+Rj?!`9E!Cm!mD8yr&b7mE#x$Zf=T=J4WUzuCpLav8-e zDjelAA5wW~btOj3FY^QxowKoT(-G08r1E*g#6%)wY!(L0T`vXmrGpV|<;%sauY4>_ zq0BJ(j-9GmmxeA=)59~A%IP_IAaEn)7Li2#>qY=NPku%Ng>EqV?*y3w{Ux-e- zfS$2(DN6b|UzoUR5@eF>w^&;7C@6v@Qc-kQTYxI%{#2wI7LlVbLs%_t@nY25f<&`=0@Y_ zu>i((wtyo2yZizkF)Ke3m=f_0voJPtq#4?e7!6F9ZWabj&27e3sXgCbiQK;rZ5af$ z>TedVb=O4*c#ADYeT;fSdMe;SADf3-kCK2H{*fYYzSGJni5RC{hX9tnx5KLVTYAxV z5OA4&EF5oIfSW6^)V!tDcJ_FN=9Pd4(~Uo-pHoc;gK=sr2%_!%EaT~OsO18zP4DXY z{T0kZ)-=e}~KAigxvY2KB`bW67 zno+;6CH_y#`@Td=_}4x3emU~7A;(+$_S)Tx z_3k2ob_pw2-5XRMWAT7D*1p_KRWDe+;3EI#%_&4sb+Q@bm8#+G-sVICxQl2z(E_8p z3cGeI)pV?5hrA8ZK)$@zuW)StOsNUR=jI6~aTxn_$bEvYKl2Nt-JeQ?53A$rtwl?zBS!2xj*QJnN#T-E>&$Y8yU)MgO1+#C zeseq8u?X%&zpIwGMzUZTMZ`K^c*UzlAmV516->UOX2hmRQD6eMD;P8*2b)qI^Bup-nv+-eH$QJuTGDEmgWYl4~!)@L{MNENxAQyGuNG_CuJV29A|Ipv2cn zmf)<7r|g6iXpAwUUs-*2P_KkF+HdYV&Ky7`1-{d8+AfZ&@W1=>Tu&UrRc&C}o%a!q z)F+T1mzWDEGLgCmQB&eiI{e=v-=lc@H~y>>u$}wOPV3B@(EFN!TYNw)O@$TH24Lw8 z!m)L;Jl$;o3gep}S)VEx*7>=3-YEFcwZ|{Uvbu+{!{L0`@#kU27XzMgKEJD&iZ9Gt zfrDNEbA6n`XJEr@t``TIJOk|KGzHd#>34{!i(Xy1@TwIezN1T-mn8e*jfN2Q-}HU) zDJsgnQG!{6uRP_pM2w>W99Ce91zY?y%(!VxUxH2FO2q*^M!_81?5BfYfyWyQ#2O6I zTTRWm&?j-*S`4rWE@uw~cUx8Gd2Mb0YrO>5VwqO)=Dyin?YMiJO3e$we=bE(Q{RbI zKVXqveyN1h$! zZ+%mp;LyqKsL&YAN--C#%1F7}&GBtG6Til+ZwrcR*hh-^bRkPP}_v(x*hXc0Dg%v=|1r z<#z`qLvF-*cJ5cLS3^;a5zG@YYqSv2gkrZHnt+s?bzI*WOkN1il^zg^cg4SXgB=Ti zUHQtvrgSRf+66S&_r0;IO-&Y8JVg)D=gq>iuqAikDX&%Z*Ce9Gw1^!!dJBZFjuz-@ zN|0o4$?ZuDyzbtvaUV<2SqR1GH@-ggaO%y;#(!eY8UrW5EPu#pVNxfEuObOAm+=XT zLqio7_dZd!hE(@A*HSkxhuIEw@ll%!ID|RauDtr~7#gdoS`V(VBUydG=g!!Fap{SlNA15@otIzZg z(!B{aI3NWrIi_ITKa(PC;4EPKwsQDIIW-DHn86X7T04j!_Hv)U>lsF;X@I?I>*ytW zNMq!IN*prE?bE8{z9$as#~MDWgghd%#&E|EBnvimv2GHixrD>9sc!&Igw^RTZA34H zHe;(2!4vA^N4Z(g_OW1lD|j2%YKVW}^3osWf@~9`&E;ftUrET`DQCnov5YZ1Ei-UW=PaT9GOKqw@JR|8_mD;-b0sO%v z%<%fceBC5T`xeJX95#7>Sd8zfA413awW2K3C5ND%0}}`Ja=Xy=C#s; S7iy;63y;i^G7HDkS^f`u { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.assets.json index 5cae492a654f6..d6afb769150e1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -15,15 +15,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -99,15 +99,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -127,7 +127,7 @@ } } }, - "64046515013419724c0ca215fe4d8d669956a8ca5130f0e9c0d33ae7bf4b7f6a": { + "dc399781199d4716e18e489fc0a64f5734e3098e68aa43810f47f2c3f72c5a52": { "source": { "path": "awscdkeksclusteripv6testawscdkawseksClusterResourceProviderAC8DB286.nested.template.json", "packaging": "file" @@ -135,7 +135,7 @@ "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "64046515013419724c0ca215fe4d8d669956a8ca5130f0e9c0d33ae7bf4b7f6a.json", + "objectKey": "dc399781199d4716e18e489fc0a64f5734e3098e68aa43810f47f2c3f72c5a52.json", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -155,7 +155,7 @@ } } }, - "2a592f65a66a57f9a6c4030f4118873bf568e155ea5035f6787e2818e6a57d43": { + "845329d290a647ecfe9ab838a3e9f8c4d0196061bedf9bc0336041dcdb0ae4d9": { "source": { "path": "aws-cdk-eks-cluster-ipv6-test.template.json", "packaging": "file" @@ -163,7 +163,7 @@ "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "2a592f65a66a57f9a6c4030f4118873bf568e155ea5035f6787e2818e6a57d43.json", + "objectKey": "845329d290a647ecfe9ab838a3e9f8c4d0196061bedf9bc0336041dcdb0ae4d9.json", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.template.json index 89619f7ed6b54..deafdf732124f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/aws-cdk-eks-cluster-ipv6-test.template.json @@ -4677,7 +4677,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "DependsOn": [ "CIDR6" @@ -4824,7 +4824,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "/64046515013419724c0ca215fe4d8d669956a8ca5130f0e9c0d33ae7bf4b7f6a.json" + "/dc399781199d4716e18e489fc0a64f5734e3098e68aa43810f47f2c3f72c5a52.json" ] ] } @@ -4988,7 +4988,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -4999,7 +4999,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6DefaultTestDeployAssert2C014107.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6DefaultTestDeployAssert2C014107.assets.json index 9ea576a791bb8..3b57446e256c7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6DefaultTestDeployAssert2C014107.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6DefaultTestDeployAssert2C014107.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6testawscdkawseksClusterResourceProviderAC8DB286.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6testawscdkawseksClusterResourceProviderAC8DB286.nested.template.json index 650d790e9accd..9b96f761005b0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6testawscdkawseksClusterResourceProviderAC8DB286.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/awscdkeksclusteripv6testawscdkawseksClusterResourceProviderAC8DB286.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/integ.json index 6aa5ac603b480..ed112909db174 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-cluster-ipv6/DefaultTest": { "stacks": [ "aws-cdk-eks-cluster-ipv6-test" ], - "diffAssets": true, + "diffAssets": false, "cdkCommandOptions": { "deploy": { "args": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/manifest.json index 63489c57ab6b7..ab4b511b66081 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-eks-cluster-ipv6-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-us-east-1", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-us-east-1", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/2a592f65a66a57f9a6c4030f4118873bf568e155ea5035f6787e2818e6a57d43.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/845329d290a647ecfe9ab838a3e9f8c4d0196061bedf9bc0336041dcdb0ae4d9.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/tree.json index 0c0de780bb4f3..d634f1c8acb6c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-ipv6.js.snapshot/tree.json @@ -1572,7 +1572,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlReadyBarrier": { @@ -5855,7 +5855,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -6941,7 +6941,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, @@ -7002,7 +7002,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "/64046515013419724c0ca215fe4d8d669956a8ca5130f0e9c0d33ae7bf4b7f6a.json" + "/dc399781199d4716e18e489fc0a64f5734e3098e68aa43810f47f2c3f72c5a52.json" ] ] } @@ -7016,7 +7016,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -7523,7 +7523,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.24--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { @@ -7827,7 +7827,7 @@ "path": "aws-cdk-eks-cluster-ipv6/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -7873,7 +7873,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip similarity index 80% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip index 8c663987365070945b0cefc40b918aed7c18dfdc..39ed5322850505f8d22004fbbb1a8c0ad421d1fc 100644 GIT binary patch delta 63868 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 S7iy;63y;i^G7HDkS^f`u { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.assets.json index 5bfd8369f6a79..168e179bcd186 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -15,15 +15,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -99,15 +99,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -127,7 +127,7 @@ } } }, - "a587dd90a65b677b28890be28013a7c23ea5e3dc218ad05efe3f552f039de7ee": { + "9ed92d6ca2f94ae73ed093332b1f59259597979e72e0d3ed2f89c0a775034d7b": { "source": { "path": "awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json", "packaging": "file" @@ -135,7 +135,7 @@ "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "a587dd90a65b677b28890be28013a7c23ea5e3dc218ad05efe3f552f039de7ee.json", + "objectKey": "9ed92d6ca2f94ae73ed093332b1f59259597979e72e0d3ed2f89c0a775034d7b.json", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } @@ -155,7 +155,7 @@ } } }, - "3d424e3333ad93614792fe2203b74f0055bf038240680a60b9e1ef842261de2e": { + "f50b3b98b38aa353e06b0440b8467a084c8f4727c45a3b6cd28669a7f6f5945d": { "source": { "path": "aws-cdk-eks-cluster-test.template.json", "packaging": "file" @@ -163,7 +163,7 @@ "destinations": { "current_account-us-east-1": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", - "objectKey": "3d424e3333ad93614792fe2203b74f0055bf038240680a60b9e1ef842261de2e.json", + "objectKey": "f50b3b98b38aa353e06b0440b8467a084c8f4727c45a3b6cd28669a7f6f5945d.json", "region": "us-east-1", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.template.json index 58de49707cdaf..b76903f01b706 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/aws-cdk-eks-cluster-test.template.json @@ -4041,7 +4041,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -4178,7 +4178,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "/a587dd90a65b677b28890be28013a7c23ea5e3dc218ad05efe3f552f039de7ee.json" + "/9ed92d6ca2f94ae73ed093332b1f59259597979e72e0d3ed2f89c0a775034d7b.json" ] ] } @@ -4342,7 +4342,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -4353,7 +4353,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclusterDefaultTestDeployAssertFBF4B356.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclusterDefaultTestDeployAssertFBF4B356.assets.json index ec29cb4ddb70a..0fde0a2d5ea44 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclusterDefaultTestDeployAssertFBF4B356.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclusterDefaultTestDeployAssertFBF4B356.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json index 48191d05e3237..75083f6d75292 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/awscdkeksclustertestawscdkawseksClusterResourceProvider5F388D1A.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/integ.json index 0a8e97417e938..c114bc3159eb5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-cluster/DefaultTest": { "stacks": [ "aws-cdk-eks-cluster-test" ], - "diffAssets": true, + "diffAssets": false, "cdkCommandOptions": { "deploy": { "args": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/manifest.json index 9f9512fb8a69e..52f99fa11aab2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-eks-cluster-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-us-east-1", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-us-east-1", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/3d424e3333ad93614792fe2203b74f0055bf038240680a60b9e1ef842261de2e.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/f50b3b98b38aa353e06b0440b8467a084c8f4727c45a3b6cd28669a7f6f5945d.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/tree.json index 00f52e672c6d2..33fb17e796dbe 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster.js.snapshot/tree.json @@ -1422,7 +1422,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlReadyBarrier": { @@ -5422,7 +5422,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -6508,7 +6508,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, @@ -6569,7 +6569,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" }, - "/a587dd90a65b677b28890be28013a7c23ea5e3dc218ad05efe3f552f039de7ee.json" + "/9ed92d6ca2f94ae73ed093332b1f59259597979e72e0d3ed2f89c0a775034d7b.json" ] ] } @@ -6583,7 +6583,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -7090,7 +7090,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "SsmParameterValue:--aws--service--eks--optimized-ami--1.24--amazon-linux-2--recommended--image_id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": { @@ -7394,7 +7394,7 @@ "path": "aws-cdk-eks-cluster/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -7440,7 +7440,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDL0U7WUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDN0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7WUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU1RCxJQUFJLG1CQUFtQixHQUFHLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkNBQTJDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRjtZQUVELG1FQUFtRTtZQUNuRSxJQUFJLG1CQUFtQixHQUFHLEdBQUcsRUFBRTtnQkFDN0IseUNBQXlDO2dCQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxtQkFBbUIsUUFBUSxDQUFDLENBQUM7YUFDNUY7WUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFYixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsU0FBUyxPQUFPLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFFbkYsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFxQjtJQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFxQjtJQUM3QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3hELGdCQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELGdCQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDMUIsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRjtJQUNELGdCQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkMsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxRQUFjO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFFL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip deleted file mode 100644 index 8c663987365070945b0cefc40b918aed7c18dfdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436742 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


5*0#GM z2p>`VpLCO?q;(-m_sG`q9C|$*HKo=eGR2Aw%g`-)w5!^9$7!FND}y9Nt_Oujit;F) zx`(OBrY0Spo_EOWO3#cI(oO5PP8{)iLrXKVhEpKvVrC3oMj0as2hRB>3t$PRr3h>w zqk6<8p!8uHF||aQ+wuFO)O#@n0=G^baVYy#s5w0>0g5Tx1f$I&)~y0Y{QB`@nA-&& zb%_Cxg}y+HV<&FViZTx3$d#O@90)HL$Fp$Qc7hlnA0yW6)Gc*_*t&ifjeOR1!SYM+ zIR`OOQLWk!>Q>b{sCgKs;l3tCV$1=dhYpOS1+xJ~NK;!+tGW zL0!m9?Q9L-*R#I;V6u>KUW?=+g*giW$bz35xgmgPhdSsf0|)o0dY^I3i6mTmh1lsa zZ*!Rz_z7H$sV*{kAEw$vExiSu$r}t2l%8Y!coD^5K&lD%z1;=nrG&w^2Qs)*Y-J1X ztxNvwIk(9jgQKJ`%8EF=R?txp8We|#Mvi6eX(>W$OR-(v5@mS|WcuXydej~>4hoY+ z*Cy^W;3alYU;wDgc929dZ$v^%H6r4Gqe~3MAqR|E&=4jYAXtvA<@$prT+F4!-8UPX zNUR@2Qb{p0Zn?>1nQSLj1^zAhFG(hgrC(T*h`?&GKZrN z4VJ5B^JwBhX3r@cWY}DNyOxO!Y$51c(wv%UA<8f+`nWoT{9(h_H8zw$nbH@)YEP{j z?QfzK7a(SkMEm`?sirjpGj=d6NhAwYf`uqCA-#-y#YaH1AOC~X)e?;3GPv>vI_wyg*=xnPRQ~5T2s&w{N2OFikaV{;5k>sTKq3lTQgUq~i=)|q zK}dWs&XuOPW4Q*vuxS)J913U=R}z68c*~zfmSIxm{Xf(Aosrgd&{Gg6gBdzTq!Kaf zGQQ<9Ql8JpGYzkLkQW@8XX#PsN>@dstvapp7t%(S+tU_*b5ku^x_-r3WuIOl;T^s@ z?m@f|rOzsfsc_8>L+r>n+sNXHz>dM-J@vo&Ode#_$_?M|5mpSgbi#L4eo^5L+}hd7 z;^v~9P;>s(oXx&#PP}dc-laQc!OW9=SRbb+l>GEQqFDMiWO*Da0*(HJqq1r)JZoP0 zW4`wn0hVXdc;WoyV>*qG?is9)(ia_EF3E9Y?=t9mUq->sGqn5K)Tr`SZdX?SBD}A1 zas_|%1d|<&5e;rF{v83*Q2(;U{G6Sly8OVc>eBD$Zc#+CK)Kp;j%^({bTxXxU-R&? zS*Mt>uk~->^Zy4k@ZYRJ$l7070ib?a92o=v02mGcfPbd3{=-cC^WgsAx33a_ z?bg%x4SeW3RH^+2lV>|P+uDUYax*hcq+`?CU>_aON*)e#(|+Q`dQ)U4_F0s9( zkFC#@LQy%{xE|T9kQKuU3L~F&m@<-x;}hKOwQ*b+-PkQtnvDbb?HL)e*g1_@VM>2L z-sa_1B`Y6${4UK{HK^3CYu)IemINTg5<}vArCI@h#(2ykZs%2){^!MU^HdI{hoC+C zvCnCy^R!StV}QM&6U`I|kTXxz<|FuS1uGZ#)o&gc;iES#fW;g~`cvoN-R8~X_m9n- z*D6MU0G@4t#<<(Tljq_3%|T9qvmY&7SG`zZ9-oy@GdLMt!TLu_o9?#1Uq5hZ-kVt4 zj^To-bMR5=*$#Rj)em#WyVoV~fP!kXz$wccogk~ijcjyfP=;MgiIIswPJ8;IIVyT&{MwQP2)Vda-81NB4DZDz;cZA2|sSQUui$?Hb95Gdj0_V zeh&`tY+pi`mdAJuYd`rhjF|TrN`TOM%pjh?9tyaO$C11N2(c{~eB9OO3~>5U^+27~ zy}sr7tVNYH%A{6ST?BE!71rw?yhfE=UW767tT1(3)FOpk;~;L<%ui8OwV&M@(SI%! z4Sek-c9NewkWapEW4$j`V%ZG-~`>LF-M$sXA;%x6+IeV&P* z4yP6ERaVx@W^ioiz48hBKMsjJ2%!?>Se6ylZH=IK` z@cu=V1J&ppT{vF|&Twz{h%j~`9(njmy1S{mzIm6dp1076Y> z$-C8;DUF<3!T7{9r@SCwXXDNU`ZQ&oV8sybiW0QB4QLfZmJWcbT`$_;78y2X>GmWK zQQ-(7Z<%_y7FP;35PA*_2}-pSo&y0GlwxC4%KhHj9IUL5dMDMP94CSf7}h?D$*Y)Z zJGWfZPi7US*&uK)6#HFt2jtkI)Ia<<8!MmMrWZt#dgC>TSF#X)JeS=_Fl00zGbIB} zm&7qfJ1Yn6#qs9eaNGzzr=OkE)nHgZ@EHiOHVr0yDi4^?Ed3AsBT8p() z9|%VUS^6icR?FG6< zEeM~K7}|D{#H77FLw0+r57{}pu0ca%K-R~Wrm!*BRDXa~NvcgeurkKfSP`Vj;w18C zk2MbDQ`F$(n?fjHgX{*LHtVVb4eolY=Y7><- z3%FEi2-p+tZaU4BVe|6zwmMd&AN2Hgud0%7GO}rpl5$^_k|?)L;%imL`G_m(F`{3} zETXK%c%6h2G1iShhk)Pl(&k7@I)YVD94xaX{a2wia@F!xxT`9tM+DNU`Y>o2OIo)mmpNfYEz~S9XFEld!IB>? z<{fxai>!Ct19)WJaiED~G9RE3Z;VFhKw0f`gl zMxiltUdL6UW61OnML11}`ZYnBp>N0Sd_Hf0jm*Yw*8tKnn3CN%lPXVz{1u@)QDpc| zB$n7}SK=<_@__|r0L%#VSoGG9UA>tF%j((>P!P$8Q%ItqZS- zU_q>=lI@zJ@r~In9A2qf_s+2)D#rYd{AuBL7v0oi5qpM>i#8?4gl6Vr2h;!1lM6H< zdHFr>Az#>foPvLN7w3B~ZOI);rc?{LS|dgGOCaNgSH?F?^fmBu|BidohCBzi^L$!;HVy{1ilJEwbYdQ3rA>aB zCh<669yTj(LvaDzz>?sshJ{Ctkhv?VgS z_K~%RCULiP97S+hO6{cUwk1v%_8x(<*rUFnYDsQonJ*$JD>(!Xz@Jf;?$49-n6D&< zFGRmVryv-q+MrWFM)lK`(S*NBFvUZQpxlH8tSu=rTgnGP>f)=xuhN@+2*o#P78(O- zPgO+aGGXDiu)+(xj`6Of0H=rf0fG!JvL4d4K8j-Su8a*xRbtN@lz<-UYxr431Dl8| z(OmsQX^LH@dQAG_JY@z-3ElF=ZXKxloDlA)njQU$o`Z`DuIp!k%W3MQ-Ciu^W3P_u zPgp5dG4ZnHJab=bCW^d8zA=cg^%0v6(A>&{q7ch49d7w%>v&-u?46f=cNup?qJcFWcU9e4DR!CaYkSOC@ZsQ5K0C z33z?_Dt=)6aj7zX8A!__;&3EhYhE$*7|ATvMy0J5aE*Q-Fl}E0aO`{L%?F;?k0y@Q z&{%(?akHYd?GBuU2ufWTg_w@rx)1LI{-beZ>ywFFLavrA3jN}#xt_}MHE~v`2$ysb zul|kLMQU6JX`nl0a2Y=U?xS(4yVK#l9|ErNF-kdb2zkrn%n9}I+dv!c+dJUY<~P!n zBr^_*Z~Qyumk@}ZVHOU&1%9NG{Y!*4Ferkk!?ByogAWB*UKEuWJ)SMdKkGCj3`P_c_S}Pb95L!dyDb!t$LdE(2m~;bmX^mOz<$_zn_Sdx91xIsk9~aVA?63 z$(t}tC(peCLm`rh-W2KKYPJiiyLhgl!4D&Q4cZZ8 zP?2fX2TH#hzq1O@hPi|VrPVSku_OiCqyBUxR5b!}bPLV|@K zdso4I3Bs3hY2_cv72T&;nV0nHH^Eg>6Z;+ ziw)V+5(4?v8CMH?({~~F7S2GJwmz-7oOO`sfy(r$7ICtM`_12t<64vpMhp`vReSU- z6F&Bu?|II8-Q)=KY^9V9^)O$R?zR`b{8W}-Dp@XL&}mtAyvNnsYs^P~BoVRx#v*Ge zUumqD^rvcFBTZ8RHcM^(r8g2$MrrO3sLA$;mEEQT!5~E)Esw5kJjJ@SFgZ7@A?)Jc zSpTf}yJejlkNQKR+VoLiv?V9R#p7&bY>c!1LGzfX!W{T;W^8A?rA^gEFRliO>8Vlo zo+7HKfMyWm`4#s5%})PR`d7QRti=l;V2K*GHLpqVM+pEROw#EKlON6jA@2tHe63Abm^m1{oM@^3_rY3e4G*WmKcUf(qHGG=@ogwn3|0MV15o_>iF{H;GcFb$9Mni zpT`>_j9i7c9K4V)n2tWBK^*YEk_c(He2Yg!%7e(4%M75C!FQhc2KSz9pn=~%l1j{; zVqi#>vM}r|sjIdf>FXttQf%h(lwuP4p@`C9!Iig~2tpmi!Q3L5k8LO~oxHVXRQK6F zx~*dT%j9<7Rz2de=EreEmjOw2pfydZJ`L8ODzC+2{uQlf1t@~s{iefEsu}i}D2GR< z77yI6iGcdGL4u@w6~;gR^76CFBEg}2FpwFXy0YSTSBBB05RN1V&XEZ8=ahlA=F_ROQu2nv723+hSi^A)0b1`aW-{! z?vyEvt}DiD({Wtt5H4v(=5fyiQo9eAQ)KEIA*lHKPTi~IXCCjz<0V|($IN%#dy#w=IXzY2#n<(Atom8e0t2yo$!P80?cG|x zm%&?3b>7n>t2~R}F9X4W;5~~CZC#6f3cVRp95`CA?mzA!Lwbo^7CX{{C$=`qApc_Te~@;EPdHEM7|IB)gz;RC+qO=v%H;yi+@ zvVCib3f4y1DRcFn<-O9*e9+suoZ^%D4j)8!H!oIst>(J?9e=vFn4adlSQy`anJCfh z;T#NJP=VvdH-A8y_P9&%HSq1rZj`O_`?ZbC=IRv&37fYN*k^)W$DP_UDnKSjcTd-& z&1sBJ?Q1p+NWM2NQ&Owis3Qn(((C2Oaa>nd46m|!Fjie(9nK>lvM?bl1s=7UYF%>{ z?+j6v^g=gBmb04C1nye8sle~k?sa+_RClcBzsmh_=HJw2XchtU(+wZ?H3H5k>H4r2 zh(XcVP-s%}iKH6cE;M<+a}D6xj4{@lPrs8n*l;Da(Lj@&pt$#<*Km^PV4|N*-3olX>DZ-2~ZHl=Qw7Kw4+Ed<7X+`)1X&ww}-%mVspde#c?+VkDPtaTU` z?(3E5bIx>jGwlfz>-Yso=pG3sb~4xqFe6e4jTsA`>_ST2kUQ{&#pO)q)t!*rcuXK;=GBxs0x8?uSPqnl$#Ip zOsj0i($y%<7FPW_U+)lv^*{&8LjuNeogzHPm*GFTb4CDvyz1@r+)tnP!1$$Yitz-S z;fM5EpelzQ#6ka@HLGtE&(jj9gJEm#eLQ{wMkoQ1BP0f|AhwT5Dlzi~hB7w;^^FP3 zZDF1-2ovPJ8r+VV=ni!=$J07p9Z1yPj$(lQD9i8T8$i1P^NLc2b6tog0*(T*>(x(g z*^^rW;mX#m%4P)#8m9X`!QcBGZ{M67grkbt5m1{|^AYCKSRV?B4a`SX9*{lCQeDZ~ zbbnO{$r{s6u6a#km;$6=;+HrrhCuNo*%6D~nDH3VIV`78MhCE5?_)YE3Ys6YY97#_ zUBd+ssbJ>Od1hOKQOsinJ-VxK(n>mNC77fU*g8-bgkjaBcHx;gmZn_XOKP{n{wEL6 zDy1@6POe(=THV3mutVTvE79rLhEX^OCCyt8dRM;B8#4M?_;d>>%SHWG2!eER6oNt- z#}zwyljf|?wO}t}s%QJkoMAmdL=M5-a@_EGlX>kje4G;7ql7dy+Qpj)yEAM^Zg14O zXm#csPRwxpu?}@IFDiFMMHD3_FgoW_2-TBM-nj5mZWPMWMz#?}X?aaN|;} zoJxT11zsq7iuRgPB!xW3|6%N%f<+CMZOv(WP209@+qP}5Y1_7K+qP}nX0LNQI&Sxk zIA`}mzE(umkEj}%wYv||M| zGiq|PeGPe<3!M@H(aDeXAil=&zJrBuH}M>I7wRnNBHKs$6T0<6YRlDzju6RBJHbc8 ziJ?2=_vCx^#M9@}d-cJi_(}Lw)Yr-_Nm&Y+aGj^?(M|y6lI@Do*ar|Yt3qNm#=;7+ zpROb=4AAV8klR*9+69m$$rBB6IMjg-iVG?IvMcScMCjiEBo$O3qIE7FaqG zmcxh}&ikx*Kr_(#{Q0+H^19$yjt^ooKhzuy~uE#+=fdm2f0NaM` z9V?5gC@w-OnDY|!i&-g%gBhUeERVDKf*2=`r!=!ea@*lI-vvT@;JKox?Wb(}D%?i3 zPJXKgO>HocK0iUn@F;#=#qrk21aKgb@h*c)ZIXPN$Zf{H(5Z{|0lxwQ(b`<5TjSsU zhLX;1AShikOW^RYS4HQS)aDQX7W>1$mn-!aR?FTH2H+B{mUEuspfnp2Mool%$&seU zzy2vG>f&}}V5P6dMo&mTucZ`dS5;-5$%$)AOaa0mf9@ij6rdp?TSXYN_`-8N&#K<4$wKw|vK_i@V(NF+Em2-Ow} zx#qaXh_T*HDd0xV-Zl%V2;N>R7z!C;?<5LCtjvIG|J?6KfsFUKB?KZdJd7JIoDULs z3I^GcP%9Pjb!ka5FJ_3&UNF#0BS+F4{S37^CXqiH{Fw3!M?>UfJAP=4vt)tO9wUZ6 zn<3-!24vhl4~#Cxlb8n8Z&^m=yenf%#zcj%)nQ%my>Wmfv6E=)n%IK4qd75{h^TBG zM?W#CxZLGLZ+@S&xFtoB%rSQRvxJvlkR~QVDarPnX*hC7@P=5mIUqYN_2p+`1U~8x zpN46SI9CzvtdHHXCPK!dSlBhXGu)v}+!-@Tx__LFn<^G*o&&@5G*1WFawGidYle|)KybyKMSY$^jd36X+1S)^M3PW*Dk-b>* z*vd%)US6uvq;I9&ot`4qHjLX<@{VMTRL9xkz+ZV+BVd?DWOOmIK1uH)C^E7Xq_}B^ z&G6l>es4JyMseaLl-3IUuc!vMk_ewpic%&LO!UL7NlG-UW)Z)?)c!@fVAEI!$mpyU{9dUc08jBg{J1E91UJg)~O2`eBMQxo|2xl_OZeQ{}jd8v}Hk zYpl@t3*-~)U0ak(3zUhnbmPk-fK{%*Sed%~)N{3rdE8II$zJhysP-O!bUOZ%$sb<( zI&+E0{u{qXGQE-(*jx)#j1xzYp%+3a`tZ+3E-T*wK$zl+YGn^~tI2{b@rpC{0IXt^ z0?%KR^FhhHp3|TvQ8?gWkt_0tzLg-XD_pX8iQ4C z^(25RxoIe#f^+8GOKdVW+Op50dcJCEAl_z;ddHEC3OSPGn7BD7Tj}FlwY^0`w+q1b0sy257`2W(7F)ZB^e6^CNcY~~N6sBa&$2~3^&Fz{W#&?5-A)$kM z-mc|e{dvTuKG>t#eywyPoRUa3#S{lkSkg4(KqEYuv6GJ*tcT7;!Qg3<{FT0#uW6>0 z%A%a!5D|+eZN0r7(O7rCQvZrAS(~Y`Do#n4Q7$KK-!u|oYBGggN3EhE(zezsHP$4j znxKVVg9BKbu^R+Uf_hU*b&jZ5+5=#YGrbV&QGz1_<-V{fN z9B{Z#6V+|HJH0?W?9EwLU4V*SFK)``jrJ22k%fl;8}L*)I?ht}74N@6p}>fw6sKC`r_m7nr;S7zTP3YRfKXmlj#o(=UcC9( z@y1c$d)G2xBOD6)o8`v8yLnBiS%5TCXRl^?By5e7!Tbb*?vAX0NG@zO&KYa+mmVj_ zgQpVX@gR5`GuKBSlDW5jXougR(ap#cfmyq!gItE?D(vnR>q=`pT3^>8(}bOfMz%D} z%UhVnNkd6O^naS^zC)^+6cR&HTMe=Rq4jJuV$4dcH{`~Fi2m!bAbh-rk`d^>)mI*I zYj_TrG9E15@p>=WfkyCK=*|BWEEr?Mb{MGlnJ&4Yb22RCKHoXr1x-I@f<*=hMk3aHvK^W4O)UY>Eg@6 z`S44{DKDZM94h`p&z^OfpEr35MJSsV9kumP=jl`HgCPI&Ke&g`{~O`K)rRpudWZfu z@UL!zUD@|vvq$#7!2cgs{Qu+XVTtB~8=!{?dCeKnN+c11(eaD-4~E7M5sZeAJhDXY}xUpg>6^a8q?*66z*)kq~vw2&5}X$sN=uYy%xsZ@I7{Od;kx6oZx_V0l6*<3STa`fjs*VhlL;3nYG@9vy8oAVe zNiF}2|E`nezqab1!NuCb*4feMKiub8V(Xy>_z{FJJ8Ro+GVm?)?G3H4>go_97hwqE zwt~B(L5P2ELY6H(mCTmR`aj}j56dQi?;a3Gekh9qLz~O zZVW$Y88jz^jP0g{t{4;nmx=I=Yx4Sc25=+;dtE!1Sh}$J}Gk?DU?x2gv zrDU&d-A)#mQ^fs11OPz#;a^pQ!y*{vNKNdvu5Z5IjMzRHI=Z5kW{bVLisb$U@w@Oi z#4qm8{4DNQ;3!?%=MOZuPk0YNljnv|5M3BQ`rli~A4Pvy1lYKqIXWH%0T6ilUXeQ~ z5q;deZ;*HObm4r3u}~#!9{+5KMqLH4To~5(&6li4;_#L6Em>({g_5 zcvLFQTWxCYoU#j)fr|lS*gI(^t4iW(jfJd5=Wx z*?Jd_yC5}z;Xlz8+A{fLpidF#NMgExOBhL+O8$-9i08;1bh6)In+GN9GFf9UhW@=_ zjyW=gCRw9w1<3M`+&@9l9SS?60yBQ507q$zDu*G z1kS=RqXdyQL;xX1jDZsnoA;N?mn! zy*)ez8c#!%e1DxhA(mfeQV3(?85jKB>&I*bjQ3UQnbJw#WWQN1Fr2TBbHj7zCK##w zV}K$)x30ByX&H_m9Qh>GB0-gXM8`hkzp!aofQ)fYJiL1G=0m5?c=>tC4!?r|KtmmW zc|&4z-QijUff#F_h{aGugtP-E$_UL)iMZPZu>R3PmAW~`^ zUJ0aAug9B>HR`IBNFoD1YD6sZW=%hpAs`lj*nb-nLAU5G3}(I8%F{^7{g~rYA9nnC z92+1|-;}^78$*O|*KI2P#0Ue5`e>N8%XuI`+$A2o)qn)1Y10G+It?%a*rrFy>2oM! z+D`)d9G(J+c4^aUAHXx1lzq_X( zF~T~EbaV)GyJUJ*DTQu>#~~(PoK-Cej3vPvQL#5_hxwL27@tr{66{b&?6uofwFo+} zdTW=%Vh(xE0f{5{ocM4H|9AQlS2&Q;qa#`Yst7s%F2d6@93obP-wCS!_ z7_(GGD3S`+Lv0J-2t4B+dB7U)3tl(?=|3Bhe~JJdUic>tO>_ll$B3Lf3;O`1G__Es z5613teA03L|%7N(1kC-2vvM0Fs_&O!i&@ytw0VPQ58z)oRX-B#sG7T+| zsxrt*B0JL$gK;ZRsH`noQ~q3jtukt46%8Y?xTqxUv7#%}pMUE@$@?M~qWDE4L9%5a z=-cUc-|hOucgfpMJRV$CQL*oZ(<33P5eEEwC#)W+`Z15&=owf#kMos5$ z@9YEyd`$h>{GOCG%A~-S_1r&=Sy0=@9ZGRTDPxBYL(}3&kb{4NuV^!jmaVW$9%N~) zFiP>zZ?z9<*bO45c=V)(eX>gRumMl@CoZ?gR)04A)OBOe5?%sPo@AQr#2D(t6*6Hr zcbHuHb&z~895NM1QeQWT;0PvEOXJ=uqxEQJk7RVzXYMo@Fi&rU!%IFDCLfKI@V$t# zM3+CtjOiQ`*AEQEILZ_0A4o%V_x()GriAi$8~h4g9({@Vij{Wrw@Es}&=OuYuP$Pz z*E=LObcZjw1@`Ld$W&vecjCb}e2E>FW@9E2f&ocVU}CCor*?@+dlfK-H=njU4BDR) zXHIRE?%L|iV2R1KfDJ}YL!Yo&aVJI&g1IibCbyT@>#vvd`^D;FDjJztX@u~x0(P#R zc8|y37rx)W?;m$hXLzG_nI2e#!JP#QH4ejdI2V?}_X!%Fbr?Zyt!UY%XR?9=kL=yI zwF^LREOVw1-BFUO@%`njU?SyHx8b{NKiY!MH~=07z<ALfu*M~ASKbfu}Z6t%rf@jx6ND% z$Kq&^&$}cn#Lr$vV9Cy-Bw<%55ha4d@Z(IDO$G;aVx~O{T|CE9HO{49z5^3tM`oC# zBp=p^XeF8e`O5mqU>>q2xXaF?9#5Z{v!Nb~Bb>oVD3-QSj_{dRoE4PviJC4DY2^xlg7X=|cJS|eMnZyW&c}LED26A30fn_q^z+!(phUtZ29x25{raA&6BjJPt7tu+94c{eO@h6aO z@o^08V1h%k{NnZIIB?WTy6A-4LGn%#CNYrddTNf`K-WkBHa6{`mi%MFe{2r4BWYFY z)I>Z+wltr3jKPsWGYpb}ya3LIxiem~hInGxAXYY)1 zwinzEEbFd7nlXIJyNrh$^5!=DjVdh9uBSVQ2xp#o+c7aL95?-y)TR6)dS_wE!*aX{ ztbdI2=-5DxQs5#?$Hz=~w3r1n zqcIb(`5fI%QXp#vqOy>EB@s&a>V%q%*}nG7E5>wHg(rhjz0UTu{A6tAb{gJOR7?Xo&6F7VP-s|a-7fS z<}jlnn3QOC#SQX?qvC~7>SkMtMGushxU^+-XclZ%lWvGb4{h432tUL+j%|@Ea?6;fKFmLBahPLgX zf3%2lXewR5qPUpuV_^x~TgPN^x4JLSNUbw&Wns^rQ$;5(Y=9h5S8lKHr*8uesTeIm z06{H6Ezb&ZSwd1T{5^{*w{+YsXtv3yEC8`qfo&BdDQ~Kx21cVd8-J!0yEF$PY`9NU z$qD2xr@z`rsVgSJy`Cfax)XX5=J|`#Vax*S6w#hURSpFYi7CFgFn`Q!gn}A58Y1JK zg_@ED!O>DY)fGzr282y*!>2imJUo^@vj7Gd`^WNYbtG zCr!=dLu5r`zggtm-+UYM%JZ*H*PrMm(xnPyok*7=F$|ut5bt?ehs?NmMp|U#ARqqN zcYtp1)ikeQ1!h9aE#g_S(bYI1-V=~Bd^?*t@z=xwMHPxBU<$=~U(HnxML_!=@E|O` zail`(T|^;tMQGW&6=k(Yx`Rt^sl~*Sb)z}}QvkeG6(|{->vHItUu>9~%rkE2*~@L# zyMwj385KCEGlokYtKrvn%rS<%1Y*x9H5nnv%RN)h%cMvH7-~Vz5)7gD8?H^b z%G(&^uhc;PSx#!G&hN5)rkM@-p>uxe<~OEtEtt_UsI{KFEeO?^0_C=$1C8)48|s)W zDw&)w^ig}==1P@<_J0u9M>vnVY$g-7Rw~Yn7<$^uok{G)>);JxbaLGdh?&sm7YfcF z>{7ud0Xjq{Zo(FHB9dSf0BAQN>|}n^30=+eHe4^&oYOS0=(At0KPm{o5+fJ51WE$Y zVzls_ukOa5IBb0m433_+qvw3E-F`g^henhDELU8Qd#ujsqc?>$Eo!~=KUuX5=CI=vkx}Ta zpt#KSvD_g-ai;pyL&W2N=rsM%P`zZf2G|*em@19tVUuhk zP~Vy)h$EU;{(jIdgXNz%&Ns!>V1sV2{G1Ywkl<;Y~Kc z1X+FLkY7sMZvI(Bstc3*=qTJ5Ve-;Hl-Ab8J8U8U+bVN9{7~g8UCxe&>y!j-_~-3G z%tgCK3&6r&B>Sy+h7}G?)ik6!|Ng2X?N0j81nqXf!nPyw{o!)_Qe0&0X2m!e8q?Brz-~9 z&1p;4W1u$H9B*d}g)0gJ_R5{vKWbsS$`C3bpF@;k4l z^R2OiUvxVH_2HxXb!`cR8yX9~a?AR`d#wJ@O(l3J)%4Qhn`L+%BW3ED+Lylv!Mj~%xDMqB{y{X-EPi8q&C0*Vj`+U9B-4ER zJ9egIrdbPn6HoBuRg>ORLu~`6%mOy7Nv-_^W* z!AaYtxI)4vAfjPiXO^iJ5^*I2*k*6mEks>!4s2I}=&(1C9$gQF0nqSIgQ}C*vVj-m z;B|9G^{YR6W@G#|+PaQaeyxdsiWk+vxkg8uZx^ZO=wy$ah*wq!C`wg@9>Ft|m701x zu4@lG!P)DN#{Dj)p(|G=oNC85hI(BDj{8`?C$`X`#Zk?5l$qd4M!H_ZxY+K}8)?}I z!~}f@;E^i00)l-nEY5tXbnF?Ca7-`x`TCk=mP-YAZK@L<9 zw__}3O5W`>)H}?xG%Qq0D_0=g^p#*mw&z<5;%#3uPpc9ElY1g?&%>slvYrH7*$&h; z!9N#1n2qfXXr_h8>e1SCtFw3UUzY^aw=Hd};Sv-7ZIvOAzZE>rUFocQJLjYo-fc7e zw>?06$*M6}s;!gtnfFI1Ej&(L(WD<==$>z$u>i-yjUC{EyUc_hCgiJ5QJsHva1PHJ zp`=s}DPO~F;#+4i(?6{+A>xf(%=}GK2AXJkt|N9Nz(^AfhUujh8MwZ6jG~da2j8EE`?*I#ovYL|AS> z{Zc|UId=AT-2Ahpay73bU+Eeg{&AE+-~T={Xh>g1n6<9goO`*!_fXGIr5;s+>4&?A zDp%VycbzjkZDUH@dg4r)ua}zMkaDSzPGm}YNK)2Xm{F)*M7YL~*2*36kGmvT3OG~r z5ihTJWA_UXgwiJt)dGkUd8BjfsQQu=Q0$Du6{yQo^jD(Lpz4-}Z9eiSw+Uo2dvigD9&oR~2?5oRfyT+IC*BpNdBx zJuv7;_nW(UHWjX+oj1~aDMy~D_q{A>bD%8oH!v*F&hf!_yiVtQxShvZ?=G>Zb56l|GF6-Mb_Gitu{FhYvg`h) zu`*neOJ$gLzHD%3vO{AI!h++CBDXXK*`!&;lyli$w{7P1HlN)6ZnOW*HQdcXXUa$5 z6eIqO#v^ttAebf_DuMwH>tSMZe*{}WY4Z>weB6Y!egae2A;Gg=qQOoL%?MR^AOk&; z$puEq7ZBFLq@eSF3n{Gmu^*Jpe^VYD){KqDR4)K}g>nf@XsdJwh%>aM7UBN=(3gIs zd&WA)S}%{v(57y3@pt~?tmBa+k?GF%{ZRV6`%{DyTCC`|mrAL@p5XyX!R&`Tq+=+I znkpJlJqkN4jR2i!x;$%>!+ z4FjG$tOk8W=Z5_Tjjtl#W9f*XDHVTIajY&}d^x<_8Wi<*eel*ye&u5A_w?GEX2*=- z_WQr|K050GkIBN9;`D!lM z9pFGwwIH1Msy?bHUNH-mkYQ)Lgdd8eA#>($?>Js>{GLQ`6eS;VP=qAqtq`k)mmsou z&(6G%I}41#C3q-TLl=NAn(TBCVP$fqWTT6+n&rE6TNrkVVsUFs+6W>Q!FdtT%>}$n z5kcb^Y!SJZy7GVlU!uoL5CcN~o*6mg#=lcj)BSBI4@%dJvPzZe8D0s+p&Z%^GT3@)@(8Uax)`+D z(r#pDV{c(?;`kqSD_TV-c99*~+tznj1fK*)obZ0FqEZA!ylO2q8x$7-N!Dx8leD?9 zg~>$uVfS@Ic7ymjDz1Xn_2#twG)FXAfL=9nK(z9`OMXF}ea1}h$EUV=;SqHu@4i>m zJgSg+vUyJ{3e{LMKR5t|Ypbk5xQnK#>{|5NN+G}G_1`TX+jbAHDLMu03NDZ%bb!n6 z9@iO)Hji03!U1@IQ%qq27y?*PgItA(1HuC?F(I1ivvK9XU*lrFjGd57%W>m`CMd6JF@nj@q_+s|5;wW02xldGT`OuWm! zOi}JWl1$){l&KQ$`<8mrYaP6#I8FYH>8i{pdWDVXCMV9DIEN)E zat)KSET(9wx{iKUV%u#uDTEC}a0aj^vm8kLdjK4?19IflE!npX1ts~xA*Le>^Rnzt zIlbLQ=mj`c<5~#cQMSgxtob^r>KA?GLg-NepX_UvMQeDm)^5j5PcCu&L!Yi+1F|xv zN{C;J0Ouy!LI`jJw~BhDOTb~Fw#~blLLU59suY0v6|Z7`ho=XTCiOlGZEQ6%`vU67 zJ(sgtW{)yLpU%6rr@c0mw@98k$Pc@{8iE1_1ngpz7sQW;8bK30tFEMAGx;uYEK_@f z9i>EV-ly0J3-EfPxi8KofjGfAz$Uj7VsxboJh?WVeqZrYImvAyCAW{|_-0}k6Mai+ zVG1aFg4{!8?29iJ0qgl3BGS7WK7{GPzoq-M*BD?~5Z8@R+Z2euHV(XYhD5i;oMSzH z^($^2-ug}TVOdD@=LyUxzM|t)1NG(LkLYDhhn`DXqIJ5p{R&Zq%w+f1Ne&$Cvb49;d-@WIjgbI6Iyqlrn%O{Gh>LWJZIhEjZfN0TGu|6a$vU_( zBvzE2U9|Olyi$ux%?qydUSYb=%=0!$KlaZpF{f{f8X3+_;6HYz_PW_qBTmGf_rsPy zeE(mhNv@YV5Zk}v)~fV>E^hr7=fu_KKYYf^+*VG1BocD3^%U4iRcR0&rgl=HF#sD! zuH1p>4S@e5@`i3-&}zU|+uHCMH?{nH9#>XW;w4Pi4Q_h_Na<*#YiMY^SE<%cHBUrR zLq+WL-`xBhj&@$uf6zxdqP#h9-v`oNkVY7>%s=smR*0*VJTmKA9#?u`rqrv>D~kj} zEil3*>iYLBHc1Z<;0t-t(a@%QkndX9@0By-HZFMpRxxCTdH!O7e9R)%aRJEypyh$hBr-2`Z}~NeU?zFQ&&YYa#X>AK z=%S4p>2}YtTq>R)F^TVQrlit2Bgm+AL0TxD)dt7!?+BXx6*av`&iOFWK4RaP{3gyS z()(Mc133})rupGezDy{Us!&!P(#`d5&#dUgr{RAFm0j$&LZ|;8z^UehkQh-&GLeEl zu7ETkqg4Ujn}+kS_dW4}>nG4sL`_1COLmBaO;CswFDc9HxE$vJOogy4fm=Ktx-1B7 z*srwr2i`?6S_Mc-`@;VtYcO@ssi*d_9pL4%qMJ?X(eTz*&bWiD!iLod>OyCabR`K* zRKQe8m{xP|xx}N^7oP}v7pGrD&8W4L%S-^3CSto8x+!awpSPQ5qJg<`5ayLk16lVH zjJOc%>ZXgwu<6FxxH-lqk9Mji!0g$teU?qv;7+hI8o6my6?5-XPOd z^H=IGe$J#6`>2Sg2ZthL7S@HXB_Bs(QPQ1{RK zESh&3x&9rbL`i*!TstkVuv2yls4s`;B*2SM&-5v0l%GP@A1l5}{qsuT>0Q{bn+`q5 zJ%ksi@4#C1;t(5(rkK`dP`PERM+Ire;3AgDQ2m*7U?aFUN8Y2+6YW20`GI!6ZknWk zlsOp3kU9IN_b+$t@h44{^3E*Z2ZFIJ2=_i>^`rrlZkR-rKO{_F}P*=kG(O- zUu0#we!nA+F!AyZpTMGhz0z2IpzFdG#;yvWQdP?*KpCR`*On+ikR_^lwLy_bp2G zE^wowJQgw>v9z=R1WG`p2DPqzkDjrXOnj#n3!P_`F`>H+35jlPDR5uN*Ua~igQ17M zp?6_=OKpOplV(W6Ex!y%-&^>R~=KGTf8EK!ahT0)km z$QtF^ zl~C)=_6SZ6&e$sg)>9)Lk;DMKmxQrVJ{C9kb)%1P0p@Ih>1X-x zKG|auEIy1hL?d=bAER?g_)^S@-n_Z3o;LYXEC}DdwSn>Y-e5#`#~F-K{D11X|BPR2 ziF_s@??mC4oycf+1pb9gX7r|H1RufiPJ42kOtb*uOQ1; z`MgQwh0c<$I|UJr#Y$j%&(r(r@8LsCEK|~yC+J&}C#~+jQHjjOU73A!M14m=QMg3) z7PDmxw3o>nKw-!wplYxCqj&5%>zn6CBfDnpWf9FZbEe{S`n_SJGkvzAxRQ^v&+OM@ zLwt&;@Jpc8b*j(pDGs<~$$qIX&}1^uCvZ|IO(cl#D${?!IbckT{QXDKo}K^R2}Z`6 z%2T$u7$c)7OUPw!V=j^~isG>UsddQOL9p6~VhkXcXV?Bfb^}-}>$Svqe_9)~^RBAt zM%|r}>+0F2a7h@lcTe#_{`^x_RMeGh`93)-cXN0(GJ7gBqnMl=K7e>|9Eq#Qd0wh`?|x5mIxZG&9nmfxtWh)+dR7DyS+m zLuDUA0zSuGAmJ|W1Pmk1Wgpksj^4@qCOhP1R)I7Vaf}c{aaw6?J41?nMZTo_OPOyz>CCo%vuy1gdsOLhgqbNfmx1d z^bTXS;g0U4BfgwoaV*!V!C*@J`;8-utBrjXXXRv2x5aUrpv2!pn^Ow$v zUefdTUa3l{+ueZyf90+SJ(EZOQKYHQHIDzlQm5?UO}t$Np1PVsAUa)^0T`Wd{}Y%g z4#-#(-uK-k&lz#c?L~_*pHVl6WKq)WXJm0{ni|TqE{qsncpFRpHAO*<`p-PL?9p7x^;iI zgsALL{9aiZ!`xu!P+-Rmm~e$s7TC<9ptA&?UU^h0IUyB(KEaquR+s?)9GQRe5`*=` z;tq73UHVWRe1vOHNeXicP`_m$1QaX(Df6XGVYlb9Y}ajE5NgjT2mXqE1r=|ZntT&s z5c>*7u#W+@9_K!J1Ix+Mt%;_U+i}hy+fW~yhTt53&VO7ZP0a-ljJ&ufkTnIz+tX|U8Xk)+C++^uBC4_dk0$> zPNEiJP>rG&!3l>`u$7WBC-qi=m* z**cKI5kWW(pJNO`KqkF^(@UJb51&$i`5v|nu__Zgz9GBY!o$%5YH5OP}%Zl20#M;d z(}aV7*T(Dt3it3s%TzyM3yrzaz9!`c<5a>{es_LF=vB;WVhZ}MN}4$taGot#v#~3_ z^lG}>rnSvF56-$A@bVVwglGA>Ny|bT`Z-;!)d3p=&z&tk+|^W7#v=biK}ZnQ4OZt~ z4lq|;2nO-m)h(>}&Y)Cdhfg!c6|_Wo zpN&zCC-8C#{rZ0V{7;Ll-I9@-uTJ;1vWggi!=y=T%e}Q7ptV7VrOpM&l|zWcPZ*LS z0e^R;tC4C_bEA>gEs@?g$k6e@vM1icvEx1RVQwiY)K`|?{Dx}{HZNA*H;Au#ovCX#y%{w}?;_EYoC?|O%;?|2gEas^CU=LxDE+<2w>o{gFh@{^ zY+MR!`XwauhxUo=)dRiZ4+S0KfDi2L5>f5_m4WS{9;P-ft|kxp2c7H2AudngArt&O zp2U+5s(5Mz<-~WldUmTL>_s&Dk(gFK;s32_4^8k3@Rmivg zba~ZC4(A3a|G;sgxTsmQvDTSdK=?b7cYdGrcPQ)ZF>Z7}a1)sEy&Y0>6>L&zvuVgt zAc=aBE*cZEd6h!4AR(+g2!J^SV+zF~Q2m4x?M`l+>$XHgF_d+MK6ckk3@+5T6n)JBYIlbJ^Z`<}@cGd&ep{DTm8@B^j^U;p~1QXo2m12Cy~H!nxAIz zs>Bl=b;!hkzu)w%6{W|9PbDxNxP5gldsqbS%6j>A%XfjmcQEiAX-mkGsMX~(V!pGk zsDN&N+j3XKRzSyEBk=18JHpfPT^lpQ>>}+R5ZA(4+K5sD!kSGC7+VNo8)xN z+Vq>IrZ!f-`d1VI+uHBBP27P*0|%xjLe`|n4$?^}(s$F!cD6|z>f@t4n5uhgc&sqaD)H4@C(|RyL#LRY&x)|RX!5i8fuu6gpOCtp-skU7lve$z&Hx~ce1E# zqwNyCos|yM!#}Y5rg`WR{+8vVb^`f~+{W>c!ngN=r{IiG?a{Gj&+YC!KEb)8s7G3-X$Gxo>| zY0e;%Wjw+*+)>@vF&wcf1euDD>&*GJ(A%{z-%;5w3oQk?NxT8d!n{|Pjuo~jdQ#il zVlBwB7i`CCi>GCtFrC_?0mv$EGVNpn-Xpb)OCH|(Z5z?F%a5rG5*-a)7V3otUrq$L z_$7hq8g@Ir38dV%DPDzUwWwn4RgKz4IQ=C7Pkh#b%VG&yU7ot^O7P6)gmeyThN?s)8%LPi+GRJ1=XNyZ=}+aW#>2*c8==x zOWE8llm<*bK@gcuSLpugnH>@Hi{a{k4F{lgbat%2Qqq({w$Aky?=1biUhyrWdh;!~wfKT#gdr1sA$s9jM2lo4K ze*cd_76NL?L6QH65qj+Z{Wz=trx4|2;_PBi<78lKY-s2HpTyb!;+Bd&G(J3&edBIEyMP|qMSH)_4k+HG ze~BMeBfFQ3uAoEr?Vd@HJW3}l;3G*cCU4J>*Q1}QJyeFp9h?=IhD*ZK9zOv+)oUYL zx56ZJH(L_vI6|pXI$qw6=*|3e{66^SH@vq@-g&1FWd~6bu2W}IaViQ0G#*jXb;xTw z5Lw25Y-9uPi)?!$@QIcxU_jHLgLQ-Rn}ltU$!PE=+}Sq9{AWEQ4OUk%2Y^j>7SuqY z;#V6juufma;xL{+TNF9aXs3N!7fdpCy}!~)+4;saYfLI6nCWL<`sIzVyyuklgGTNE zn8W73hKQRgN*-y%fP{5zLs}<^`tmWP(V}%oAXBr%IFR*Bo7BiEd7n1$NG0)mfu40o z9F&Z~Sk!*(1QlPJx5GLqTPpejMW%IIzzex1@>*>crRvV-cc@W~SI1-Y=>)>L(_kMm zfzqvxj57HOp@0qQH;%7e#F%`DpyB7^h7LIt;6cB-xrif@OhG$PG|uzqGF3Ht&nlP~ z_e7&|BBe|j!pL+4Q!pQ?$Ra6MmtFT9wjWh*_FDsy%sFW-^iONN%km&DIrP3hc^q-#}V+MjygA#=62?*oz_N<#A= zT8xq6B1*@IXU`u1{MR~h;SXqCTrnq7jQ?+*BsUPEy;tU96gE4S!5Vv^|1Xh&rCF^< zi$kRfvn#nko(*vZeeO>`oUQ`Ma}*F+NPJYNBM^v!p&X#OM5E2d*q9C{)x=f~fz63KMl~E%TLCkK){i0;pf(^>( zKRrhp!+ke78{E$!={EQpeR}fAh8<50-h*aYm7ahr=-DM9NArbyqulv z9AB%$a=*M>IZ-SKZC{+Sau83%HK>KfV}gA}Z8d{CbAD)E7?Ci>fcD^iJfq71P?X-* zQ%_d`yRwS$clLA*RIp;f%D!z_F*m)Hp`EFF%5u7O`s_eFH1i@9cN@d_S8(AsjleJI z(V|2zM>|t1){p`*GPjgBQU7oRFTl_fe%FooWqh&G2HrmJM>%Uu68LnY8eK;$al!r{ z%Vx7s<;DQ2x3gy$Q{z?ronr}wK$1?ucGMP&Jqj}dY%4eo$ zCKV~?dgzf@I8DYLi>(t7p6zw9@=KjTFz4joT+0DC0%tj4P(vHU%n&F*>kUDMuoo!Y z0G4~eAX9?v#~qwithnelV{i`al<`%i@vQYNq`3Na*%E5$|4M9WeZ5h&ZKRYo-7rcD z6$whV#s{;&)sJ%OjD{^x3MvQsc2h%ALrMbZyt)5oPnQx0Fu-2_(Vqd$uY@!PCCxz6 zOyv+$4&HYH3IcfS(dq5y3nTXJKe|Bf!GF>Pxx#2C<1dXc>t4hZyqz_%@X$> z`o9Q!r{K`KXj?b7?X1|gZQHhOJ1e$r+qP}nT(OgrQ@75;-c`5$xA{Cr)tqhg)_VI| z|D2a!MLfY_ec>?!%V8gi1mGCPq0b{GN#gI#Ap-xtxHx@567l&@hjD~T7&CT7SWXl`$HJ#uC zRo_FRrop!LMJR!E3vVqJvH!U)vi%*ULv0ayxRAH_-s#cpfaio~+%kqo@fCv7lT^<0Tgao;bwV!$C za#T^Nu#zt_z$gdb`LP=54}=9(46Z=-3TC6+5CjKXQ5gnnrM_EG6^`N028~i0Vm@vH znBD~ET69n|IQd)@EMzX^t8Nj{@=$bBH7%W4VhBicrSY_`n9H7q<5(XdAR2W^a^j7t zAXydg3`*2e*I}}bSd)xCBlMwRTwgUh@Srnj^tJ+gned3*>0AK^8f}HtQ|O&@L$D{R z0ObMxN4InA;=Sh4)EzG6G;Ke8d$kPYE$=NK=4>|Fn~m4gotA~0gR7T?mxBYJ-oPWN za(HtYsE55o5xFAd^hC)>?tcISQWEMel`~)WPw`Jz^VJSgBShc#XW}@WQWTc19WJj- zrVN%-tb@O;v5SOsV#&Xfe(M3=hnk6D$7FOB_r`FQ@Kn`vou_Ya@a0hPHSEA*s$IwK zfn9Gj_Kx-El>$2}Pg{nL$(WjoK`<(wf`WohJ@{=P$xP58I472Dx_u?JB|jnA#iHt0 zPBaR}lFtFI7JA&jW2%=IaWzxQqal1#LI9d#8TibqAP^;HaaZ+s&@Sd#M@)>eu%8$H z*Y)^or(`c+=h||<6?}{7HGXFqSE^9>QajpjP!ouT^_5$1`P ze3Ci|@N7Mw%|5pyWV~OCic6`{JU)QnZgMh)zoYs>(e4nM{_AE0#v}5)eLi)Qi;(kD z4NrfTJZ$m@D{`daD8Hq3Sh^V^&b;uniYMa&r^6%3Wt8Zob$@)mEj+Hs<`|3g35KS% zk*$Je!8lpmdJVk4ywk>~pPQh?5OU+>Hzr%w$8!hg&w`%GA1Yf(>KE~}sanD~+hh_B+{7VXZz4pHm1PAR6 zm9w@c3Og8sX@#6%@{cziKDMqR%N8t)_lAM^{wt=1q?9LSyLrGXlW#QO$7p3FCxL#i5tt zydr;mMM_uG*VlmAiD(hQnN^KUo6l#wP;F|NzRTVLeztFK95m+W!;hgC`@B>Z+gy}qVIH=H1Md(YULyZu`Y8S*PiXoZCUo*}ayI#|C{lIO zv~AEYFJbmh=@l%V@C9!uUvXJWHr~^1te}l>?Wv|x6!KPA2xjTcB9RhZ>S~G&>^gji zz@E4gN|JE|N{7gS$YX}ao85#!CaOq=aXL`-K(2a7)j)&<@eMj@LFKW6QvD`QfAS?t zhB~i?m%zrT#Fz07*|FuhHC%jht?14-M2dbva)FhGbwN~`YtJL+;fP{CZ1DAJ5Mc`8 zuIs)(hIZGJ68u7^k`q<1iHY09kO6_}ul(fovDWXCl}Rm7JldytLP}@HStwHtEJbff zIJJVdLkJACqtDj39!D>GtcFbQMeFc*N~fc`T9ejhD*KBAbhj(&YfBRQq0L4YS6F>~ zG~dhg9gTURyz}wJcvWtT^6BmV{$LHWRUV#t9m7LQPV{%@C2N6Oi!I14)$Z6=V~~MI zEQKMys}%PBq`4INj33Y2+bucvm4eSh*)-+{*#A7b+OVGEFbDtuPon=$kU1GSTG%`P z$B<(B|CU>_B7EcgK+$5Gb~+^)el&I5u)1H*8CV2zNP$}iiAgzEsgklJL|7Gl-*z5G zl2bTZx1Q7g;kUkf{pVf_PvHhV9KOI9?c%m}J`_kLV@p;q?bJ;`M7Yi;La9;f)p+$B z=G*0z^czGO8#PQX#Y_yEi8q#V7$k*eE&S|I%EZbZk*xvCCposHJxUla@iu`dZR0R} z4jq0MW0m9Rj3YEtES2t`a$-UtiH>(XSbvM{{kr$|yt{lrr}G1Uv$fOxr(PPEi073G zUB28$$M;7n9tHC=SN1fIsZ{ELLxRNjDp70UDKky```yu-!)9Q$*H5Hlw0~@LkbZky z#@B0q={?czUC4Rxyig4HK0J!40;PV&|MvClqbtqC0tR1>s~)q5vk^#tVFpo_8>s#l z6>N?_N@!r5d;zKWJLZe9sIKTrn#QzM`hHIjP{n;p#l zEiU445_W8@()&C!CqA8bFHnB2iBC=fZJUux?tJF=aWX}4 zef|{Ke?rm$^Hp34n`V{aC{m{Rkmi1o?^@1)OlXu8ga=*W+t>ba!3ef#iIxUPT|Aga5`n`MeD6~2BR~Q+fks3WXXp`zlr;Iyt3r$YetyP4>jCHu zC9l6oAkcmFCBD4k_Gjg}L|LGff}YbCxZR}H)Ou-w2e(aEoO$hfdEJQuvZ*(Fl3ZN#P%HL%f^uYZbL2jWPV7*;1xhu*8q1oERO2!^I{}-Uldu{^99Xn5@)02@3z12s9)^*RgbPZ`l#7d00?)aC zom!M3r&bNP+&C5`PW&xE*CjavE7gBxM!nP6Q=kT((MXS+emAq%TMy2tl z<)TC>G(BA*lmkRyEd2&xRB&bR>@WZo{yY+X`n^yS#WgCMmZ5r%L(7qZa`|7jBMx(U zZn~GR=dOP%zOC2UR=~EB(XQ-WFpoq1Dr*d<9ty3fwEF9xfW81R7)s2wLMtzcu zN_fp4Ln<|5(h_n`4z6uu4;2W;u7-nDy_IDK&^&BBu6Jwvm%rNqLN$F+l%7kXJk(P) zJTGn2rvbAA7@S2eOLsk9#90CZZA?b?+sJ1@pqEKPywNwXFh=WS%Nvp7Yb;-_omL@n zf*)0gMQ;155BB&+6`!`&nYJJMDKDBYhO%xaxxmcbv%DJZ*vVY#tbNY{m#%L7>uKHy zWe6i5eIejnfHp^dNb+7a9{Oi@IW;@L3lDETdnYIxd%l#0=4|=lK^84ULM(N4wiRX= z?0+a$HxedD_KFQK+%?EGasZE6840BZ;wiN;TDB<+Asf*nugT(q1^$hql%EtidLd&* zk7=ST7*4I>oJ+%PVWF|`L|N_E5Oa^Wr1n>X!>J9*X?xXY&skf8!P3oQ%Eeu8s5pPY zH3yu@F4er>3Tqe5>1-nE&~*>5rR0kaF%#>jRXnEQ}nr_u63e=Bg z)fxz{Z&*(GV^Gz+eRI}qGuYy)9DJdvx;T8Sc-<#)ArUksU+)pWe@<(?vb>&V7`Y_k0I!sn{Q z%SPw3?vMeni=!r4y9hya)7S}8erv%8MhzF&2aCIHYrnklQK9?C{|n3ocg-$GNrP5X z(Oa9etMXz!AyNuXd;j@IlV8&UPhYgYG)Hy74Vvwucf&|7C_-(1qfkX<5VbHN6gtAD zW+kruprz~n07SX93SZpYomm555ZU~*2T1uU3u>AGma_f1I%*4oXj;IxZV9b+Pt zUSWhsbGv|2iw}HdQg@(RXi!RbC7!iY+3+{W%ut6Zjz7AbEqL?=pw4h>=WJCl6+2CL zDQ-TvF!pSAbXD^Jyy@k?i9B%tSpk>fn4g96~U8|JPJfgDGjDE8IcqqR+1v=CMZ>|`^<1;tegPJcgPv< zEXxGQA%5A85y5cgvOA-$akNnDplXm~|I$l#zgS%H0X3{Dt$-_UGlS(XodRRH`zoClXrH_3yg@Q)9TcBU)+v#%Ot!yTr{0m19Bw zqw9DZ3Iv{OHIanncCkz4dDxj6L>y#tr~pU<#6;ob@7M!!HiZ$03#FkaH1FkHjJXXgade181#c^@`2sZo44rr#xBud0*T>M zxO7lYp!M&9&8t*$v9r76sS4f$-Qgxla7|y`+o(G6-LK)R6@LH)s?87GRGah__324+ z;G8}RS>}NDq?dh*=e^UT2f9DF{x8h9ZF&jD;IA@fRp6n7{i>kxu!_3SRvs^T{=_O3r3h$~eLHk21V6V=%%6gNHcGkPH-;p(Qo*&wS3^!7Ml zMHZq-ZMcvzSi}KR^U&jHWphHQ&sp-6ScPI1g&-U9plRi}e*}QxT}4ZF0B>9X%gJRm z(sw~aY6rR4=XNVWNrUXp?;yU=SBe}w1GTczz|!1fme((~K3$L<)p`UL}jq2$(eNa0`(vUHp^YRykn_gwJRB{M7H{?_~n%YXOEKk_ZWARiu9q-7A}Ls^&sLcd|IR5LjH3!?i$_L2I8E;Es*u#MhNl z@H%DiLwhf>oWbK%9|7yKw6cujrKTg;UWkGVZc$%1Gf^tpKu||Phu|azy$k%3#`;=X@5|No+yWLt%Uv`iEH}qM! zNj!#P4|G5MiKWoNSbY*msum_881lzJe1D2>&_Sy13!(ffMI4Oe$&L+ z7K^qHo3qsiKM}PpVqtMBAi~L%+)!Fayc6v?0>5q)5v3)lmhMwzr|mh|#mnnq5on+L zwkjo0wzm4|K@C${)0WUzStW+$DE5eIhWeAA8q%_YJv%D3TFrLV3V*-LG2bkC+kh0= zXBF?2>vg2^kg!m{ynXlMMf&L*z*ojfkoP1oSP9r1*CUt1{P+0QR`cqmCMFGnl#vaO(^rKRXifX2JoQf- zeNc`!=}sl(9tB*+K;Yeaj?(*j%|Dohto~{hZ?-guJL^Nif_)5<(+s((8_t8S%f0tS zo$8Px--_R>h zSbHBXTgH+HbW&-rN6)?$AkjIpkg;KE_G4JUS^o}^-@njUX!i(xESk*@tWCqE{y751O7JJZB{2qDj!zEoRJ{nOT}T>ylc*ZF-D$n#Sw2}&rGE* z+uQ5AFPKBm$tbNth`2G3U&+KBapL-xfA*s?Q~Peg*}1561J~8wD?F?@*^}Ydzn9%e z1No5Vt+RGXPF^ZNOCEzw4V+phtb}?fI0)H4P&9Qa(I(H}twL^y28&3S{97~fn1e}$ zFXn=RIu*w~nR+GCtWFh(naF&<@M~3wnFV)rj~PG0k^@!M{)d7nVNy()w5?XgOZi8)u<9 z`k);Xv5=CLI9EkAWhGx-ynim#&C@L4U{qIjSHJ})RUz`~)X9x+?BvFtFV$_QdIbqx zs)Sux$hIi3jWYa@#9PD$*ej!BkfO}8*odk#$H%Z;f`!S>+HtDHcon*oj3zUP|L|t6 z#7utI=WyD3_ffCv&h56_74c`yD*s+P1zY|Kc(Uo_CD8UV|I#8jIg{Bw|E06f4N^-nCL3~(MI9=IZ!kNJ><%i^UK z!~?OwOF?W|o@YMA=i;O}No4kogwoA9xlF$WdmnI~8e}O4z`|x)qSL)bwk0KT9SWar zV|XkBIS`=o(>I?9R%fIok9aj?qgJCRr)TaLjuNu;GTWeHouFoIsjR|+BPHwJHzioq z%EiU&F%SLjmpgLsgZ6vt5YQOMg<>fUWBsPSy>F+(Q2ef>xS?wX7|Z*-fb(4!0Oh$H zp5m(3OvEkVJA|t((4xQ+sp%#Dl1O@IG+!49$J~vZH+a}vKwAq+l>;T4n3gr4JHFWc zQ^bjlGeha*L&xJFb$4!I;CTGT=`eM@H9_RG1Jd&JYigUc;bkDM9Hr^NyFCZ(iqqX$sh0M^R z_{p*G73-ZWG2j2od(i+xS4hKH-rXv1YmO-(Jk>{_rKpCE-zDO1|aR5JZkM}=jSh0 zo=Xsh=|$Er0hPjKte2qm37(6F28<}1m+}#;hYIh~MM95|WASzeT=9Rrp~b|F%fJQ|eq7f&bGD*A3%`xmymrB{P7gmS z#~Tav>_`VQ=a0T?_}bgEz1zAy+%~=V-k95Za=NZzYjE{BcE|p}8jZUHnU)lmHrtzU z16L}lds?ruL!M6Yh@_1!6i2j5N6=hSp;EmVU`X{3wbDz3NMjQA+tLIoPo+7v2;rqa z0CXUubH5;t$ad-w>Bk=P`yMN>FHS*VVjL%>JBj-vor_8kUNSc%m{5I_hZ_93$uXYj zwV~;1uh768ghLNOP7lXQ+(@=E?}uWDUdwyEF6I*O_A43G^Zje#q!^Y zsaMzK6l)Y$uF;_CR*Q|6@^x@n)}fIL76Z3mZb^1(=WuEXVF0olpjHKen)=x3Hee z>zlgg9ziJ&g)xoY+T%eT=Y>c8B}c51O$a|7)yTg*QmX0uDZpb&*s= zofvkI1v>@LN>T^-eL_KGb)_AFtLO5-Go$i%Pt!+|;mDW+VJ*O_msL3#%#pT+X!DQZ zH!Krv0thgH7hW^B#0t2UFKt0~pL#?lygGsfutaW?cOgY&MrErdkaXhI{+a4|$#sTBCWju8QmjjWDJos$@Kv{AB7aqgDsnOi{ zybiZskY`P8V1%B5m(oTtZw4=N%iNNZX;#rDeNwLpdF-h_Ae$i1R$8j4Cw&$<9!rnNzd>@K*^J67^hN{`qc0MgHA<0_P%m=G*?%$eZpmjmbPr_mcHa`W@{vm{x%=*MKu#n< zF_wjA*;Ah_y-Fo(BvB%BsR4Z`!OCmXdWOJ-DN|R35PLaVFK?Zb_OH=OG90t^=(Jml zQu60%JpD?r<9qtd1I;00id?08Vp}q>Gr<210sV_5}rNDCAGgdHXx|+vf!vN{S2{k zCF9qiGxY8doF}n+_#{AvZ+m4P>VV!TfLyQvTZM->Eh(j zN?tJiv2yhvmPR*{O$;fQ#+IfkgMlS00aAqfAUAM*F^gy-I;HGFoXUr z9{ujTk+7uc4O9_2tk|$7n4I72Bkv&Oz`pj4^(_uQf71ivt(!bH)Fe5ZtF2T&W=S^zulv4>X`$YKu?Lw|)UZ8>T=Ozhw_X-!)ZmPR)Lm>j(WVJeWb$fe_uW zxo zP}HU|@i5kwboHy1h@IWf!DF2wzz+QO`>#Ea6>C1op|d&fz@on#k@RU-RaBjG^T^V+ z7gY3)UmqC~ud6I29Zh!ZNps>Kw~w>)o&w<(;5a-VYxk>viG1dd)rzdFD%b{6qS&F~ zL_BpTa+uip2Qb53{S7|IcQS-kMP2X@$;G8Ix*ttUW1xL>&iE*Yl_HH17OBY0rgq(YG$h{ZGFN;kFt81$PsDHzA~>=KHt_FdFqzXWnE z8v`kn+h-ne0Kve$r!$i#``7LOt`yr0f(!1-y;>?gbj`jKCN+rPcY*3fx3ztQP?j#|ZCDhvNp|DiEP-HU!YI%FHSV9$bgtd)a79Z~9<67O(UDT^WsB zY#;Sl;}!riCVQff)m3D?X|uU=RCZ~WGu}~3CLPUIpR_8Ssz*Y4?jGUI!;jmREVSoa zZ=7JIpTAY_SSU|8qX*J@3zct1HiXO1j@(J|!M9s>S?+U6H^KfatE<@xH&=IZBkx1k zf{kmd)=HY}p)M=C;hx>{its8&6Na$l24~qiuE+e44PPs)fh%Ne!Gr&F++Mm}&EsIt zAs0Hj{X8*OPS*YnLUx)&(X7*wKuo_OuGc_cTDZR@Oj>u9JK^W04ccYz}@OQ z_DovLfTt*FcA0LK#??FdpP_cCoLy-jy650p7kMx*xFLDc+M&c$vLp0oX0|hbAprR5 zHt=WxY+0w2-T-)V$ozm_oW_mlTI9OFZw{MQ{EAtT78qO$@OC5DB$FCEvt~okjPGyv zC<+aarE!~U|A<-wYkKFvSmfSsE;rbw#Kfc?)j5omTh8eJy{9n-2B3%w4*+n^0RTYo zAM)crn{$q_b(}WGt~I_x)sPBO&ChVQ>5Mw zz29#^>(-8cscDjq?dh^++(z+{pmhLf(E9!Rk`nnBl+l;_#&&i;I( zZ5#0Zd8tMMK@@T>$I)F}Q zCmZXVmZOKGlO-(|tDD{Az>dr-h%9Z3{^{%wjvk+(vd}*^6P|{8*Fv)vV zA#b5HV~1M_Q98n(Do$ZZUbCz$95WNPJwE`TKTuh7QZx zsqRJ37@&)X$i@FLr}n;0HWJ6zGOwO!w~(7dckI=2t8hmq0iT7sLBE;~rqlc8rlRPy zT(fZv5|ixQZsgLWOz)Cs%u)u&`@_o#EeLZN8E9}iEkLYHZ6tFNn-u-5p8*c8WU+zr z!jO{(;f->VUm7?P)R(NBvhgfNS_e1WBZ;D&jlaCQdaDnoKm{zvH97M4^Ni9qAh{M2 zOn=YFrsZCE-^=CU`*;YCzR1RxBRi|B*Tv1nbGsp!sW(4LV9^|pxG@ypF?k4}ZSNqY z2zZOjeK6{&fXYVvXJ@HDu1`dF31}vXInosK`n)-)#mH4aS*L;lm&PcbQZRr|cT8Iq zv2C{gPareD^qEUgpnmpD$u6M6VL6$9Ni+ZSXKinUm_MhsFcz?21I?b*(2eO`gY^u7Tk{d5*$!|- zQ*{haZ2AZBb)@#d!J9w<~T$~l)-vHhG%cO#yz2IFiCDKI;#{?X@G{4;gIep zQ${7B%)a`$@v*-%ZPp9Pv2Y%(<{}Y*m>&dsDY4;y2~hp!Wjy-1&`rGm_+iq!%X!xa z;Vs1xzH;KV5B0lOM=c>bctJws{*84IZBW0_cIHgNc*fc6cgHee?Io+z&O_*9Z`&kP zo2uUes4s2^18O3v)_h|=epCIM#|f!mS)06Az$gMU|JVuKScQ521bT{#L97u-*;U7Wplskb`%Vv;QoLSWkwRl%n8qt2Tr-m`Tc#A( z!;QGZu*%Uq2t%^f1}YVfLg%g!@S=7n*Rp`ZQ3{I(vNE5wNGEr69>Q&Xk|PoLYwLk*ibnk_u5DwsC4P+yJEuOcVN9c2Y&;jO?H(txcRc5nraI(G;q z6(2eQT3F%+2(ymG7!eh=xn;$D!ptK|pOnr8v7njh3$b?Reh^Xqa&a)S2Q1|UX(~(I zS3|8f-J#Yi;$rZWI*d(-ZVQ6_F;%0U8b=12O*WYmw>>B4`3xa z{C$_9U+@50-~slsT%f;a=GcE-Wb^Y5Z_E^@+01f?f+gBW@?+*&KfGg$s39T-5|z&4j%O7a|gysRFXAv#W2CN z{EL-VG#(Qb?xlGWVz8DL0`H!tghx16NVG8o>MQ`j@MY}&OCtUt%fCDQ2Q%8;*}V*S z3GGU*EE_B(sTp#Gevj$#Y4spJombB8yclsxLOGy>1PXVu?PLtVL1`qHEexE5*c3+| z?rAJ8t^8I}W9^&>&8ju6ufIgS24(p#=0}`jvJ0P_Dzw9qS}J&pWnT8PLm_Q1F9rt6 z3LdxGL_S42naWCSD(t;Q7eQx(OBl@?xGiOjGygj{Rvo%y-Zly`#R~tU*V2oC5#+1w zv_<4`{BVttfqoMz`Uhr`##~$NgfZwNqueF)#DZSYr6xzoi(9M~EH8cB=#113lx@u; z12yQ*J*&gofi$0Hv4vDy>Hj*W>VewY^1LCIBfRqkInMCskkX!(j)L`c` zi8eVTX$!<{;s*?Db+BnuK=XyHwLOdlgUMrx6?3rXTJ`se?9eEVl%3ft&12^0_5C3o zNG>690kyaD-{B&z5+7O36WCa>d9~CvA1c%b=7!kCl%yTQ_LExx#lk1gBzyMhagW81 zd+OEE5b!k(Sf%JI;APBjWnOVaA?5JhYWpAjiwGWBu2`ZxdVbRH+-d-umG=UW=+ynZ z@#cL@_hM5*>EUBpelwkvg~a_LXtf0m!N3Tsf3f3sqNgv;&I{FILdE5nyGf!<0j3*> z()$Xz&*SwX@A3r7p!H{_Vv|>^as!D{L)Ayiv>Mg@w2mea@M&~=R&4*VVYpX44qqz% zN*Kd--ma~Mc_3^h3zrUCi{IY6>R>F$$FlVGU6H}i2e^~j<(G|M=6BX~Zku&&icH^F zQY7#>{Nyd?MQVQ@N_GAs>2)ogGmfLj`CoMUF%rMqGs+j{!A%iQ_a zCZi|xpwrf(#UwNORJw&+40wqqd(I}~J58fj+}DFg489l4mA@=af#5WAStZz?x z3#g+bCG*os_^B>JrfX6%^{yFHLzzA%VO?Zs}x20kU?f z+3TrI#n8xDIjBBudjV@KS8GpmC}UGzdrUJdDUE0}l6+dJYv$3CP0o55Y$XcR(Ox?~ z9vN7~9T8QEQdEByLtj`7MMsc3C-{JzEm~PhW`Mq^eK-NcK1vq2Ktl<_k+^ELbT~E( z?43GKHz^4i0gu$D9-QQ`4++c_B5V8T>g7g|+M02J!2pv5j;C2=(vAI|DT@wEk&ku9 zXEsNJ-Qs}i8%Mhy6>0iMT_jT$>!!Ouqj=M6a8++7iOd=erpE83->(OdeRv~VI zpY6{6%&WIm=034H!S}9HvZFOV55A77YjPHKrdN|#1u)}D|ms4UC7*!reUC!?2y|ctF=SQpw%Kw($ z&s61vHdcbb1=kZ%p_5^>%54iCM^E8cz`!g91g*F(CJVZci_#Z=v)@zkeP-s)u)+2D z7AmW-0-U&q8oF2!w?IkWwpK*Ah@U{{IQU#ooGk0?2TyC7>pd~w4JY9utv?|R$l5-UU(<_U7bGX2DSdP}N3vOh=yq=PL5 zwG0*)S}&t7I5$f7S_V{aZ9Q^vP{=EPl%VGN)b@A8Ppy6!m!6QxZ_|uxafdcH4F%f5 z>aGS*asCMyl96>ZVbe0Xx9J_9w#+R~YZQgvkS(ps6$Si3Qy4j_X+ztO9BV zfF!HVy*NWE8*t=Ab%|VxeFKU|$HnvP38)oCA%j=ZY}?aZ2)O)a+WP7Yk!Jfk-X?pd zCD71T_{tgVfy*{K@EFc~eL5TKU6RpLFDkr&Zieq1*JECJ2#QY_P`B4ylEFU~bnnZaO;x ziz#<*w@!y%-{QIzjeWp;w*_znzrG=0WL|y!uQXmPr1an`J^%oA;D6Uo|GzZee{3CW z^H`~2i#6o#t2K?2CKzh0&5*8#kU+w77z70b*&pCc9SC6cvkMkxW3C@?e!ghM`YOLn zi4V*iZe=EJ(=%-^FK<89T&Nmlj8f7y6zMUus;RB6E}y$p$sTayc1JTMA64*8H@Is@ z*{X174rw?7!_SM090qhq)YL$`U>>G2$AVXgqxMZYCP%3N+J`P0W(;R9FZ*)NKtK7q z9G9MMQ%f~2b2S$?y!I{%yCeNwCCsxa zz04&(BG1cBXxAz1l=ML`ueU}OO zmObB_UcNprnmlV8ic3V12BjmG7}56_8|Px%Uzs#d>ORlu9-pb6++HO=>)PEx+qfbg zH{mB=6?nXv&ymbla1SjVSjDOHXY7X=Q4z*j$OTlOSCVFFzzKuii`r3>{EOz!U5>~e8UnJ{XxIaF{oxJta`myDxiCTE%^@|FR^1*B0)uYwgU^Ot;JY zwygt&vqo&t(6x5yvlr!C6WMVo->1BCbbI~^=8I+Mwp zn~ZpZ<_3pHv&l&+3`=DIT3IVAmOp?8i`c`NBLYAAP~#3_XXv6=Nq!)fRD*N8{(Knp zQ==9eML#_BHF9J$oD{OMLZ-=L#Ulyc?lY~E2m!;U*N`NTDpvUDpO zciroSI$5luBSG`;qEdicRvpm%{FW+0exWlz2JWY+-@e6fLSMrh^qzW#`Os^ySt94~ zr%+`>71)1`E~|!ZNjBTmCRsKPUmy#pJwGXlCoR@2yDPkb@P~t0iu`-h3xlWc5^#)(2FX5|@ww?%L+U^$(r=VIoOqYs1; z|Cv=CnJ+uXyGC{XID@o6UbV{YmMwD$DdfiMigo(=G$%KwkL%;XoDF&(FZaf!E;rwX zm%|*%;7gcp<8K4H*V!0V>nV3UnCI&kS)-u^Dv#WqVE62DL-nnr4Fruq2U_Hj)BMt77W zA%9MPNnxO{ky8siDLn1XpPoIH$) zyKvvQMR^K+|A6?2aUV+QXi6_UeEsa38hz~VuFmvpy%vZFL;b4xLJqS>JnD0A5y6Ys zY2N5loFlJNo+HU%77G8If*y;{cjCT0Np{1tq!a3H;^UQUGxV+Ld#y70LtvAm`QJMsvvzCf)p$+;m zBUDnR@#&2o-oStu>q2(BuJ=?ASPEr?tRU}1hRr)GtB0|R0vrC@$8+S(9(usiDD**k z@{6uH(5YKhaL$+a!;{IV0Th#~=&@q5RST2O=Ty!->Edj6hDh7?OQ}b8NVlWUC-q@ai|2NZG;Qf(j-oZ`9+R3pdiCt&(w(k%cU~(@ML7fN)#34OPt&7&CBM zt{4s~yyl@_b@ki&?(v$x{6CDHLz`f2uw~P#v~AnAZQHhORob>~+qP}nM%R6MbbIpk zZ#ZWVZ^Yhf;c{E`G!f5z6)!J*aWEf+e>zMtmY~Ik9*Zzgb2<~?Fk!3fehNJ!x*kG( zyKDrFkii%Q8$m~CpUGk7L|^B({bmVPnoz4%$Zz!$Kvj-3M3u18tnE=3cG$|J5a43r zLtz6KmFqb(#~$qQH^0-gF|$!hEfxgdu~K9fPL+SI6I!cPPpg?M`DLlt*<3tOI_s$#?25^|6M?A?=oo$5i$ffMad4~Dfg6Zc;43^#rU**>Dx;pnw&y-K~} zP*2|6oX?Nb`4)n9YBSb8HXdPv2vDtkTRO71wrcx!^ZU|E%USeCrKHdKoGNjoPL!W< zm@89(eD=tWyKB|vs+(s%-|4Sqpp=G9v zGQp6PK=hODK_R4PmZv1v&bB7$V+5LzzqH275{}<~$cwtJBJ5;H6bO%irf~)ZM00;# z;Y!c<<9popU}78zv4P5Ka#U%MW-E&`?aDcGwN6*XZ?1wLh9mcqVi0=+u#TdYVmt}9 zYGZNz%kN}x>50|4VkJ;2lQ}~uZ57Pd&1V`*sQpzzpMTS@k%p?33|(0}2v-~j+Wu)s zETyq^C}0v1+k^1banu#ePRAsUyWa+XQyGq;p;$g}8*pRU_`5&k=x1mXoYlKyDQ%Eh>_Q5EBd_hJ=0#8$y0}Et3>=t>vB9%1NxxcV_mHvh}w6 z#N;DXIpW(FrXo8=(~N+rN5MPQ$*A{KwYa6R{Ixr*tMpy!nb}{tUH`$V&Dz3Zz2}Z!l`iM&O+f1G zoKHO;4A8pCQmw@po?#rzHLICraG9oAxyF!pBLR!RYFCl6s*%z|Gq^0~*-%p4rs6^v z96VjLI$vKGcurGphZjS~5umb^Tp1L)p_8Vh{$kXtcV~|{gsX47(W5lSGFeSz~`V@r# z$TYDS5SEL#w!Hg>0eRXC)iXliI%sBXmLjii{kkihj9DbM_nH=eazy_~{)KPf_*FDI zOb{@D^EEgc&DzjAF+#qp#&M*4kbel=r9ALvYGfbq?10{Tj|1^{0R56~GTwK(C;VOr zN|I0c57DXWQIbWiE3#O`E4HL6m9p{Qiw3N&qUCmII~Y(F9-)EE{Epv<@aSj`DjmK;JX!=kDdIX6Fl zls~Sw2SuA)oNwiko#OMM$P`b*;{u7M8w;G8sy7 z$Va`4=D|ZC)edfLfinQ=dV`Yj?p1E)rifl`2foeQWS1~}POg#}6qr;@DQ--D-Q}speg_;km268 zqv{uzxXFpo7n(Uljn1?rfKtzzh7Fr7c(@zf8e(F;Kpej@Khn2wiKh}23HwH)6rOw)1;#m#w>+^iV?G(JcOQ)CK7r_ zwFw~gpThgG^=)u;uU+zP@*$JSz*pbw>t^#is(^hAgNir)Nyw1-@Y_g_kX*C%eZ(f) zEg~_m^z5u(LDd*|gO7Mb&f&=IJ>1qR~T^4%c;FMl-zr(u4+ z;haf}VE8dS;*49b?ugk5q_UU^qwwdHHeJHVJYAHE$P%x|D)&Y{Uaffd{BF+E;7w(? zoYQ0uDm3Yl^@Rj8m~tLTl10g-hnKdBQVv^zku5N0T0|f|7Z~6RUgJtPr@Ka2v#63#mhYk8pCmOvgkxfJa87O9eaFq zp!R&Q_nH7!5>rkLB|X0I>j(Vdt1MGti=guBbK_4Auo^|aA5jWDEa)9F8lvFY109wf zpDb&n^!Cv>y97MT?wmWeTfsKQ7rqZKPZA4{{&>3bv-J<)UYMo3lV*2Sk=koT;JJl_t9$*BfY68C%}5NDM{^ zs#W)qeSW|^+$6u~ZIe7QhavwM&QEc(e@{Y`QRlLw%QC(_hU{qRq{D=KOjQ71oc0jI zDSYj>-~pR?Fb5wbJSs^sN^m;o=^_bzrkd3pH*<)B0k%$@NH*q>6#LZ%+Zy5e%-d1hwdcG z&TgS2PWi<3f!n;ds{p(xhHK4#_!@bUK29E26g08hkx>ls(W*8c5RJ4>UsmEUpQ(UH zJ8g#)AtbCU9^O`xF?AvxwNg_5cN0tY1i-%;(V;w2#L8-soV9P`>Nq~_1JU@72ILN} zXLsvAuXM64aq-uld=q7IzCLnBQL?p|GZXh|6cP@;T07l$!_ zfg*3UdOBPQKqcxc#3%@umCPSE-%<;Ws_X&6*MP1_2?Hb*Nxm*EWKOdu9QdRd-_8Se zgyVBE0;HeKK&?tX=d%8Jk+AFum#jsoCD$Z%QJkW}S;#UfwugizcE0Vof!$A?;CYzP z5a`G4KcHL0nO91(=?RY=J41OzCq=wvTjhFgb2|8Akwak_)zz&!Y)5{`ARd+1fEUU* zqZ#4RRS4B$7R;Ao5lMG=8RrHg&32jwNL|I&YVMYuNf6@M!{YynD6WRL6;Dw%|05^j zT$SSq@SSZN;R2CgTD8%BLrBBF?fM5;wHqW1W50a?77~jVoblI77_19{4p_gnk>?Aj zpXs$PvIH}w+Ey3^qgZ<0@B?1gX}{SoXoz#Tt@Qi>4l^DwT#GX!J`8ml2yODw$2<4v zoU}58A%Vszh!+bG+9|XxCQ)gPwZ%H8%d_+INc8?KF~;V2tni%Vg)q+^HsJ_DM$eEx zpBo^NZQ5t2*<9W@jd_)qK_!lhS_Rskfu3`+Vs=2HkDV%oT~5J<$&8*AU??>7dMX-f z>Buz2>&XzwI~_rA!6Cb04GLl0h-_O_&vCEW!NHX3NcwZ!07zr}5Xgg=^qZ6lG{!_o zcP@q;;VB|Ihgxa|QoPNUA9`M^q zd^WaKuEYHj!2R9X4oN4LHT=<+8@Fzmsc-Rub$LZDLJJM|?mpM*BSWJpO3f4F6f}W+ z$A@_LIV~)E_G4-Z79VF40YL>Wh&ArnQfIxh`39yte$W#~aH$ z;hzzM+iZxZOa+}qsp@WZCQj-SB+g1Uk)t~Z&=v;)>NO8HxU4zUvWY-Q_bv;w0T`A- zP4De#=pR@k{$E{IN!-FgjV}pjhKenj;@D6 zN*S)u7J4118fhWk!8kEh2u8`U{td|-pDCdUdhH*V+{Q)^URv%O@dDrV}^ST^t_T#@Lni_h8Edl_Kk?~N!BQ;YXo># zUVy-wnEpj@aABs+&{XQwJa3tir~_kW5%sIi1uQNgjbRH^df;Y>=*i0|0&M%v(F(N9 zB;^__)4Pp?Y;n+XyY^aKTOnrmF*KEjlnv03|4 z=0P04P_BOHUgBtyR7zzUL-@;3UQa_s_l8rp2Aj!d7Y|aqvTP0^o6USm(T#i2jTWNx zfS!_oaLpbX6^caZVfTcT-uO>l+_&+= zi}=Y;1<{%=*My;-cxn~RAu_ote{brd!+(F!9&ZG{)FkWbO;n+R3$uRxl^(324mm#- z9$~_@$f67VMjH7s5j-oFd4!Ag%k&1tYLU`tY%t9@DdE403uNHd#C^oobe5&0&fWmT z9;hy7$|)jQQqewOcJ-P)O4cJ3qYXt!)mT%0(eVYNjq`_MO-FVI+L1OKA`qCJhW7?S z*=9HMr)@)Pa^)4wvO)CU2&ByoPs$wj#Pp`tYY0OQo+kL(j#wa*hm*uCNpYPL8<8y3 zV~^#XPEOf>mS@}W&QKQw?vhSd;XyXYr{uk;^0v=Cz-Aaa`TO#WY06IQ7eVtc+8gG* z?YV~m2rwdqC)2r$QM*HEBjh^aLtkrUM^rgcg@445z(yO9YoRUbY=*KH)aa@?t~@~2 zRXv{`Uz7BPV==hPMUWR?P`(9Krus0cJ#IJ?jX<=q)?)@#3}Io-BV0?S0cw*FVGU8- zGmd}Ie9eG8DsT$eszbK$&vSs2=G*u>n8r(2=gzW$1d{3I+Lf$q)Mz^nJ|O97z3)kG z7Y-%e2;wuix`H!cAo8lozRFnD>Qk`-1M32*MD|M~17sadh~N*_i3IZ~-;syO%Yi|h z9wwJ>>+j{t$LExn-<&2+^^H6@y?vN@CNB~$)Pqa#?jCJD>WRT2IOD2! zxpi%yI632B+3qy}MlhfB3__ir$kn6bC#il>*$lNKA6Xb0&{vG$mq3#0wRQzS=&yZf zQYzYCM}BkdOno$CEB7S;JkRrw-4Odp5KWoX80%F0IZ)P+dLkgq??{P9w|b$Plgd`8 z?GuU?ODI?f3k(*uiS8PZ_rAq;%c;!8W@+YH+Av3wMT`Lvpg(sILd>CyU#7f)DjfC( zZm}}^;vCJ_tDfetw9ESprWCW16MH z(kmuOB}mB5O;gqC|n}ce6{b`P{W!e+D7)CHNpVDQFyv46wFU<$#FHKop9F5qd z@XPTZF2~c}k&%SJog@#Gcic>YMwumVQT(m-d+JFIZf?1De4Zc6O3x~%5~o(ET@lXj z-Kckad*w8RLn9iFzGS?bSYmOy%oscuc_ZG zj9ay^HGDeCWL)oCPWs^z^%h6PNs$2@C5g^8P;M4u~Gzu4P&4ha0ky=XChzmb3! zq}6v9XkDihUzBOQY6EVMlUe-dts#Q$J&}Z8bV`9zy~@feAy|S5QKf#nW7~ITTIrAp zH}k!RXnpm6$DTv)$9tf+hAXa{$?$tB#oa+7)hFsiknhH(>7L(rSoY7`f3)3v@ebY> z%fvJxyZsxTr^D4k6*V&{Anp-bBjX#tlNlgQrvNODC+gOab=wMUHe8hEizIN0tCHuO zUZqNedz{A6cFtq7YG_wAJzILF9EA&dXkr@_bdj~B!}w&*k84TvZzmFC^q2$sIid!9 zF7PS^q~#M8NvkRR|1t@FWoErZZsx1i`g@(Fs$Xh)S73b+uvL5^1U^~Gfj(vv?pu9*tWV9D|;`rgfbFCDA1WmfdZK;Yb8d>h_)1gwy&rE zo)LkoT}HwH7x0Xyt07RWFnsBEDs4*x$^E%&R827`@yq2GnXWO>Yj-psl8Q165xq za!$DiW@sFmx?}9&a$Tj;Al_!_a=a9YfOiYt7u%WWxQO_7ioeNbuIjeSNZ8-WJ}lOY zjyqpdy_0h1=jdFp8SLU26-Ba#p)fTF(k|wh{8M6lvtP~yQ*;cP1MC?ZR)m%&yc||+ zMJzJx5>It7P-!0%)@ZI z9Wz4{knL8{MchN|Xj5#&)ERlHe~Qgb7b*U4Bn|{xGdSx9|7Q+zIF$bmEseu{{9j$%92ee zCO0NhLm@>w^_~5W>9u=m+jm~%P@(tU-Tg3Y_jPzUR^@VX?Hk5(!)gSEvSPobw8}=IXQSeE8g>#gb?rIgpwC(9|J~!LzZ=G(Hcm0)$QnB( zU&>F)M+wb|WeG>0L)w#zV4e_3VSLjQe|Kj=qU6_yOBc^UV>A)qMf$yN?AM2%D8Hx= z!ppG4FW_BF3ue8js^Tt&MpIpx6c)w?xql^zdSC|*Veg*zBptO#LS|6YdV>gR`MWHV zZ>qIM4Pes9%<${XyG{vhU}Naq?jG|$iXCl1;iAO^Iot{DZ^DOi}Lah*@}IZkM=1WWew&k}aU!3$>xIq(@~y@%>5dqdq`9 zmxgwT$MgjOw*-^d;Xr^}ru9*N093fX1@10Dbw$E?E%aaIaALG`3skhG+#{uYM_L^H zD4BvR3E#SEB;@LI_$JI0KU7Ch_mKCsNC^B2wzml7pBIkfR`g7e%jc@s~X?L|8s(mc}k>OEW`nsu+n1uP(_AHqz z`0$G?=t!S`VzAZkAA1@JqSPAb)W0r%$m8Rin$AQ~LO84}OKdNFO`?mAY0H{dNT1!%VM6DY`M>N$!wcB^1aSVTEd`_)z8z|kJN~i+l&GN zLKx*(H}Y-dW1UKvKE}`<3uE*wUodXgxW$;Ft=J+rP;WQXA|pR#0lhh#BL8!gjB2Uk zlM4Iv?CR^{`+c<0O=r5E0PQLk3tg{Clp!y9n*M{kUV?k3)fUp*rnQSyLw8fw8JB7U-nY3u}Y^aP9NmaOK1 z2+NJ{vUozn4cb@8Tyv?fAtO({OoZM9cUoQFQDmxr!aHb_rI8!AC+7%@rfG7V)y;}^ zscvn~?i!}sxF%K}tcp~$b@y||-i8XYgYD@JUMJV5l%raj|Dx@bNQ=yRrfLX~8e>@* z3yED&3bf{+&oy-AGG_ylCpckZvg2B$$gqjUU45xM%zr^ z3MFYXzkrk;6f6x8M7|rNzqc157O-suc>|qPxA$ceKpj|ks123PhF7Pd7mQla0yilI zKtqk_bdFulV@KEJ8AWq^`CpT5FiTb%vMJhxq~qcgZYU$duR`rW?%e5Jyw#qvr@~qjSPDJPK3@T5+`FySG)8$vTx$zwKMtSw*iR)N>t9<_PyL5cD#B0`W z4e;zp#%kFIFYv=C#Y~yA0>y2Nx8&8LMH+)eTiIW325z^TkDK@Wf?F1-)hnsP*U5>g zqD_LBgV=77RiIY;#IIrHhxd@axcFU{TA5w;O&5y#6<|Ok)N8N?9XmOX;;9EK+HCdWX`0&|hxjxI;a8 z8KIP5b!VxEWTW_52A@Nj>pr#7HFBWtIep0(H{Le6>Xg@d+`Rj+j94f3y&SfQ=I ztT#<#8ok^!IIv0cqt$j@(opo_wF;+=K7AoF%aGJ-N~!dDwL=J5!FqEq#i%34?|RmL zlh;&E0I5V)xcd7!D?PA-T>U*o$CHb(dbakHM^p`MxqrPQKkX?a?(|ZJEvtp^q*`qz zS&~EghShD%=w5W&TryMD)PM|fF*`d!ySrZr06Z_ksZ4mx^7SU^+(%Q@#LO-?(uPod|loVi$MIi$ZTqu|f5&GO`k!Y*RZYi#iq6)mH42}-Oa)oz>GiMwFh{kl=)dqHj+e# z{1#^o4k5R~7I)ePy>eK`6pgSF)1r9hvvkA0wKw_b5+=rlnErg(vDlhjPqF9tY3of`?W1|~dAJJ;t_uJ|Yu-rXJ_U?YgsCL_#@O?^#IiTJIX?@ zFG6udw9P<=%BGzq|I+nF zzg1vzRUg<2<88h?=dq5tGp9xc4g)hN7hv!Z+x{&+hn38`x_42(lQOHGA@l@p~}9TyjgwZIbs{3v6xI|(-Rj8k(gv3aRCE=?vQjT);{~LziFsDK>cdn zBh+RM?_%Q9f8bL_PX;e$wl7zc;n+rgRJ|_`mgS$mx>!X0>;@`E(p-h;y1!yd6#dRZ zN*>bxmhkLFdX#-(O5X~2Xmb&5dc8-Zw8V!Q5c&8OIM{lVo zse&@<*a1Lm926}jk!i<^+b*Z>hA0lSew>|rWco@^7Igmv&+Yj<^WQa}6Z!prAoO!& zUe?P0AoMdp004ylG5i}@Tl`0$I68sHZh#&>^z=y0y(|e|p*0Dzf>woVAwGm~KSL_~ zV(5Ims66i1YgX1@R2)T!du#NQ*Dcl9&L1N(q-op;TS^CG(y~7XePFeRUp!HBO^1<_ z1kTR$&*X3#4O(qD=Ju}U%&nkBe0`HBO+PvqA$@c4}pbHq&2xYlY+BKE~*)lRXrjvhjfkr_DV2darW=jCRrT~t{wy^rxC#0E9Z;)!xs^AMs@3HyAz!$!~Au1OQ zsyk^Bkv%hNSFa+MVvMMRG-TBqbtoHk!=u(eG?4N_Bm!omTF&Q40B`EC^x5vg9uU>z z=$g6=p@6{r5HF!>9Ili?jRBje z_9mK+xP=1%aBK75QLr4kN@`o^(f)y)P|#u3mAAq|atU zm?oA^*P6>Q{8SfZhev(lloh5#`y-4v0AxPT5e*WAR2|ojL1+{+f0gOc<(vv~l~I!j zL7KvBjR^c{zF_B=We{mN$E-_z0Kwj0Zf^Rg*-`x z)_OU423UP0TNyhENf?wGu4Tp}YtG8jKrC2Ov0Si~v>)7Lsu;P(5@sd5)JJD~06 z)%RAriEhZi3LqCQ^T5gMt^U=59H3zL0=74N$7}w=7s2n=nJ%N?n{V~|Mc=>7(`UZD zqvxtAzkQLX_seQd*lf$3`j z`Ic*tRv+~i&`wIb^wDlPuuT8?-k4j{{V>IjcfbWC#}q9`3BY}4L#n)tKgf< z8#O4ldQvK*?in&=9uGhHwEL3odnPPa=)T^~V?K1m%_gt*`KDpIvHxO*PAi*Au_|&! z;*s}7at`$m#?L~d@)3zz=ikfsbehnQP*uPELKL{)(=AHFCWB5JCiw^NaZdD zzSGXDmzqq#R)_%40I*P}jc9O|8z>0=9Y(wlW|LC{?MAf}KU?2DYnL9;Ou>9`UgaL8 zJSc98A3{2GN?G~jo^C?}D3FUOBK3iIL3TA7A|U@Nsslg7<4p)JFh`OTw#ay1giSm6CP zJ!D_oOxqwHn%7j{ji(1$qU;7t2f%dh7d#(k94<$|qj2CS2>Q=i?D=CkuoFS40dZ|2 z`V{x(NgYz@cRGXl^>Sg}D9)>Z>0I*gx+{s-qW9921zV)PMi;o6V~Ou;sRPjVqKh!C zcHgW^g0+IEi?wy0I})UKq`e=+?>chN?I3Lu>(II$&OL&+5?){3j=iE09fmXIP@ z#+X>aYEG>FS2EaxP^e{=>cN{9^v}Hq$S#2K>>1z<(Jn>~;Z)CkWh%ZpPtd+n(#)X6 z3l6eXs3khW&MS!|x`|85WaEtpyoR^bxA3bcj8>IFQcYer?ygTGNrY104`B7d)s?h6 z#s1@v-P(~E1C~QKf$Y$AC7Jo=c7imFuC4)Hg3DSh6Epz7F*ER4a#^lp5IdsXa4nF) zS4foUy0!~84vQr?_?oX!u2@~k7ZNO1_Db2V-f*SoU^eyuM%~{JQ(R+ojv@>CL}oX3 zl;_;KcEF9aAuNP(m{0!>FeirQ%U8t0Smzbw+d$083Js^#VKAY`d43~$`l1b@B@}FFkG#3;IdB5pz+p_@vK7+iafpFV;x;Y*QD*g` z3Xep7a?xmw22~sW1LlAFoK~N(Ukey}(~89oIA%Y72K(ImLVXIigOg>XI!886gbEFX zkcc33*I&^G04yiz2Cvbz59z+ArLwU?Uh}p1p=Z(gTfb{(zp&}&1FOp4{mZ*a7p&I5 z9cs&m`#q|o&jC%i^D*?Ka3kxS>Tzh^fxh|63hT&$RE317o-z(+28CoPR``G~yZrX6 z1XVx?aT^K1XGKqiHD*@KOV|VO07pA#yJFn9D`9-7j6yPC0B}JHbYe3D%(!JZG7Gct zMU}-KWkE^E?knE#W_!L2V9B!mtOONzB?dr$==-4HOSw6PT=ZqyRD>ZR4_MC9e%ZM? z=u&fFM|;XkMqe@a{&ppAF!0<7=A=J2(O>6hyuzcv#T|nzQPayk;tpb_;%+(FA(OSE zWRVKX9!B8Gp0p)rjBh&NtwV?&i@KZM*M!pN6%sWr)j)PFy>#Iu69jC*FEQ}Oup=JQ*gHbTmYYAN@l?PdIlMlK#*i(K@x18&}ToK2N9wss%cT!#G87q<8PhAdpk= zXM)(4_8^Yu-e6`;5>o<0@@X9vl9d^N!f=B%3>^#TPAlgP)rp&#rdXkUL}4OEgS50D zPK-{UYi^BRGi=R|5=mmtjd4>PUlZ(*qwpbm9xKc862%Y24inT%d${Z{nIS_JXj)cm z+#dVkH`3C(1P{ldlIS`A%(* z;;_wyqf^gp2+xmvxgkv_t6wOgYq20MXSJUPo{x~4sf(C?^207@OdY+UQPH#I!AC97 z1U9vV{tesoR>N5W&~ZpwB<8w0$VQD|$WKMR*dZnls+*6H7_(!yfO0rL>vA$`JpbBj z1mqn$@YHn(FSofc0)Ju$hGhVZL*%iXS_W=uh>B@|@Z7a_@URUjg{E{ zeew>FHAYPiy35Ik;o8j~5)5Om2nk2->#Ol1FYjlaLfWG?HCH<;7U0>I*8i>FTN1k);VCXa)s2gOZ3NqQrf1Xr4>l6J{F4s__Md=p?&r zQ_7Ydp?zW&0Hr0+#>iOm-9`7RuCac9bS5vW(140P40*9`bJyj}C%pVLU!v*3hHiWN zCcEs_;;s4h$EtVvTc0Gzm5MAdk5eWd1OZn$c-}I*pR8RI#0ZkZt4`Or0yCmn5m}Z) zL^-INiW?-{^dJrsw)*R`DQ;Xv?hZ@z=Rg?pm^Ica{vQ~JI>4D+n!$63G(+T1{A#xO z{V}Delp;vlbZH`nX^$r%Hd9i?*y2+s;<&hDsOQ>cYs5xPAh=8O{fU8i8gKOWhJ)*H9 zWME@V$(T;U@qJa)QA|G%t4JlYih}c;L>+D-8G0v_;7(;|s-mIycWhh%**h#vh54JH zr1Q-Ouyb0VBnrwr`lG$QmMj8XrZ!EV{Yuk;EYu3|Fl2K(`k})&Z6DI8S9`OAp%F%@ zg$n!Q4AMm>AT?1Xy>IOdl{8E1%{l3;a?Gs+Xzc;{RM}YgDP7Mdgwo~x1E9C~g;eFH zpbH9j3xa;Q*!a3hnqUi6;!=iQw4N%kFW&Mge*d%K**9YncVA<~R`yb0CABlsNG%2+ zvgP*6n&B{3@L#{%o&a181OHWXR8o^>&+kb(mix#(BRp;?q3te`x);PhpySn$4Bo+C zw<>WUQuiQO%zx&SE*E$C0oT&xhHc4g4^&cO%%cd1QRG-{*U0@mY*fmtYdB*}I~y{; z;fJncgNA|NtnkAK=(VA8zuq4Z;9?XuUg{PxG07}cps6e%&@wQaH}-E~y+NH}tptFS zEM$pZ7Wxo_N0ctuhaYF%`rmw!h!daOvFX$VMA=|LF2dXodwmZ1R0uVjXY*)|5|5<`q>$(vl=jitbzJgt*_Gm^I7zdtfp#@0;RMr*f8HrGV78V zz3filvE#Hv>s)zmUf+B=ypt}Q-?V9e61X7{}8)h#^S-tB$ez>Sm zV$Vm&zS7_No3tN49nfr(iSRNqEd=}4B@{F_78HR|Hb~3`4#nrL!l%^pb7jpJ`D_dx zq7JOXISWcD6GjbFrS6zG3nRTSL(swv{W_n8xoaOVQhb@r>@DOI%Ie(6R)ZPHaz~9m z+Qr|RRC#hnIvSIxN&$zrz?%NsCz;hB059jxk748HTvpbx7Ssn;*ko+xEC}S{GGLf} z&4)3sRx|sz)S`YlAFIU7#jch+S$T;EQ9Rb#X#k4|V;co9Zldv#b0Gq)iJzL6Hpmu_ z|4((O1J&$#Rww7<+c@Wiu<(jLG;YUv!n|?FqTdsPjRI?EH=F~zgGVKF(+{30Wp+;o zl}lN0LXSWS@O-s?9$ZESc3Y3?Dq ztj@H&8ukPlHl?kgeUWnX&hNzEq|QQKI4|5kG4PPoLq#=LbBvg%ftpm?P@30r2vI_0%Zgg{usQ<}Sbp_ra9L z(~l%7O6}{Ohhd2v#{BCWV50{rTE_B&A{UGCi!mI33*vNMJt+?Y3Fxm|q9}|COMKwJ ztuOsnfvscJ8x)>pG-|@Gg(7Fu;$Qo3ahV9j6pY~V&vAnEA(`oi9en`WC;*1hJo@+f zf^y_7&7~Fe8D++d3d#M#(IbDNKqrenne~KMlIb$ZKkpVe-K$qV%N{~ebVLdsi5x%f z4%HMGK%KF1lHu%JP*0%SA;m(1tV)MQjIt`Z1qnLVODhVqe$e_GEn^=Hqj1%D4VBBa zBqX*v+(7Gx30!E3p=eW!^(s`kZl)XGHSB%ZWU-IWE1-eBh|t&2~2{VLoPyLf@`bV(qsQL<> zpXtLZO+Nnl!He8#$(D}%q_BFddc&bf%4Jkn8J`IN!Ny1zD3I5pk5Tk1ZU&J`LctaZ z-NHE0J};e%d^Ld@4ar?lXS+lC$_o&*!*FEFQ5^RPs;PfiUXriuh1-SAmN_UV-8?B| zt8YA#m?!4l2+5lYpE?!P@n z;If8-g41Y4{w;SO*^w&oGe4J;ddq+`H`f92L9$K-SaX6{_e31fo1pL6!wy|^Zsb?( z5J*Q)z)VEn>QZ98V{bF!i)*#SfMVt90SNBfB(_PR=_h~{tu8in1bJjS=Y!igU_TBFAqnRUN^9Mzam~dS+9;70UAvUBd51M@YNc+^CzP1w{+-xM$fSQ zzz+`}I=rVs37QVEgtu}HqQ7u&+`Aj%(^4Ux48?i8l_DAb@dHyVF086ts1?!%wF?uv zK@i(Y^Z_M5SkQ9X#SKCtxbiTBX|IO&%_#$xcqHL?1efJ8jVPv=n3syFk>t6zlk#Fs z*UV$xwevbclvejDs_q(@U;W4oBJMHM3mNybPAQ0`jMN3vXfwSLEP%aN)mh<(<_CrU zUW~eitC@^VCc4ykOChQK_3jJrV_=G|9Gr!Fe+Pb~R^Z$TMuuA^14<-yfbV{TVw{4e zNE13ScJC|Ehbd~t8%@~CI6W-5Po^+SP8fqcbg58Cqkg)I3aUOFl?}d~x&!j1_*t3dv&bc! zo<4iH?aA8;UO9Fe;aLt)#7+i>KXxxShoXxui;n*(5BF@fvm!mUNiLM#<~g{ms!NK} zg-c(~yClzZrZRb_-M3ZndTQ3GvrfqVC>hy2k9dJ5aVipUDcTJKm;+ng`CAtDlI=NpSWCibTW>Huw z66G+>gPX3_3EW*1t3QcR)F_-qo{j^*vzlpOA&c8|*Q{+1v?^=cmp=Vmb9*#3)&pTu zW8uHW?y3n|1;WbADHa!hm_B|c|pwWa3Gaq|A|PIQiObN zhHM>5)e4y9fAbJW2V9lsxECb%x4uW2Bpn^*qU_OpI)mD?%qGAihY$LO>r$+6{c-X2 zlD+lsna6(`?QG^jhTxSxu68IS?Nj5M+ zA7UN!A&5?mD-M1e#!~tifPtW2W@Fdy%U0iq(Sc{ylHK1i*iKhRfFSaYW+D@5yzuJU zIHnaCl``8XQ&3@VE2u>5@VeDa#7b{I-x!<-DD8Rs3+2y-kDjKtRhejhj9HbJ7;(lP zh6zrYM0WgzdnYTHCnBJx4^$~HLj5)kST zX{k9no*&z=vAubxx)4TX*cQ=bpa$Krj0HB)&1|PUJaywXF)LBWGg_-Q2c*MOhQwiDT7Bq|4E3PhU#C0|z# zmZ_f^yDeWLy{n2~io6km(7`T^@`U`G0Mw-onzf)Y4K;(y zKL#9E=HX4>qr!K*)%)WKLdc&2n@~AdQ9%!v-9Ej6^B-mk3g-pdr{?Mypd+MKkdbo< z#a~#^ePUM!x!haXB8whyo`7AwyJs+WhzoMX08vrDasl?Z0L^1PXF2VF0bJ~7Kmn9e z)yxIk1a*`m1N4@H0&{!(SJ;RMhA*`qA8Px&69_W>+0*yK$vT?(r< zOr(9!+X2uER=p{SvlWc2uSYTdN(*y>S^XxKf|s*Gel&q{qZlpot|9{+464fdDVj|? zAn{Lo(WRWUP1J59%5>R;Ac&P%QC^J_3f!JKR%K-;0KwdJ#0_?qr8rWTOiKGqgt6(rb< z#bkf=bnvx1zTCEyzBC6;6C8Ei97#9nFo@8sIpG@#>#y+!oAa4ceL-}GL5+8lfgYP` z2>C`dyU!4vz@PgcMzlhp`*b_Xqe5dSE?L(qD9cgxNbV6Hh?YX5?`Km-$1K}IYIkSX z>u6Z)b1Q+aOY|xvEA1H=`OA&Kw6Q2WQ%E^%6?d%f)0btX04}b4J$4_or zr^5m65k{}nPj{Qs$X}ZqP0!7?fV=KqL$3sA<;XSJKzvHgC&WB{h1?BXphAt&N>>CG z#uZtR!h1iuQ<0gtM!0smOG2yE!BObV`iO#7JqCc8qV_y@L zPoNAxM4tgXlIYJWt)04tTx)8y$YQA)9O`ixc)AW2$HXymP{L4PtCVX7g@4W|@{sZH z7@1ae(2Y9rvtT}P7AfMnB13J9D7L;woo>em=S1`eL6FZ0gY20{-ort8Tc#02S{9Hp ziq*mQ5X(X770wK$Xwq|Pt$Z-ATG=z4c*WMm7<~wB@%67b0SZ9P)@&(5!LoJol%;A< z)hx{k*L;4aUVlVX%Ud^efR8GZ6I}{fq_QFwW1!!VDYRA%D&1B)gj%+yK&m!Z4U$7> zTIL#iXFT#=lnmVu+~WH~wZ9zc^2oUA%2TZ)G~73eu>@fHr<&rX#;_ zrOM~RCz;DV{#55&sN$4@g%(J|+z3A&y5FUbT~+iEG%g4!(5RcOX zDAZ5@-qATfp{8*(mdhs!^;AyeehZvbHG#*UYLhl?0-566SQNQiNX(4_bVqvHrF;)zHjTo!4 z7pJ%^hjwDw0xXmVEnFy)Q-PcLKa{;=bZx=5E*jgmZLQc&R&3igW}K|pwr$&9u~&>0 z+vdyO_n!OOKJA^o?;EYvnDwJtA62vZsOqD7@89>#6zco@IVIM7Rm)X|KU`A{#9hfe zftEJ6YyjT|eQdl&Vf&{QnraH-Z4be%15nG4HT7%+!`cq(El{~w;zKd3GkOZ?Z>HKNE1ro zs)-iYiKD`(V9ukZBIe9Sw3ry(TYYP4p_NAMC}(_2%m8|A2B7q@=v>N6gK!2|5}8~A zu3jVycwF%1YGsatImv>vAa}+r;_;e0JT!^RB0XLPVb3HZ3v>BGc3a5~DA6lnTkJyT%5qaMdI-Va;?|c3r+0ZO(icXdV(l)ObK7F79$@wL*DDd*=xY&)tv3D7g zPj33aOexI5Q#&z$IW?>&7k4*x6lLKla$*8*DC?^_aJ~`q6h^tM%Ytsl){nhkoQunuL?7{t1=%QNG@x{hnVBPRtgfPn6W z{ylKFl9-UFtQdo>iK+@T5Ga#IgvmdOs|PF)Fc{GH_0QXdj;-^$c*5tjK66WJN>K`! zEv1)waT3E3RZC%&sTcidIc@ehSU52>Y#$SrAWPz{UvFurIRubY_cMd4J0XK=X4u{Q z!ot<&!ivNxjbFtyVOFoNR|Ws^d`U?gC*z+N&Z)iPp19sKmd@))U$$j2v)v)REXvQB zx;E?^?X8i!pOfW&e;iZPG9&M{_hajZzYxsRL?v>oxcS?$sw%8(5h)W*wW?1w**IQI z@YPKLmJ2%ia{jMmIqHI|ay7D^?Y}3Rv(bQa9UP$LbPuXJCtfAz~rhUlA|L{%=jy<(ABL7Fe|EHRWVgH*QF_~ zVuBWbC@3#iHqC2}7mCL8s5Wv>RXA#uZIHQ^*cMIScQLrOc+Q^j0gCjF+Xm#<&+yCK zT@73RYPD(sgE2`(nwBheusPdS<8?5*p8P3!UbY$h0&l}~O)&(ymMNJ`W^e?)U<6%c zGKJ4e@6cLCXYaBvS)ys7`FWRw6n^BbWs2p`g9qfKTP6`BBe9TEBwDxYoiO3tiqv8sLw($W-P@al=&x}_aB5U_&hYM%FO2)!hwU%TF9Yd zoe=tJrg+dg9T)EDW3Z4Fjr3Q>tQX+V@;xbdO!|ZViZco6ZSX8GV8s%Ek;>#pbN%G0 znQ_as0vFfLlq`KuLhnL?6$nnr2|SOVh#u@skd@Wrb9edCxO|0(fDo{z9NVC}HT@MC zNC4va8)tj22H?PjWCkH>1Jn1VS$g;L;oUi_meq$buxaJk@=kZA-hs*0-SH_0p;y`E zY6@^x!+XVuS1G1jm$)*B-m%b)6dxQU0D$>wYYvt6ofp`u!>76a89U%%DdSr9I#)C! zq7Tqtd-_{n*=7=UtzpZ%f%JEGW@ttzmyH0%&&LO!J~}|1sC9)fSi2&C!YHb4u*MOZ zPl+{AupZZ>8|qG2^HMI~Z$21@cSq=9xfg;8xlMcNG3|Y7E*|ju?1*cGOG6Ej`+I{+ zyB{jS_v`-iK3NOPQJfLmxtXP1Z}3YTcovfwwR~1G028S#Padg^aH?zCFr%xj;tsJC zGe|=HCGHc0;x9)qklp!U`3j$&>5Dvpd3Zo8Z2}wyLZkOyJ>kv|fm6+HodjUGdVl8` zjojxkM_zS_JVQ!UMeou2EC z(3t0QKr^Db7c{!4{+?cL8|lfLwQ?4!DYvzybLK3I+dBfg%op7t^=J1i*#=i_EXL>f zo!xM^&<63)l(YMZmxxF_qbpn#eND>OPs$fP}<{T?AcW;)6Au&iI%*qf{>TyHqN zB?f7Z@Fb_c<@3+Sez{&`CE4m4IV!id2-Y&_5AWDckW^~WgBRXqsR%(MZj(G47(N3S zjK5I3+#(vlgf_zzWTZFz!C8=xf5|XJWCID=D5}^Y7!rHfI*oFp zk&2d7qRz0BtLDIMM!c^_v<1PZEc(+_xPOd@`41FLMEsQ?&qK1K@1(#bq z2-P_iL0;e@lJ45tu)pFm*@fVn2{K0btiKz|m9ziJpL7U`C741xUCt;Z; z2-hF6AqMb)=@CXWyHodEc?~lblCDt9{*Ac^*xhFuV2rEmf!RP92I?=<$^X*DhU{MnoQz|l0WNcEib@BMKw!HV<`kuGep)GjR z1>h;BHEsJsQiPI~xoRmiiFuE^0MJVVh%3N|;diA$LCf|)xrtPPqRVljRdZ@-O^Bs* zF($${0+Bl)X5AIT>%>wL(u&P}7(P-Hg4C7G+>-JX%a(@(_p)n8(y@s2-0=2@k z@K{1m$M!~J$<1uAJj&9{S*&)rFPdxmtDmd!!<{V*B}9raDvp=4RXvW;wn zbo|!ggjE+`;BdT(cq!z2UJms)Uj|SsEhPI0@wx;&e}Xtc2q)Gz5D&w{8fWWUHN9 zv%}3c%nKm9$pd7&I=XeVt_!3vz$iP+shVFw>Iql%8o-$&iPz{C-L_M=lyG0Ea2+^0 zwMx&VJ2m;Of3T0iFv;{&)%uKt{=iDt<9znMd-xHKi@El6VuD~D+4l1TZisI;oeC1b3QxO{ntpI@Uc^>7uHNqgPgfw7 zj`(QL;O^VkqAkECL>euUwu>NDBJjN(qDEa0JLzZ3qm#?_Mq0>u0V>uUt%`6HsHUl? zcY>1Jf9>zH3mi16nkSJu`t3@WnN)|wU{@Up#=x|sQ@>ea8EW`eRFt^&E)6Vt{sVnv zoVC@}qy<~b1qDO3%es;~hAbaQ$dT<&q8E~O*g+ksOuB+{?n!VwKAV{R5AFFOPgAXP z^nwfNmoVCT>#&)Z!7pA9kA5SeE_(+3G-3PgtUmxg8LDbV>JU;H<+M_6QYl z(su(QBuxj;AP@dJk%)1J&dEt_9Y+TcPu%^ojSk0}QXfIP!&H~P`T%3(N<^Aji!)-7 zf>lYN%M0YIK&N=1%=YAZe0hL#lMwByP)&J+oQMjtD5Vcnpvog4yQqk?V_88s5*|WH3$nD0Wh9}{(OpTh9N$J!+MSshvXLS^1u8z8|OVDqnw*={`{7 znR#^DnAWWy{P&oZt3+p#^{$SPj|t?!jXP_m89NRP zhkvoL2cbpbXh@11z!Y;wue^W}@59zXzDmhu?c~FP7^4m)n^Br}$oG9J zp|mBk0vEsN)b|gL?IaofV(i?<%a@b81;U)(y+Jjtd9hd~a_sX%aT&QB?WCK8o!f;r z4l`DGJ0~O0nbKVCZC{;nx3X6T<+Cf3kB3LDM zOJH`;kkW}D%Own%=cPgA-1Wi7UmQJR2k_rcO=PCD(ck#$$G zx1fhO{5z1Qsl$(#5F=lPXqsUEUTN}Hd}s33f~WLy# z3(Q`@syk`My_XTy{rz@RagwkHx;O_#>h5*$i)*eL^rJpQi1|HLoe<%~R3U2jDp_zx zDJ}!?qDsvu@m zi+uDB)M6VhWLx;gYB1YtAuZpc1eU`A8Eg=V+xB7xnYXT5acsm5A;`rMVv`r5xTEo| zqj5NV38jXLd)eO2yyy8f!b#Q5!n#T2T?-SC{$R&Jl&tmw%`3oRKls267R5 zl3ap@Btu%tdFTXlN}`a3s*kTXHn!U>8E_V7J8vTM`Zd7D48K*kwd{kqdRm;c^xp&C zGaG?J$i5pGn_ck!m0HGCUlr5EO7alh$H~0OqVevl1IF`1|0ZZix}^)OZPTlvp%zxC z*V9wmaAM$j^My$T`Jn`^lciYbTlp65BVq(*6=6THsXADlCihzQ%4qaWh&^=02@WdL z2~@N^VmzVgy98ac?ywEb|0d$GzDb`*Ywax2fet2m7Ud@LCz@U1a4r*l@|73U=8 zB&_;80}dBq8KT`+GQTMn|6IJ)=iIkp0035-D(EXE{IL|FP^m=X4yFrSbwu z7_|(5I=${O6`9B$G=)mrYv9+mZNS-f(LiM zgEFZmC@bo+l!Q@j-`oU?+bj|a+)o(ujMcD}eYtEm`}>#W>_q~EBDLJ0$Y$K4b>(d!4G{e$uM8Kbu`9iSY z9BLdHyJtE&%Y_9d^>|Y2_+Q|~QZ6H7B+M|^#|yzFFvpc;moj7dfk=#T=AQ&PTSXr@ zz{M^IQWsQBWJ*M2OKsI7@RTcy+5u4a?whCjh2yxjpb+7ItOIY^*`yUC(J-$$p$c~4 zE)EA`62Am}FqwF~U;cJa**}NC!C`uVlMsVNOIVGF)2aC>v$A+`{Lo}$CJ$J(%FWA% zLaHx^cd9a5SM=BC@?cSt5831o9p$&Q+dixL={m>^a)fh}33zL<-6$r%B)-NL7<#!U zTn=_@Dee{A0yM|MkUTICGT_o$DTZTuh`_K^G#!)OOG5 z^RM1u2_py{*w9BZCmX;;62lb24_uRuYg|z2EX?eg8Dh33E4IXBZ+A=7EiO*um&)on z71wsvR+pW#pqv2bBeb}R720yS3jXG!>fk4JZE@zOCL%{lV0H*CU56KsE4+(fOs$-p zF}K%KrY>hO*Lm1!I9qH#uym2vYxCXzqF}YNRK27LTdZ39loiJzboc5_hIbWY1`E6- zKFcawGoaF>K-L`b!41nzchs(#l#0CEdA~UtMKXJTyTTmAg^T6Mke!k{v84%> zg;)^&=p)=Y?c0TS%!g~I)8h)>`zeR=ThaY;OCBTv6NKq_hlc1W=a0>?-jy5(J8rAO zLFcyX*kir++dAd8tL|J0ea^(rma%DtkNh%4FX04`ulXSTL~9M{*%eusz-i28YqoWx zOATb~7`^WS{JOS%TXn2-tbX=AKp@P|A~fVZ-1=|lm6P;E{MTUcOKsau5}6>8#Efd_ zcNXNL2N(Rd-`tf2idFw#kC*Gmp*1ajm(45rBIM*XG#2Xj(d7Gb@_A22yI+((Nm`SQ z89h8MQ$IJwTpG(8g_Lv-)n^Hd2@_vIGa<;vku7eM&z2A^srZJqETgC%v^qO-?un}Q z8gBQkdHDjktRLnam60%si@!7os^}lIhyGfRj<;@&vHrT>W7~YVb*!GpkjU&>5X%#rbu?@Y9Q z!NHR$cA7}`w!h5q^V$}D2g>QlDD}Qxcw;X>%n&p9^Fa6WLb~X06h9d&IoaR$elDNh z2D)-8H^-ci-oc}lYT_5F&WG@~{9C>?%bqACu4B4-MJoyomi7V!+gI;*FKt^EpC&E8xAif5EyQ>|z zJ-UsZNdCu?uYU{VeBssR4sszdagX#>k$=_NN#cyLc6|F<=$w9|M@eI0hh(LLbSkHv zL(XmKq;{RxMeS22AKPyzOYQb=?C+|9uYSSWm*cNWqI);+mgZa>gG0r}!14%{-!eTP zZxWZx`j``2E&lGN1)ZHw|1GI$Dsu7!@ST7r{C%|i?~>4Dq(sEzl>gJww62o2{TdUR z?~yv*&7!pCaz5Y16j_PJH#1cl3xUWkQZ2D~3-<2z)ynLgoN$CU!}dj;5sK4h*%$sBW5Dr@@(T$R_ntvmv4i^;I$%`x0FibSQ=AUC;8}&eYn5c`V=)oVa<-L`A!`Xe-scf8qPmK?a3U?G^@tf zx=pini1S*=I&+uJE%RTy0u&GkylV}#HrY#JIhgJf$#Tcg=W+H`kOjn_0etdqNUUp)`baCV&o1;u(q3?iwo43%tAFSJ~eMF$c1)W%O?AF{&}-N|*`4 z(A-aufAzN@xsT-b@;5>sW&hCY$Yan`f7?TD>T&9r)fPT{}kg_Dr&w zXVcSrr}S{?n>hunv1dHgphrr1Gabe>lza*&+gwA_vuwN(J~sO^O0JpJV4duGg^AiB zeduopY^wHte)igkA!*fF^%<@A(gZCy6jhD-`Wc(Sp9i&~N<%#XPx{UCOYj3&D17%hMmwgDe0n6{R7MsIF5y+giL z2<(wLd8<|rmj8oO%lN2y4D#VQ3SC8PmrV>F0p;=&zUL~QCvq%aP_(W@$1K09X?YX* zv9c8N0X8b`Q*xok!S1Z(SZX8~B@JTx54M_j-ck`@0KQN%*_#7w_5J1T_eriLP?eQF(u zb#tRSy?Llaw(Hz7$(~w`D4am1bV$4syq>;%+wGHPM%An z7Imuhgn{;?I9+z+LMsM;lar<^=fJ zjTHq8EACY=7Hyxo0U1P@BzR^%Z_h0Lle!ods4H0(DE?NEynJ7?+f~8A)^l_c7(elP zkQLteC?AqlX`N?DML{w!bbNnZtmH54Qs>$yPZVzUQWxwWlpwyy%tO(y09nEgl0V>g z#QN@hU>c1w`+4++xc)IN!lQ8!G8$E99r;cq^%{X*KkZhvP#3*Jnv**5+{O6=AIGgr zV_l265Nsh&n_n~_rj#ZP0vtg>%MHr8+uoT^!BxZ!`xlfLoO}T&eK;Hjt|}GTd2c23 zV4G|{DSA~a+i6s4^zktUu1@~X6*On35=`%a3%=3Kwp9!%$=NI=!hWG!!r%3ZT{E6f zK7rC6OBxYy&sg8sXJpZv2|Qeuqe7#);>1QDBFO73Ic=4_ZZ<1U=MEgLp!YO{yq>B) z(yCdl*g{OB);gzb9?$UM<;fKc$sPl5eLOZAVBh~rEdnlM+tA;K#!&K zZMd&UcslUz`XYU>a0|K>a1Vps&g65hvZ&RQdh?i{fstKlr0Io zYG0sgTV7a5gRZ}ZfDqo{3NA)%PgNaVHVO5fB#uU*9vTCsaJ9&v_iYnZ@JC*)twt6j zvGM(u1g;9E44LoVMjgNQ;h&6y&$AQArf9SU93NgP6fYHH6xS&7NXWMVx_IobMp`omjeyL5fh8(eCUU+i!ZLuxFy|& z#N3?3I*CqJ{zGv%!ra{2&dG@iA;4Je()-}o9I}47~nKCn`1y`klJ)qYJWCjTiEmDmj zoNM%4>gjH9;z;43OHESaBLM6gQePR$x<3E%tgbz1veRmB`(~u>E@a0%rY{x2!04os z5ZT3MYqAo5e~2tfa4T|ebKQ#&MTc+@&605F9AoaOh-CBQD75o;9Vuq+uho!gJlAO5 zYHA{O^E|K`28i-B)yNW7E9pJlQoU9LK5l@^d9Lr#XXVv~faN1%ukJBLPdkCEWx^M% zFc&np0N+|xt2pX){H=L%?Vy3&i}3?HFM2x{SHB6xFDc2__?X3qZV{B?agvqb`RYRq z(X!E=$1H9C1VZwToCFH>KVC(c=-yrQ7{|R|PupGjubyo{As;cVnR`G{d!MAJFN$lU zABmsO>uYwseppZXZhY<+4-48hnc=EE(_bd`UO^j;FATiWKiQShG(m-JXB`;Z!D zy<>#Te7x!Jx_zn;XLOVs66O_z7fTS;Y_cT+G;P&pIYoj%LL8s;hAUVO9{OCdk$OqS z;bZv)y{nD4&X2XHdMq8W=mNE}+m|YIcteUWIr}XZU4@#Ndulo)Vz+`?vV3%4>b!bC z#|j81Ov?~P1jMk1F$P8`wL8IHBTYS$;E(WIaKn`aD3PEuIOs?%=kwI+2Iq!4|`p+6LcvU=Z>|M|VGM`s6+l|J7Ex5{eg|g#!Yzr~mgBxTT$m zsRx4zgNyUO4Gz)Lc3u?6@O`R1zKt~RN*wFdBtpPSQL#}H%xj^lSR`%cg--ye(MP9~ ze_p+1FJLww8cD8@F?RWryXL+f@N5>IC0p{`Na<9mF6b_HoT<>-iLGX6Wl;ev8t_xHW-t2I@Mx_!N^^Nt;UeyMV0@@$5lG{Zt z^G{DPc2|p`DxXo}y|W2?+;eKz4JBHYL`VXnnrbZG+l46h%a7gx;66vxa5L2Le=mr+ zucGbnz+Y)Mf6j!u(HE&kSMgn4CtV_3At+M0@E~0yp7?&zJPZ_Wxk0s{AfUJz^QcB< z7Eh-NGuV8CD0OXec$UiU1ts&k4&+m2l02kk6GjQU2_O?@)$qGjP}7YbpCk0jRcXl% ze?WqKMZP^<@yMR^cODmOjj6enWbgl6%^^kN z*R=|aC-Ee&#-}E}C))Bokc`E{I9ubV9Gi@Qf4+uG&M*4P`cniWP289#yTe};*gC=A}#v4`l0=3O~ zG##a)^{Z_#Cj)$F0u>OLqSJQ@e&n0Rc(o_Os%Qo?nFl&uUtDyb{Lh6mHBV%>w2z4u z2D*S@7i1rFdJL*=EvtzT&EM~X1V2}k$6ebEFBF)#Rm1?B+T=0n6?~7yt_%d7G^QtK z;lb$`hkN0(f4}_MxxB8dnqipWw-NEy=hHQ>vzR1|?YHJyVmvCY_rD z>9+`S33{D%Dy$fMo8y#r@YD9oOfkX&;b=Q!T$;Q0CTu4J`{gFaZ)_H2^Db8s(vzpi zC&kgaYMhyGHh1CN>=%>Vov9rSe;LXBSY%ro!M(WPQHR0HjjBo&qfs_m2r;;O&!?(( zGHN*_g_M};M=ARKuCMt!20O4+PZ4wwa?}b@vo|u430m6j>1966pcW}i1s1m7vZjqs z$uyJaR=|!6oLGb(IeoAVd(wlHgFQ^~ysX#n9m;THZ6sabUx+-=haIdE>tNq zf3?C!{6Wkv6ls|C)Cs+Kvs%Pa3Tmr=Nt2qkvY|YYiOw4fmUVyahI=We&sJVx608rM zrD|c34>Wr{@8@Iy5hGo2hfs}~^6s1}>n%cu-};mf=3nex2P`Gq!f&0&bIV+zCJ}5F z<&}p^62Wtby2PylhHS;%;(3tKHV!M^Yns6dcp?qzNQFFB#TC`x;m}NrM_o&M41lGF z#AK)ymCG8O6Uz_Bb5j}dK2{g87VbI-(--Y9CblcGl>@qy*>+$f@somyuze<(C-%S% zi%)Rl59E&PQ=g>0e9t#3a3#GYgcOWZnY2iem$6^j{S6n=IgInWM0&G~BxCaLUEGvZ zci3u^E@5{c*VR2ahE75adYE&f3@n%gM7N@4dErn7#Jv3F6NJIRB&C6(M}6tbZ%R8Dm=olqNk97d9GCfwJ9R3?iw@q zs>CTMpnbvtNu*Gnko7>O$*VYlOPy=^#!NOYWhg&q7@a2F`0t`Vyb10d@ zt|cWjeK84OaK$~Sycn0~53BW}<3KIU+NpmQ4{+={QMpspOtjLdUu#(01!p*d&*8)0 zgAwXzx<{?PCF?bzJP^#&aKo*n<>(9`@2vP8J(GT-dp0_+sHNtFrh+l8(2TSgmw&?; z#~$(#sF(r8UFKn~A0nzAKak%$gdccy)&>&@6L)yv!C9jqRXG#5gyFe z3G7N3i<##=*HSX26g6~g&HY>M-Tie)HvzP`5-?m#nucz_xVxdH%4qO9JBk`FnnIWM zR`=Xx;}7z1WV)xjUJzfpdclW?J3pU4u2Hm{+KJ);b~3mdDom{HBt>+tZjcn^c*-?5 z4t9XF)=y+xE^u3_vb$|MEkJeGvIId)c*&Q@sdA-bzM_A((OT!oiMmnoi(~;_u;S8V zS14CcrDjeTYKRetX58blCj>GTj4jFl90tmdu1WT(odn2Gi)#U+CbN=|+|tG5l{_HciHKbg(FLjGjMCSU8q zj5))7Bvymu=@0Ll7=TH=_; z`rF0+eP0H?>`;ty9S>f-hlywrXH6)xbD!}R=H&*-J=sEQdqbM=e`=-hKu*7i5i=)@);prAE|y%($tS^&!K3k&mgBPwHA|3 zi$5Jd;HAKyo7X7QtUk%w1w9s5h9i5pIG4JhKy7(1h2&luVOkx0E#|Rl@DsqDBn@9k zh{(pH5<}NM;?BvHswjU+N#K`dm9<8n(Cf&EVMjc`CyXeO=D|!UJadWl$qNb+WDdPd zQ`-#-07(asX;Hpuokld+BG5IeC`2^SZ>=KrOND&)6+*K3zw#0Av5c*(ym!|qt|}lk zP%n_DimoNm@_#*UMQ=F%MYi_r+VnUdXC)6h5EkuuETbn-Y~KlMMQ5Ph7>%z59k>lG zSp ze?*up?~-vFnM3}8v++`tFy^4!IQY&Z+;{0Rv2=&?-SaInhgW4iOUf9KMj+DhhQ1S& zMl_Pm1ug4JYCJNrUh_Tqn?i=c2T2nqOL24ZNn66k(uz*y09}k_FU_dvha%O}Uf;tT zvVeLE2C*F@H8T5?n89iF}Dm4KRtfRt#Rfrke|g8LUEDVy$Wd@ zKf;zFlA%>G-?d_Ga52_T91ngTtNGkMQ{+v|$+L>9x4S3RBP(P>01?>p?oyMo;C`oo z1ImUdoOf54`|ggy)*&R+LV*zV|Hzi^Q2gBbj`MRTk{XQ zoS{M+Z3ZYAH^fdF{N;L+aDz*=O>!Eog}(QBd~735J(R(RA1rA@D>My_n-C^L zD{5OH-f&~8kCEq(>KO$a>X*F=cVG65raS%az_4(oi*ms163{G|u_su_D?lOx5AT!?fu9HvLUIwoo`0m!&5uxr}_?@&w2?CHO+IlC~Q0)q-Co^o1w5 zOm1Al+SF!yBQY~xZ0P!#HsFkP1)nL_u*NHZZ@V2pHw2O zZ^|zrz;@B^+MRrOk;lSQqI=yNcB;hkBRG{dkc&c|AksMme*DcufaKW9^Md~{KeF)T zyd3F(-b#5jMo}Jd8;h(ixOhQWJaU;l_iJUFu3Dw?RQfn>C2fxwEq}K|!EVn$x`cRn zUNs-KOKGb`?z>x{bo9Cx_}6bG2%Ptk@^8pIPSAgUuIpfEY;9<6`i;M4Z};!MmTZ;y z?AMu)Ha}=uDUx* z&p`6x=+&n&dD=#3{;2)Is@zRAk(cl&z=<6W-LURH(MEShb*ofOq{=skde9P`)|Sr_ z&pMR_Xj;IHD-Z6U`-6hVAr&ooxdYdb1tnm3Tjw{QulJP+aYZ{&)a>XW7v}%^j5>Y; zdP{+092359v1Wqu5MBbXZFbTDhAz*$5EO6ZTLgYbue0TR2Xm`1CQLs2RE#oOs^}>7 z#56ml+zhC=eRTLG&O-ZOvAY;?;o@t@JiFj!6YKBqr_s`EJO|~#>!3_^2}$e}?fY+n2f{)59qVnx>m%ezCfyo_ zcFEuU!|J^?{F8AYI_m0u{zV{qgU2&%k9W_sqF5gp1p>N>L2NJRe;nkld|Vtx27P9&q#?|3=LFlV^vtIKoPX~ZX#5#1>vU=1x>-RMS0e# z;L+76sO;eth=DXSq$kn?NL%6OY~+9JqAMw!|I|n+sBGJ?r`sX`lZdppQ5BhRS>2Iz z*Kv5uik6zHHW}e90Fneh50`>186(+dxxj*wa}N}XMopeEK&aYRLBmpSoX7Yz5sOb$ zpfX>#jc-K^L9;gR6XQ_o8#5ZBRXD2{WLAR8URv916|P_gyMY}7u{bX?yv0;S9XHC9 zF&$3LUwj~K#+IQa>kKmX71vN} z5JBf`fWx>wFWdat>-#?C2mG&V?sy7jFv0hFs|f)FMDd?g@c$}-$yQ||VSyWI^NhB` z3PXg-!NbDzmt8+oD|^(@+8zgyOI3KzhEkLe-@s_>kX zDvQQ$RwTFf zB1a9?qx^F=;( ztMC09RMDIEn8~N6z}*+1$RsFOYy>e6wSir7A#dGZtCfn6lNp*Zn7SOxK@x?iscEls za_G;fs7Vqc-$$I_$iy$=?QQPWuhi~|F_+lENd1-4vm1R~eoH_+=l`pIj$F6FB^h8> zo|59Qei8;5)?5?*Fl(Mt#~hv$!|20cpfc5s{MZOBBTzCR{(<10i6|8qPx-S5|OxYpD zzvc>h$Wx$yPLgsKVLUiNm}xRlDv7Wnx%L-+)$7-CABtr2Dx0(c;yh2}%f@1{TmyUL z`p90_t9<|4+b4qT*^~agZohsPs{i!%{nwKHA8==VV*3#SnUF-UyoWt#9HU~hh6j|o*mX^KnS2v>T zl5YBEMRad(LkQG;JNmohN7?xhhh9-yWUU|nn-d=g-no+Cdy^9T-lVAi)6oBKEk0Al zdbz=Gi|_7x5s$L~Q7w(>8<-3O;(83$J6nmLu|-q;aG!QWA+OWualbl$+R|kucA~}o z{X`<+1r!@_8yaRsbWjg}Y-7XkwT%2Mdx2cV-i@_7PlNQZ%2c4UFz%lWJZH!WwOf*+ z2YbebCXpe2e97SogdnXefy-#fDyL`d5cXzml}9 z&QZ|`h_9bES4VwpEf?jC-+ae;c2N?~1ml2h(l=ql60r0^FqeLi@A|9%g&)O_>3kw# zX0V-xvjs&;TI>J-3W2VHqjvZB`OVRnm^SsJ9A1!^CD5jDW4*0&g0`uPvJS>@%nT#3 zH^*%_8IdaM-}BxX=RaVC41J|&He%GQ22h)ME|IWyGW0VOWKfrAuw>4BC_rF$)>;*`zD8mG|77s~FPSEm&MyBy%*!Gm={1QdARs#>P$0^G+u45#{^v9PgT7pRy!oO^HBiBP z%_yUt>KQ|u5RbWc2Fze}tb4W5!)-QVFsVt=tp4~-(=0vU;s3FY=$P}@tL~0WU*{Gj zJy|sYp3m!%i;z`UO?8Wem6UWZCH`T~h$XFbm8>E+y3v={PQ1{AX~s-F`uMJzDnnm3 z(FTn?w`A2ON8;&fJN8e*r$9o#H~s5`zRRr`yG~T%F?$IE#h^)&T*6F6n_(oYoz&O$AF9J^UckhEN_Ju{&j2qU51tv2Kq%pFr{u4<|!N)e~%1{uXU5ir>umH;L3FO)sVq53>e? z8v2TNsYgtc$VFKaiNhXn+xfwYQA@>4H8&>y6B5-0v6|e!)C|iKEE05tW1!}G-ST(} zd7g|%4Jamc%OZI_n(0eWnjK1x?Nn$pSLffO5MgxDN;qAawpPZF{d=X6u2`@}FyqKW zf)PL3o}OHkmPO_~p7;3piUr=0@cT~#$wMumpqx{t=E>B{W9J(!93d8%e@ZQYPBuk@~?BI!Rp%P@KKz8LRt!~Bd(+GL|gFVb>WJY@Fp+{12fSnk)X@QVbU^(XP=5xDnuD#Fp7d#(3R15I zgrx)S&w#LW!2KCee+Jy20nONeXKX;TG~ihp5R?O&rNNM&*vA3Q)qv(|Fybc;{E*ks zka{xYo(!ocL+;6NBc>--HQdCihFe^Oh}DqiWJu5tnM@9eKn}SR!#&Ej$0C=;H9?-fT4lr}lrWKnIek6n+3E@Y=6eHQBTtr5bT}s~Fq$jP>gwP<_9ncHSYC=RS ziHZIugy9KcctT^B5DW>!kPN6UhGfW<46#F_HkKPP45Q5*deYJxZR6;TcrO^?taaK% z`#SAzjL(e`KDYSO))qZuei`BuM-QHqu)R&sgpzmK^xUGCUCM=Yu+xsYt^pMp?9h{{ z8gjyj+8rVIo$lr?J!5{sY+Z(>i*pE1N@s|=1W|XJ(|0Llms55rWsg&E5aHS7mo0kk z@(Tjk9Z>p!(+SM(fYXQ6=8#@C5Y^z><(Dmbatf}H&c-gawt+;G*wra|PQ8y(Bcm+av7a4o}xkr$bMwU}u9~HaTUBUU*n` zsGS|2qaB)~9R_p<@u{;j+@UAt+NBM;v%7=M>~gN%m|l>&bawmvi8{5%VC;2p2={o7 z_O`KydprDs6uq;@)$GN6d~yYQxFvRCt|0E<7{}anyoF`r7-3=p-63+@>2LDOCc+7n zlwRUCJrjE32=@Cl`+Z~{Is>kM(8clt;t1dmW*ad243I_Y3>d%xq0fLZX3&r6$z}Rf zCfTDGWWnG`!#NmH)ifM~(KbD?;E-D$Qo)2@MuadUMwn3tTOM(rN1K$g$ti^LBOcDt z)($=Q=-Hl2>ubnKk9GNbDLiV^u&=FF; zDML=d4RE7Pm=Aw;@Y(IqOLq^S8~lRo6+CzOWq{93PC-E7+2@xLK4VTn)ZAb)3x6=B z!|ims^ukqlkY;amsHYp9KBbKKh01Kw;B69aZ!&Jjo4Ad{n?rsAA@-2vf|h#V8=cGp1)kpO9k4F>*QZ+@dFC>hDo9@)>cATO&NF-XV>3 zJfsAMGES&Q9*Y<$1n}gDNAPExo_qX)Aon|*(xDV0e(;B1cKL;}@o4pNQ-vqZMt>V; zu)o7834+6G9oV=HeD?VTR~bC}^n#Nz;%#aaLu405L*kW3 zL*$M|!x5(t{0W1c;ARR>sx3k43uGCGb2LJx7l<>zY|+a$Wh44OV)_q%cIX-N3pP3$ za>|fWhMY1S)DB9O8djeHl)g<{KzsP^Q=jw>EJ1H+jX2K*s)!DgRc5D(hh$i}p{X~%*;qzYhhcANAh+Xu-rn6KCVZDfx?R>!?2^>8o3Mo6#@hBaSi;{R;eCU| zp1n;{2W+vr0NDf}{3QEtQ;}`f0MK0Q?JA`LrSz$mKG#BHzDJ|IHy~{SEgks7DgsJK zsNRH1CtNS7Vu%g_b5FI$Z5I1Uu4fpD8o_gio+P&OB*vR0mv50Q&XC3=A;&wUHDGw- zT^8u6Mus;g?1%?D{6aE50~`~;F@YKrs4;^Y6R0t3jbhRlF@b_VEXI>;%@EU)h35`E zN&IJs`6MY))K1q3fhPY3--DiznpN6>46Wu3>`!vLThP6+y zGF^i|2+M%L8!&hS0&hSR1^$p&y~$$rCd=zv^h9ZJK;R7sya9tZAn*n}x`SO7#Ho6Q zbwJoKU|0tP>wsY$3|Kg)>W5T4jr4#R2zutN;18w@H%MxxJ`A}JL+Znj`!J+F z47m?O>cfx*cSz6=3Hl*JPwW^7>ID6epdSuM+#j%1KctEYI%cNe4;5kXh72An5@;1C z8zhu(kcJ>3)j_h!Qa9-ik}a08NyV9vHX!M9W*WAHm^t`E0y%3v6Wm$az~$4EezVeZ z)TI|vi;Xr&9^c?E2|Y<@XYJpJ6a*vE*^Y>Gj&@0%IohL_J(lAMhS7i|@GfF0i0&kA zvk=%u9vK)sV%OVS{KA6zHVNw6U4Gf5=MKM+SWaNTA4=KfY$Q*&Ng>y1BZme;FG)um zTO{solXSGP!!jwA*&&H%XMe%YWG!n6+2%g!DPJbS~KUjMghIcnj82-EI>k1U_zo<8#T!wbKz)o zNqN^L6k633$Iru{rBqR-t_!AB^@bAoRZxHK^j3Yb;^dvTW zi`ncg%Dcl1IE@79zTwH7Hwypo+@U8)1bq?``o!Z8h{sR3G>H=Nh#3A6G2g^&z#rnb zQRIgwHqmE5`y=9(QO`4Cfe-#5|Cn_7rAsfUrhzB1sibUyKg4Ac8#f|q2+Zop8dgh; zX24&f9rjgn_TnfSYO=~w6(fIooOT^q-0L1EEv`<0`sLW(t@yX@gy6f>i^V3Q33b~?>&v%3Y4&MrRizs=@Gv$N6M z*lKpV-R4faxdmCaA$hmC+1%X4|8I0KTX(Oy-Q3urO7@ymVyn3WRX{eVVhd9C_#;2| zntRQy4%Xdib3>!i~=O*UfC9t4LECp?0iA{KcUtI!+D%@x{ zx3_i2@GCz7#!hn!A%$kPpj2lY3-bSVsXFW_JT|teJKY_8+1jvmK%D?<2fGfSb(>q; z&8;?m;wN->V{;Ed#Wr^KusCFFL;s;Xj?GSU6DnZk1W4r~Ks7p}8CR74&Y+~D3 zTbnwE6>Mx$PoW6Z(AnZH<1n-l+z!FJ+1%Ztam4Q%dSLfp*fzIu8g_7oF`*-7K-Iga zDu=rF5GtHP&Ipr^KzArNWP&!Jx=n0hV@D;yh_~@m2kY8FylHOiHgOWRsowzKHe~M- z2-u|^)p~aWr-A#iw?)ZN5VG^9E`ilS;CJzr005Y`a1aS2YRFX z2ypUfZ4)l3UUd)&HgJyM|9e>9E&zcYZ6nBS{tgAUq5R%90*W@E=4KmO*xChj+=f}% z0+ijwnS$IqR2MeBN7F>z=_0HI+V<`q4nqer>})o%+uJ+X9l*wp?(R15n=oaaE{^R6 z)V#a5!FZ}W(*;mBw|VJqAZ8$lz+C`v+t?0HDS`ykxVP77?jjEC&@xkFkADd}RHIb$ z_9o#B&&;;Me#*8sc=;rPw;qxYp8(=xKz0K3S(e3IH!=c&U z5mQH62DO9(MUmIw~6F)i*Tfi9mfxwh`}Ak z8(fKqd+>@g0l)SLUvM+nph3cVH@BFUz&IfY%{`56yBkc>5r7V(028IH?Ix2XMW3(% zTKD+2O(Y7W9U{C)3$gxPB2iR(x3ft_X{+K^XtC~5rY`kxmwJLLtBYv1NkgzlJAzsn z8wLre(hecjlK7lFHH03JkHUtEkn=FPwD(BLevLDSNs+5bqm8uA@3*nxj4@k z7gP3?RLtNw%Razji563}QUojL`0M3d#SFMdbZ@gxm-+GJkV>8;^Ex)zjDX#1D4$4N zg3}BaoZ=l1=rj6l)-f%`lmqzl6P9W*r;G1*??+u-Nkmn^7s&E9eSe@nrlY8i2@j~B z=!LA@KiR4CYoIK!>YZZw`+f!F8p`GI`Bjg9lF!kx5QY{AOLUfg1m4wp7!s$gndONX z$kr`y#9SUzjT(=??lS^M75)@$Zwb)o8#;||Y%2&w&b>~!6Ee$AsItASVoq3x%WA_} zMIpnl@&P8qF?zF?2t=(pjAi{~J_F=yjb_;e%0Wn*spdvQG^Owo!K8^TnP~MXgpcK% zePi|6g%zWvr4=U^yR>X>H+NT^+pXQDbL$|A9Gm~sP~_hQJMe78Dn$yo^urI)>+A#I z54w}*R;))7oSse4XC4s=&tKcaW$CTb$(J}QH^%5{fvC|o~GY+)=qMyKU;Fz=O0eWTYjq3CBMczaO#yHNQ z%OfNe*u&^DTa1TTSPgp7H@?B%<)X{Hd6ah1dJ? z#WVdKrZ6A#@s*lNufOB;1FDbySY%4)bP>-!G@?vYV2*EuiX!CwY>!_ah$nN6;n9alcFCsz5Q$ZxxSx!1 zp#i)@#%o$l2tJ|{{`UIt58#+`X0DK3!U|eiRY^7c z89Af>*}ka^n(2QAQ{=7jer!kz^4GN}ntSAPf)Ye2_4m6D@?Lr)v}y$)Wjh zsXCmIxR5*etG>A?Y(82nR-XjIVx0$aj5W+}G3C8d$@_z@VbJ?4c9tL(XRjuUi+!(f zjn2b~VQw^4(`P`H3c2}nr~nhGLIM69Du7@Yp@EN~%<2T*@vu3v{pKP2;~g-YJmf@ogAPX&jn=T)Je_cf6tDYoI614yDX&Ne-Ns1o?J}FfUt$^Izd;OPRRQ7x-7q!u8Sq( zaXQV@yf^}_RtTOxVCH`UpHgg~7g|w6VDjSGqcFDqcnx&b>rWr7)F%}qV(I}gfYAn# z7`8C&y(>~S@EbA#e(DcYT_$7H?U`QV$jLjHqaWMJdw4L(ncMzjP23M ze-h^hRRKqpX&4(Vl~)(((Z<$mDjtfhdeGr%GC-L}F^{<4no5uni*ZAYXIHu!oyOL_ z%M>_J*!G$CO6NK4o5>KnPym4WgB}&^DOP~lLgFG#tE3Q9%tc1(Cd{d;Ss*kfbD)(OeRUxm^+xPxw7&Nz$vRcR4SvrWvFMy~szgPS61?ua#$%oG$oAkf@ z1=72khNSb$G*4u4NZoK#|0a_E4#}HtvQs%EZ)tk=#{$UQ{K_QWzkl!c{d@Q656;K7 z;aK!pZIkt_Ot+)QRZ zHwhGIf)nUx>44xaq4L2mQy$Qqzrv5}v9G7N9qS&Zd2nbcB!n6tiVhLVL@^~)-|%NJ zlL|SZ@P=Q4W6CipbUq4hVJ7;*Ch52rfu>M`S7QRdf?04J^vo@SlGZ6HgcbJ1jOPK= zQ#h7RD(T_QS6e_w%+Lk(`-&BC$PooQ{r;8>?-WIHg{|=Go2udfD4OQr@0(S3OGJlx zhD0$zmhJL98z*GGj5q{L9azm-5*@vI`ZKbUxT?}2d>N91*yL=i?3lJlqZPf;y3uSg znNyNgiQwBKs``F(@7?U(f33-!m?%`G<7+J63d}E2=--f0uuGckkW3)*bwF z=k4F$-+B1%&bxb!JNM2^L0Be``vqBZS{QOE!}YE)@I206TuxqUz5jj8-f}M3>w8~wS~NA12JscC@9OkBpvcv3zJG_ALQh}H*P12M zG0b57UUcsa*7cWK1ATcLKh_*w<2ainCyUuEJ3~to&o*GrV~!5<_|eZlzpp>MjbD!V z%g^wo@db1J-Ocvp?+riOy`s}ES$jz8?r9b3I2(`zkoS-a$Q$tvAd=Ge?@!h zOMMcUCRQahIAlZzYQlF}w$sv>04gw|VujnFEOC*AZq)yc? z@N=pH{vkht=*$&S8kCXQ4%mm}K-xCX5~AS8lTp@_+XzTcIhx)81xAZ8BY~Y|fd!dy zS+12siJoiH`6vT+I+U^Xc2 zB5)Yx32-<=6GSh%SmbjYOCEY+X(preY@w|BN)ZSPYmnr5OHvJOd_n4AjOjxlwHOht zhwZ%vLrR`}VQn}@Kjs#m3{%u1viHH0qi2UFgIPMAqoONk zGXsO!ik@+2bUn(*ywQxdn$b2uHjBFL&Q_xt?L>9>wGF>^>DLbY+M{2)4b%eY8t}^= ze(B)PZX17g>1PLjZqUyz{Di7|HPjn}NY*1Qsjh-QT3~4f^k=BL15t=$S+>~AE}e|V z3)I);I!RZ8sK}8JQPn}zDPjBi$V9Bl9!T)kyoD|cGd4@hQ0}A|?susvWLRT^cN!M0FYfckI<4}2V z5tG7M?_w%U;mD!RR`H%p&@Bd?d&mz%Ep0?Ry^y+Dh<_LRqut_58mTw=lF z7#JxZZ?ehjS)4-cXGaJ-5r90sNXP6l8XRnpQ5O!v&Q%rM|6Dij)a*6<=t@(Srnf9? zti}ZWlm-b6pFn-|4cjtEdjdJ>q*f_G+B=^*05o#B;p++7zJdgKthf)3?Usx1XgX%OE`|qkrG30DeJG$%A*+lK>|yuR}|Fnla$1w z^K3jMP}r%HY=w54M-jwIaZW+#Oktlujz6l)Dp)y|U<;k~ew?eWDK5XwpBiS*i|6xr zaL%YGSS4k0#5dC=zsHA`fmgdTZ=g7QxbL7@MN2B$Zi>z7@`D(S+J_Wo9JyWcPQ*>! zO7>_*RVn~Al{rvU!HQkrf!3T&IJu&m00FA7qMmV&tv6aAVh}*}1~53!v$?5+S_Bcv z;I~+t3M9jOQ?+80G%xah|F8ecawE{6*#Zfe4!Vu;#)+7keG>ukPrb+0?9o zFp!DK@c_&jl~=-H3yFiuH^pIvkRBF4r_*&5RU7I~XWsCN14Vj1P+Xl2X$xD42-b~z zvXbB?B!q!@!3bs2L0+K8Eo;2B{}wUM?OEEi%7F83IF(PloYqh*I_Y zw{$-Jebl4B!ckijc3|h<7M9g}#7k6$(jwH9OrM*lGgAyP)oRhp?yxi;Vwfv$K036<(e~N^5YIK1_%AcQ&`ScXnC#M(z2uo!!Pk z{K-?iNI}c>(FJf(>2#dXE=stO8RJZJc=9^xUrCf_RZxN(EAfKE#elu&wa`fGA)SF# zjui@*nx5hu?K+zPPtwnmKNd&{2%21ps)VvQZ34}KkzzgyHwm+*luS%*sRMJpm%5=k zlxYw?=}P#lPx2|viHz|OU|)C^6o?_FB)|yZ`b5%>eo<;BSg@j;8kwcm^%#j5ey6T-BR4 zlYQ1j-@;$?i^iJKEXGzDYKR=88_`2b<9z#Gb@cUsRgSFX)CL79z>uXyDa@=gHJCH% zB)dwL$ro{y*Qqt*LdAN!WLWJ@Iw)J9QJ6sDDXFnFkiNID0$XQPK2Jz14@@>$yk0v= zQAN&-(r&BWYBz(O6`Io4yUAl7SfW`O3ViLR63R3I%2DjS%w`{y5X4(OYWG?-qiOzH zJ-VHh2A3qx&Q|qYtz)M4o>n{;Fu>7AnECSY&(9WY>ZfSSK{93cGfgRux8Z8)70+&~ zRM`%^PN~n*vQwwB^5`Me)tWBybCq_0Yu}D|7%auaG>Y9eX=u!WTGg8_+bm{mm?2Ow zsT{X_^L?;7;tf1=m@W}w*pa1Bzn^9UdWFC401r$L?1Gt-&Xu|Ehf(bj{-^=nsG*%i z>0r717~N^8N%N7K+m|8({!8#aphU5$ksfvz+01q#{QxwV4T;L-!n4@%g;Rx29+*`m zn_xaBR6nI)$Ok)g?`<74@{BnHJ(C7;w6W$1#yVmZ&>3>A=;b_TmW^(=xgrrI=2egP z6OH4uoc9vd%*oM>AN>l+8(u>vZ(csZ+P1xx9v{DYa`f6H zce-A4M^6t=PEJo=AHF_5I(_u?#nE4}6I)*6za3&>I|5()j(;hw&fRMDkDqaP>!j^! z>cCLh%v(N%Hn;$wy&T+qH1HX{Vg8fQA`DzITCb@pyR11 z174sqh8SQv#yev7_@N0;qK4_w@$<*0&tE)$f)>pt3sQ3@ugS$@*`Z9o#ds^y73`OR zj8C8Z?fB^MDIpbRewxhJ>6j*}@5+k_WZa-~T3aa1II@6;S({Yogf1Qfl52xWOyfDq zkqvdnSD@(^Z(g4qKgKbD?F1{qqXr;%(#>GbO<#NtF3zJq-RP8(j#zEDoW;01u(T_k z9q5atyvi(0wBcozJB|UCf3v?_c8_S9JW^@B1MJ2od;x4uaa>P2u-JRW-j;0r+km0l zfRk?Rd<+%YCS}J%@~-b3gWOy16`1m7Jq+4hv(63SJs-Uske#xdizx2g(YGqZKJ&Q+ z>06M#@jkS7l=P2xe+9^0_|B^K+JWN?MnmmiBq+yQrv*mmgbkhdBa;c>v`s>bv~!Zv zkkdqqO{51U5SV&HaByOyx-8zoS6N;`7lsQ<%LZr#Ab}>=4fd0092hrw?O=(=K;p4h zDX|VG>dlgvD)01!mM z`$gGfLfPI@E#a}wRIj6!?Wckxf07RzNzRxV7gKc>fHYku2|acOi`k6y4xT~SMqp4J zKaF0?EGeI?*ptrM-v|;9WD+W-bi_+LJ*{z^&yOd=m?nreh; zME9*8DyO~E&f=WU+p7b>Esz=ybmpHkBUNxri^*WT7$&Tjl|eC3O{f%p1LP^O)*2S^2BU49n#5W+-hpzoOfZmH@{ulXr7^ZGA!>q%_QYvGeLS&Hc!%_5 z2CvW)Z`hoLs801m_b?QOjg3JD%TbCP13CcUv1E3#fo*>vNfDMteJ05DNGWZ^pJId# zX&*$}w62ETI5aKrNDO;Nt5pXX;<1WEP?tm(8#z=}YjuUeV|Mz&h%JC6>3j_Z4t2>e z`9(|G{fxi++(u!)bmBg!4alwH%NLpaSQ}C6dLl~pgmiQz>=nf0PBS#uq;x|pUcqX( zGC@C7jzi3Fh`_9O4$9JxC$O~1gk2=u8f9~4y2tTVGF<0CDQp(Om?-zy3_r{g_Mjk@ zu28=TtBn|3D*Dn=I;zBfrzk-Dv29lPQ;gX`7F!Y;TN3Rl1*FmU2Ntgv`T7Vj&)n6l zZ=4ndP1+NE8MSuq9+1_#PWl@=F2^Hb%>R(03rS2Q!{6@f!qGhCn_5Bgf`utJLAujfgk z2J|0F(&rZN(+Lp-JFbf8!IV-Hbt8U?F~SXlJ;OO3a_k~0hlDtpv)i|c&}?WC(;zy* z&9^8EcOR`ZNcjF`b~3umgehx3T2mt9aE-PTyhD4q<{BMS!qvGpX_H6o0tL&=-27`J zdo=0vG7&@vBI8-A+Y@M|GNRP#j-d6hHm=-<1N1!2C|>nvKyK?u^4a*R;&kn+P+-k; z@{1O$EAkwoSYDbwh$po2OEXwkk?Jf=(5f?%1BmWcewhCjFRAo-a``x$zm8`h7FKle z2xsbquGA)#TUl1^MNcxS@S$hRlaONhLtPphCUk7b5nNl!LM2E$&}cN$I(rd%DJ$m) zCprrw2)6V(n?6NrS{)m){`W=9Xj!a4mkUQ}D^GoBCIneN7-U|ejTY(6qQ7{$n@02i zC{jg}2Ft#^O{4YUMuFPhE-9yG^=I59j$r{-0Z1tR?ZA=B>N^6a*H#EJLImerm`7`s zjDX??o)&w+fjrmOT_rRtO$&v+FrG}*3xEUKa*8_)MKxh*@K0NL8EV-n2;~za9ynuG zcNr+XHI}GBIvWkM5S_g>4;p5_=czsfM-Ban>HVWm(8g!b(b(s$BVOc z!jeD}m~%96YVZEs(Z56yg%ODAm}`AKYUr|Wsn~m2P<>K-Dp>)?T3#s+y{zi9;g{*i zuPUk=OW)VwgR#Ep)6L`DAAvGvMW5_)L&}L`RtTi0m~U`x^+vD}>kD!?FEr>R>c&C9 zDL_E8q3r}Ea8OCLKsawH*E9_RSnPpS9SX?p$D0k8X++6}EHhedTfM+rHbeZqJ<~g# z{0R>woq?^<8p{(bG;yZ4Pd4;yP= zYW8DIeXKR;NItgfYa+xzv0~L>Q{+iN6wqc@=B%SSl&BzTsZ8!MZmVH+Pl775H-!*) z3nZVCf#v{k?BBNEd+Qd5;eyOv_f6woDJ4O3cbo%>x2a?$XH%yvZ#(aiM)L3OdnJgY z3Z2KVCOu}BbvnAMDk^kF@pD-0kiy(99gwDqH(<*^0=9Kmd@5^b;^@(Eq|kfxa9&T0 z^}<;XDtbWephgiv&HGn;H`${|1azP%(+(sJ;Ne8x=yv_y+j_6{_U^m&dw2fhrw8|& z5C8s`_xHFY1vYRSyIu42BNk>Gzo2%%W;{;5`Z!h?e2dX1sKqg7+DL;OPpR_)y6nL3RkXxX_h*4ca`K6 zU^ic&nj@X_$qljwC!-O0NoraG?3Sb-SdEO8A#4lx*}CAFY$ig3YbE5FG8uR_61ifF zWANJPwDL(cU5>SudVxU#*^Fhok>*D>RrF`VF&qlwyVE5!m|#YOq{_%~pF^_>q0*Yl zB;ZGSq>B*ZAZmAEXV8~}OT zBtc(HLp8%$I3TOd<&o9G4(AzonnEGf5E>=I@#WB)C0p!lUHBQAY}Q?`aNJc=u4Q>k zdf`~WgnwFrN(2^@oNGM1-ULMF!?uXDcrbt*K`#^U;2>8*25*Yyz-WPn&fGyC9i+2} zC;74gHuzlEla56imQ199k*`K{YM7$rJBNoI%A9?8O*DRz&7ad2TS}!lXXSJ|%~VXa zlh2vv6ZRSmSv5UZ#M>HTzZpfTR>O-YG;lD7Or^-6rp}F{Di{qrBXoN*8z1a@fH*k$ z7;Uo2wV3mkb|&fNI_BLtmBCAbsPB#?G zImzs`V-ttj0yfK+C{n4zVp!x?UxN3?m#v-&U#!=8r2>r`xCKHaVxAPT!`1ZcKA+N~@WLqy%^NA~#nM zppRCt)zDn+uap^QPQ(D>CaM3WJ?Bi&H|Ow*_JXVxi6YIk)fcQj*?_RGF`VV~CR=h- zB-i=KUp6paM(Z}`pmSMik;x9|ZP5h{pAQe37m)nOR_L3>+E9@Yg8CU@l1}s&dz#PQ z)WhyMd|@sJ06@P1(KkJ-xkXKc#|L%UViEZPq*sYG?BXVHdP>Td(^CUt84~>$YDvka zaIBB5yhQhgypoYJ&JM7=c0>5nR%{26#8+ycZis43bFP zadew1ZAs^Vme^I~IxR`=GiUE*Mh@1g%aOxs<>=wN8c)nDCVfw0+d%Km&y&s|z9R)-m+0=48>2za#1`^m3_I1+H<&_!~ z!>Gg*3F1nfbp>3$rQ!(b_#!Gc{4AcT!1NRcM4ihdyLKyz*y);`yW$Utz4XW&6g9DN zBIJ=w#CqkMq+^+wzz5SQFwPY2hmMQVS!cSL2m`nR(75QxwT931qQ;d#QHZkZTE-o@ zPy_+}$PQ&y9y@}4gz6Clq=V*#Ju(yyC`*9lgKxW1n`eBTUl<)4L2G7{+HR_VtqMM) z+%Qe^u^6mHoQZK1L2UW7xb0dOnjjVCbK7r_uJd}(o2kKu2+ZzY0@)GFw9w3vh7eU2 z_o)n-lSOivzy@39t7kMTS+DWuXpQcJ#}@8JwKdI~sG_xo&_I5bI*E7~Pp!flPn|vS^xSjh6Pr?W(7;V1KPRUSKFeEEE2riLO2iwpo~k>gKI7#R`%w+Q z)$lGNij?iAs`%N4HtyoZPcAW3s*}QQ5Zy$rVCzb_lM2PAbrCffk2=z& zx=ov3YMJSxP%3J5pH0efbY9d%tGKkJ1a>@-`BFOclf{E8K-}y}Ak^4KPm@m=gzT|B zPDA1Fh_f&rre>iwqz@{^$3fzz{Y({FCKuB=IblvzHMYF2(ALt5euY0Dkv8{W+@rS~ zzGGtIXF-?GVzRg3rGN1`(n1jo%x)&85kR1fZw86S>vUWvo%6AN>tCqH5wDW$Xsx;a z&=nsZMD0(*ozX}K1%^*Q;io}chGkU#QUK4|+qGu2c5h8z%V=7(xap%+2&m9qmQ?-c zHIuz~bt_lEgw#9V$}aMRV8S_H5%9u2p-a#V1!LPvboVY|y`y~i9>Xc1r;}Tu(*qMa zg=(##YVT5t(^uxI3Vr(xs{^UJMz}$TyD6O9XII`eKD+mJl11oC`kEFL9oNG(@!k-m zH7>NS3*5Ui%CbB6Y&zoli@&xC+1^e3T^`?wQu&g_onwGo<5~$;sl~FZ>}2MO2wSkOv#HJtf}vIagD{w zY*|jpsc}+sabCH2_={OPPEdQz4XZ#XhTW7GTcSfYX{nf>GPRy@^0~B@kn3L%u#|= z^g%(eQkHKT zEtGtMLg8|#)#Xef?V*wlo;!4xDl+i)`Ujtb6|psg0v<_fjr~{t}6U`OH9gbXI3iWBFpjTf{Gt& zIB@!Ub!}u_<5^T^)fjEoDE1BO9Q-)O9J9J6)~4g?lI+tbrQF?j=SU}5&Q|#C9h-QbYCks|v}Ft(fk5++$W4g79!W$~9S5F- z)G%1!DRU3zTPylq@C!K_8?IElItC-FepF>DQa8#vmoZ&pkP`T|4%b01j+C2;x>7_) zCYQlsDK_ zbb-=*OV9&~l=)+&Os8YRs!t}WU)X-5{0Yku)bTNOS`lOlXWU{8lTizwFW$lq&IkA% z|FH>PaE#uLXy-;n8=p;3_w-p^uofgEywS%DwLJ>Yj`?KTQT|hS`rTM~?%qvZohhW- zSP+=iJ0~dntQ>-1Cg20(KRL3REG_AuscXQzilOB4C>CktP<1hbO7aidM`%vD=k87> zpn+OcCB@8A%Sl>ftGjZ>!*wR%+O3C^iDf}?eKdx9r*XmtA>BO;_=i8t%Axp0h4m!t zMt12HME5d-XJHkEF|gW#RcI{?Q+7jW)UcCv)0oAiB~IC0LxxklST|HxHud9sz~ZgD zvW0Adt|F36kmEp+=vVXID0&;MahO&~;^AhMld=jP)gEWAC{%NlppVm>ZC`9M?b@Nl7lba$@wTsCqpA5G6%CNfmmg;^ z{e~W!n`ji#on+LLTRKYn93e6n7+qW>!xZ|3oVIa`1K1}jFtzeIK`W82gSa!TG3GhI z@%2=;QZ=^nDneRK{x)>(t`a}@4Bw$on@dK-v4T+iwnjs9-A;s{eK$T#)e7diZRC%3 z#k!=Cd+IN>0(ZrmzH~Fzy?49-#h$IwD|KMmOf4)Mde=JSX;ZsUY%c{9wJe4;DW;NQ zhK|!>b?(lKsP|*1RMSolmI%;8){<)h$kE#bcxOisQ|CrBoBSaaC%JrzqqEk2Q!!wK zy}ah|!)0TU@_nb3w9}r}a_n*02+)v}o(x9Ixx!4Dn#gGEvlo>sq2ai&R7_(!akJhO zUuG< zL8EjPVeeFR{5OzdOQw9>Jt(HhzT-k+f)?p}u}ge%mo93B$hI@zfYPNWC8}`s8kl-h zJiQK>s|1-*xA4 z$wCfs@C7|eQI=Plou-UGtYf~F@+YMV8&xR=pP*0$<6Uu>C%nPvrGsC&Xvv@&aTE#UyTJmP5WDHpj@p&xC37Eb^dl+jVUuk-yH<{nSm zFtP~hij@-aCmq!!r16+;2bvpomXtqE5ic8#7S*dM+81#ltA!6Sm_cdKv#ga3xKu$K z^R7A3=7m5GT%lO*fNqr4+>bSk)TXJ6ab+>9#hG|Lna2~1sEeh0u>SD=BT^-Rh@>?w zD02uu12;f!rhKGrJP;C@k{Cp3n0R#VP}e(K$->+t&Tan$R1Ht{!#-F~~EmUT?{Qa5`Abce+6#h2avjgnf$t-fHn<*BvfM_Nx6p+EC z-EZI9#Gp-s{aLYTmxIHa3foV}7E$0kbgg#2%8$nt1bi5bXZmh2eL@FzGQh9A=1DXT zKDZbCIN;ljg@AR3!&_u*2hq6;9ivS{&SaVS$ejmuAx&WOBZ=R;73ixZ0qNWc%5@`5 zlJia{&c_)U{Aig}X)vovsYfP*q}25?S(%cOhW=Xu36$^7vPA88JWkGFp9FD_?n~7w zH2~TU--;WO?a4Kj-0m2;y3|(*QC4>B=Zgb@ZYJc2&op*~r|DE=3yutM8DHgGqNUG# z&>N|B-oE!|NVxJ`Z>QtigXDOylZwp49;h>C6;={s4s|3HQoQ&BRIftY6y#2niceBG zuDeCbUAH6bhI=^AE+nC&U5KwVx$hJXTUtHJEB0bl$-~gCJb25DSF#`-%C?)4sjYYs z%f537j9+g^3Hqv<`jsjReu_Hn1!>`R>cce8OA$e30$-&(9Z%|7N{sS zfoIVX6_4nx=7_{p0hFLKjK$6U&qJugLe(dHK}J%FB|~gwOIW*V)(Zk z70Eof#I9I99;KE!F%;4hu}VHxB$sZYsSOTI&j>&)CLeJT87^0@WJ|EY$zX z9A!8OG>)Ol_Mvju(59&(m!aIu9-5P_4oxn`x^}!Xmc+THyw-pg^j=YUT1NC`)28uS zabjBHKfGyUIz;7~ypJWu>rU;_9Cf2a##m_YFUEgmEefXUppaSkXZtLH<>SQoY(_35GLFyJ6_>sC41cH>0tc1Edy&*}1sYK@!RWkq^-%_xas6%I9B-(k zx{jL_V)7~r-(S^Xk`wUYEUbPRZGu1%4we$0n{1&009+}=9Bb3{t|yZL2$6W)iG%>> zL{yW{ogqik!|#Y0ZADUg2!yuE;qeO>WYUH`3qkU?>CF!ihmDmMd^wbHM z$I!AS>4P#*rzZY-2%Xq5EX?QzonL^KlDDMi_a5Sdmo&BD4Xvy(mPK#goFmIFW9BCACA0C8}gwH$+`te zQpA?yNj1K(LR)7nVVcs(L2+H0g{iq4w69xTNJuubXSgY|+zs$V4xz2}$yHf({ZVvV z11f?!SLh^m3;E2cN2}IAINZZ!h2#R5LrXfP%14!A2H1-n%uKLbZ|>fqU9aoz0dtCe z2Y8$D=?#y$nBt1j_vd;A_P&ymAct@pNhHN zjrWRLEFu|CXY)i=9zW+QHLlhjV9#8xE7Qi$$L4BtQ7Q5vbmSB%JN3u+cq~k!>-8u^ zSOa}><#Z;wk|D|&(>&oe&0ks!gyu#7De|cxY(Li#mPG`RwI9$9 z>}2CZ`(zNtJJYrDypKnTtyx%lp*mvh*T9lBt2>~{G~`%nqFlcq#xIn~_3wgOs<1$p z=%B2@@1d&J-;j85RPRP|0Yz@WMU5+mxQR2pDL8l(T=+$JR^rhG!zOo{@&jm=?37x) zbOxAe6$GVLvtQHv7a;|ChxU}EGCYd+A-}Rbr9Azg0(v z!3_A(2J39mX3um+@7vl{We8?rrPtJil7l;IMW{ z7R%;~P}EGA=c&9=P7GK;!*pvBR2vG1O!!4ANecQxbvVf3(r!xO85l(rQ+ z%;kZojKuF;+-XllR5rlDS_3=%fyJkzY%v~A)==oduqn`U6;M5$%rnBGH9OMG53fbs zZBhXD=ni)C5V4cjZ+8TuiaKMmy55vA$-GGzXjrslQqVDkI)fvU8lLg)moNhMejmc&0$Em>i0? zCl-kuZeG``uNVagk|Ux$*aZrDkLpt?5kMncH}=wUiu&6UiJYmCWM$-pRZ|?g8O-Qy zC8^TK1ScU1`KChB|{zPA* zxe|D`77geL1FA06!xMURH>Vu4Dg}r^=z{L8l;+c3D#;I>e3Z1_Su&LBGgiShLpfWa zl_TjmAGFj&JVe9AYUV0S7PE$I*;-x^F4c+yo~e4xTh7bb*yPtb+Jsh&{I zLl~e=ML)HQ8p9xXo2%QD^{bJJNa>bewK_D0=xutHk zh{h_sU#J)E>ItK}5{1hVT^NyqA&EZC(et8FaBMwU^f7|Vbe^jd#o~0B0L3-Pg#N$C%04WwuhLRzO)fC1gAXCImc9*Ei3Pe94_IlND1&vDn4ogShOJwz zb}+?OBD&z&G-@-@*&R;ApEdzlqtZsyfkcy+!rqG1DEAUl z4nK|1l*gSW?87YHiM`wBasJ|RQr8`Y)jH%g=&LXpW>;0o-)JCs2GgOmTNTxnVOA_1 zTHBeD_SCMg%x4-VwwmdXK4z})HeEmzI=My1#o5GIX+mQhGG0^HwG9gFQu;yP#3$_7 zz#l*cw<^AsRcux2E{_`0m6{a|S2XI@i&k9{CGf)JLW-xNRxL|gF7jP?ij*vMDY@s% zYJ5Se$36+4QKc3A5Z4=@zaD7zE$2_C@GbhvH*t>h3>AAc#`gY91r3iD-PfdrAqJ2> z<=m-a-n^LitR!z^s@u^y!qM=#<({&~jwxhS zTgIBv(EZhdey%P{Q8$=KCm_$0N8OMdI;tu!^(*jPe6|gX-r-YBYpqtxUaq>-z_rBV zwG$4;Td*M3JcE)xRSSS6E-S@1)NpqR3k1pZ!ffINFslDew?>+=fH9?dC-8v^$Fgz) zkuqx~`-+3?#!3!z-mJV`62yghE4o|986;$#+;}-fna5pnVg8v1@o+3JMy|=wzd;-^ zaoP}ii(oo}7$BGgDmYs;mAO_mNy7giJf6-W5JN*aZm%&LvzgPssm6~nH+o*>JP}-4 z8XjL!se^xck>#X=pPWkr6oC*3lj=Kr7lNRAR`IHkPq-)gT^}s%dL{gPrQd*oui=_O z2I}~6#i5wW`hx0$as&@Wv@Sz*<&9Z}>=u<_SiX?f>B~5of6BSi~iMs2-(|pB^ zp*+O*wKs?BY!8Jc=!$D5e2v$07USFiHXOdj**MLO;aIB)l1pMK%)vMtVAMZAf?Sj# zO%pT}>3BCb+KpN6ROy?^EXkAEN9a7}Z&7s)Q(&4;M;ZfC<&B&SgLOW|IuzXd zU3mX0)SxIx6CD7_+ILjtMzGPUZNFpc_+mx>rm-W8Gv?q|LLw_i2W1YgS3x3+RjEOY z=N=KYEP$zusB#iu_XBTPW8tOC+8IXCH7M(F>7~6o!~mUDosyBc z=r?vusSKRpTtILO;ki5>DWSNxoY@V{r6)5Hk$0;)i21~|3g!LN_J|-xl#L$rkmSxP zbYR{JN1-@+E46?z45}KaFnKPkS{uEps()!NUixP;^t`pN(UcAOq8jrTy2~>KS30r~ zt5LC%wMG>zU1Cyes=^KUi)(3@)oJUn<4HLOTj2~v@7kcHEG41PVuC zu0?faepYBADo+j-g99k@pR4b=O`sH9unNJuF|L3s2~$1_>--vaV+=}mgt-FE`L{J{ z9$t@viB2Ujzw&s44zEJI=4$$+pbjdaxpItF#p=*vWtu)HEJw8t%{b`=>GEqDjJK{D zE3B1#2x2xgO^R@iKk>e#IvyvL=5)Ly&V<9~89X+2i$d6lJg|1uHO}R_Oup2)@*tsg=KJZ}QyE}wvMYvO zDRYqU$$H=>mv>6T}zI@H<38Eeqm+tcTFmhQJ&drozVeFk=!P3Di4V~@>?kg-V3Z%WV`^cu> zcyM*$n+-2ripT?uL_eRxJ{B5ck1~4KOZ>lKgZ{C*WP$wHZSmq;+3vHdRY}#p6h{iW zu%NEVgVoc9i*~$>L1jx2BfH;(kzIq4*V?8n&GiR7M01y#|2EvfGgTWgyOzx;)Bj?@$fBZB5K0@KvyYS5ve4i6QbZ8e zS$wH(o&n0c-f^W?b9|==NU)i7V6#KfnQdfDTS9;u^Z?L{AJSyFW?4=gePIj| z;^rMc(ws9T-vK?Pe|G z=d2MIi1A0fsgB%}ksB3ZvSVOGF?v&M?&;Lg^tdc6YQFYvY+|VHIM;fHd^T06meN~3 zSEO1LeN2iRFtZ$`p7}8BqfMea%cT6ZU))mDi8lLZ9@R@KXbRnQsp#8Z-oDV)+1zHtqk^W| zFN_VpYblRW#wNYruJ{l(*MnR)O2TVe3hZmq;cE`M#SHMRs~{BDB8v z?SHXDJ4GOR9~DYPQ4hqLo_pi6t?G3=J4@znB~BH7ea9;58=qf@%mIckl?{C1W7g3Z zLO(@0zu*CG{K$BqzqUk^!Yhye;rNvtx3Tn;|It_*6|*ShECHmKWf{Yk6#Q3V40J2g zi~Ws}&H31Qxn)oP3al$*Be1iK@tEwg)ocSsbqSajoCRjj_tHUPbmd%njF<;RlXi7h z29Mdt=_FDoyu8`|-Aa2!)9vTJ< z3*%^>JiuD` z4mQG^csfn!RGW9he61RoXURoBnU&(rZ9A?)9db)g7tMJHeivvSOavB~;h7&Tnxz_R zF_e%T3fbYu z-MfBdySb>uJ3k^V@eVdag0or*O3q|5blah*Frpy@-X3{bB55G4+~y!}s!4pID%Ia| zzJ-%r+Uo~LuR7`F7I!^F9GuWyyH(WX=d|URLl$Q8*E2_ zq-*dm>|;0)cgL0Z87`RzFVg!8W9@r}_$W7KrAXas4H`s>JmeD%-$ZMB2rMb z2Nsd&o18Pc*-XbhM#HT7?bs*WL!R?;3t+*HLe+cb6Ky>y+A=tgvUF6~RGc^^7W8sm z_(1l8+n6imzT@vLSb^dwnCb%t9KWBM;VD!bhA$b9(`lX-jt0#9yI2J&Ea166&BycP zqK-9)jJDriLOE=D>?Dh2R~+Bk0fR%gFwXIAri*lrQnkKbTm{QWG}$RgXljmm2z`#x z89?7BFu5r1OUeN2fM|cqXl_-*hII#r%}EID=a92{^9BEz;Qj=JD4VAhyiT-G9cG+DcOYY6yrWlU}J1a-! z(A}qo?B%CHGJiM^fGt@U0krt4Z+Z%IGb=GHVe#8c6-F~0Wk@|p>NuYzi5Y1;=sJ#o z=?Bp@;#=&wcdU$4+wcGVzy2?-D$g)<3|9krl?>d+38z?#j1Hv1YDLEww|t08E{ld4 zl%>lUu5d--HL6@=OgA_sa|*9W;!M7OOKBA$d0j;$qUI)Oe^a+JP@DI3d+X4I<%Dv& zvrQXrBRYK0()FPx^cJLXeNVKyouJXso^i9F-grwmptU2`Un} zo(L=JV=AD#T3p(SyA#kZ-#SiuOTG>sge3@>>1hC)|p zz-FA{TLh_Rc)BHzuW~UgQS_ixVeYHQU*k>)^YIodgQkZITEp+vR%a{BX@FZ!GpZ5n zoIiy$F*uyirZbXQ0w_Q_q!ATOsG~Hr30@-Rpo!!|67clPkt}FxbC1ukjAEj-l8?~3TxL!x>d5fU{77SUiuDnWdo&#r(afN#M50ntY>k@!&h@~vog zJb}6UQ*cdG8bUU$t+uS3u1X_V(_xsgG|U;3UV&G%MPsx>rG3SNY83QDSEsNV*#ty@ zFgCk$d5E}2nsquKN0;6d)FFzhp_RO3G@E8{a%MrOfEo=w0K9EbPi?QfEi#v!(=ZvQ zeN@cjmZ~f3!?;MU80*xVyRB9M#Nb5Z>gZo&Z*oquKKp&!0F~W~KV3TR*$c5>fFx+^-m0 zq)ouwNTrv(bZ7H8Agocuw{dQ@Lr!$EZa|bh;l8O(4~Hq+0g&#wT$e&Q#L9jWY3J-A z`Jo^~Y_~o`70Xz`an5FTal){Cgq>|@r0{*b38WLqzR2ur3wcZTja`a}U-ZJ*IJl_zal^L3E z{~g(OzA*%0U>`rK-Z|`9e%zDt>X=QcBM+mRR@~BQ3C9}4A%t`bblYz_k@po9Bho%f zrGAc5UB`U z9Bf(F>@6J&t~`pV{t8QBwb62gq4)-qWdV#*bESitt3aifL_ubf(^P1Gnf>_2V7M-h zVQ8dA#OJE1QfZ_vCzISC&v+~Jiq$lvKtj|V;jUTNIa;|>xc2s6Ox2eV>ab&Ai9a0G zaZP`?3U4@fG94C%SNJ7X06C;{8@NG1#o~NL!ALMJz1!pLN@Gnq#M)8?+Yk#;s__ z`hQ)ktx9y04O|D`l-fETpJg+U1uj?&Mny78d>82?K|!0<4S2mU)KA)IwT+@4Tl=iP z&OWF^LIPFA*E)Gyq94c;0&=Pt&=Wk<)r@efnx&{`Kl86=QVt~_IH)TA73O`eF5{%kt#2%zJ1%g9hhO%(MHff$}sm&(cgbRnk1KU3~HZiI=paG z<-;ip=Og2<&Nc^nQq1e^dglajxi1 z{ar5`^{kqs6`dprsX%&*DW17fAC~jP_KJY7?d&W z5sz?}V#R?y@T88B(FYY}@(G$Rtu?pNST=vBWc@FL5f9RrCgSn0vNXPBx->bS&9ciI z;hQ>J>=!LVzGc0~)l>%LDQnNG=C1$;kto+~;kG})?z&GW=4P7;y5fi}B?JX!6g;>J zf7jPtXU~DD*`Z9XbE&RT@c~Zs8L6XE{nFX()*bNK(D9N*hnW4ZyQIh_!5=kJXv~v2c+g!vG>x+2>2{g<7yLdstTn4Orj}>4vC%= z&5{MCg$f+aKNVaM<-Wu2mtM|jwS6$MB}2?JCao)l_rUa2%?)0=ju~CLQ@}Ad2tYXs z7W?Red;h*8B!}iwDEW8|h($qnq%8bpC@)38hAD?n$n-`b2R*z}4RqBlx#1f`4{k%b zmSyyLB3$yj`WkjyHz)ojvm?qpbo;#TatjA#5WC?F?V2Bt!??@DR;u6sJlDz-B+MU|(bf9XNVSopB%iJH0-HNDY9rIW$qWUzdS zfEWP6KM^%T<5zhE`G7W_iH+5chpMBLAaK~|)h9}F5`ttq8_(?mdnFEQ-VQS&#At=q zxUEeMc4LLwH0z0nExv_$^xCSD0Lt)6@oV9}`Bcu2dm31eBZXq6TWhckRen%T^UTed z9<_@HAO3TZ&6Dfw7~u}Gm|xaEBFoq5lB(|dUBa2Y8M=o<(tG#bOoqv)3Jz6pn=T`Y z<=z*B)ndSJFTax;)d)+%dY2U!B})f1OuXo_>}%2axHv^C#&rl%7-VfLFQ3guHG3z$ z?2-u`X*w)Qk%(Ngkx>d#O5L$r$L=sK8%vel4ks$Ntz#!T)C|}Y8+AGAsA`f&{VR6Z zBR>b@zJj|R)F|{oTUDVwbUbb6=2AB1qOTP>Y>e^X)D?PUXg4S238ozX`206J+T{AT zzLZ^c6L@y2)H)q2w=!xXi3jJ(^(a%H&|?vA3N(O0L24mY4kE&U-*mF3iSYRJVCbU* z@f5EJ8)|=yEp^-y3X|H}MOm~@;qzBW`PO(OdyKbE9E0MiG{&JqXzZm6g5wXEdvA1f z19jiHe$CIb89LSui~1(Zmh;6rl;2#eqpzFdH*K%cSL2ksh3Gq~%-vMtzy;^l;dD&a z6N-LQH<#-)WEpLj2n!VI+HwZn+!l3>gJN`&+&FQZp3;grJ*}C`*YC@i31-pr-oR+W ztE}jOQH?yya{_f+^v4+M2@v_GsO^`GO3>3O#}h#;&4E)|x@`pR%qeq&kU=6|B|~#F z82Wjd(KCy9dGHH&5Iq^v^%4+MuMns9qmKD*ah9pdeN(Z%{7jEErMnyVO!PzU(iQVB zi`XM1+5w8%AdNe&Lw-XCKl1`q(>oegT6LhVw+PsKe~=iFY}w_WRaJ8-W-xqDWq6#8 zfr=o4>h_i4!hD2rD16J!H{B;Gri(roI1$(ve)!>s$hxi2t_e%QS|0)CNrK1L$(bDW z+ZS0r*G|^*a6D0Ikm$%IGn>MHT*(?9e@X{yc-P5fn0`#@43u9o*G2o;9FMj}&$8V5 zbV?6N+-JvQ_IkdG&<9MW)`3Ly6ZC3?uNTY(Xh&0&QSPLpJEd;K%Q)6_dc`OI8MV5+8`$n0Ij%jyR zmS3&_n3jGzWMe}*>Dh1`b!ZVensJs*b3!1z5Sj0C5hpwvW<0dNCelJYzcOG)`5Y=k zKFNvop^jslEs-lR42SUTOpR7i`=66buku5+fLJgxH(<^M9S2ip>^krz>3l6W$LAg3NjzCwwfz4Iw36e5#SU1Bj_(UyfVfq@kQ${W428Q!nFjCoO77dq(X9D=i_ z-ki_yZi#HdHu3Obw`Bl$d-S|0Q#*%hZ*)@6#>+N`g6>D;k!a|qygxY{IM=U2=SP#Kp_fU{?%%z; z_j?|`iT+*#;hJoEe432r1Z9DHPIDRkm1VEcRfR$f6HWkjIw-W6hNfYLTNzNb>VL+> z7sd&Qle(HmuOd2GrTlOaW?O@@nl_{UVy@4kU`Q+?pu{J@o=JIx1ipf~<*T?q{BjZ) zJzb!QH)xXr(oDd5hd#Pz$<61-4imWEv8!$wUs`CWgw1sPJ2~@#t-=SZq>{PJCW^b@ zFK2YE*!SA8i6*`{E? zz($B{6MSXZEymB*bDfZEmQ;A#=#nuAFB`Xx1Gjc}hh0*?zta5jUPw7aivWKaAqK{? zE0m5jRgUVthx@&T;U7axqafn{+eH&4$>gK!Ie}>Rb01UcO<_jQi?AOIc-R$tNNg$wO|l$r!QF(6BRw=YWE9k zO&uEuMFT=%Mfa^pZ~7?_8!MTTrD#q{CdDs#Gme@+*2(B22d$`w#H^>!TD#}+bQ~H> zyja}3NGC6$=AKqB<;M4lqwAnFm%GQFVe`sSYiJZpL)1t?`i%5vO1B2NRQQ{8uFgr% za`t8e?$`v2$<2X#(^G2roX>}XDCu;aLZ^^U5D%2nnNl?x!37}kpLs)ko|ySDZ!|}0 zEbK%{XY5&G@SZ*S(n&TIj@X!fo3E=Sqt$IK2sjdm<28~_Jn5e*d7$C&k7?1ddwc6h zfu~aGFJ6@kJu1uL^T!8H)q^Y^qcOI$Zk@pvV_#DK>KbfdE`MdktVgK;7tpO*m+Ije zU?A1dC3RMRh7LZMO?Or5q}&!TSQDFB@z`}U>RAS^rvd@UNZx@8QTJ)$Jq=XUrUVB6 z6CUD3N+O%o^IsT9i3pZ}>w%?ngGE87B(UO*X|FC^WMCCx3Q}Y~ViBglVJbFtmWSK6 z+{pWjbUb`SM6F)6;&@FG)XfMj(t4f%gAH=II9JzMDqB?F#Bbg#yfcT#NoW(q}o_ zOjK7)xum*fk?}&aE)}MfDmLSnv-BfyU^05J8&Q!9=pk3xWo#%sZkJ(L^gi#6W?NL7 zZ|L0i_YR&Xv>%#gID#krJ-FphV}XU#Yv7?lF3F$l(}8d3lgC|pOvl3IIht(xffA$i z6I-0Jd=9@ua?Trnp3AtqJies7=*fZ(pux@cnl!H|xc(C5y1KQ-IwZyuQqbA8TVPcw zy}-$9_+71KARK9n2W|!7rVhl_9y$n;8y>6G6=&+A7n(WOv!G1XQ686C?hSmTPan_l z$L7W=1i|uf-NobO@>WxpS3Ty1PX}5IGpX%+wi}kO#EJI*5mcJ`0z(yyp8hYW5IR}( z^T8~g&db+mNYDAbgmBjy&2*D@8SA|YsCYa95psTFFZlIkp^{r#tMx|a7S>8yYH}HR zDm-{avY?<+2~`omVp&}Eid97Sw-%O9A&#=y5^wVkVo#n5MI4R`{^tpwdXZJ#%0Tbx z9Knefe#q0$Oa4WQ10jZx)h0KPQEGSYn3L_{Mc``EU)VN%A zSgIK)P3}cwI{mSrxC@G=;IcVZ$mO;EK(<)}z&%40uw6 z#AdF|6`VapkPEC&5kx~cG0Bc#IfvKU1sf)=CIiBBjc_F{;=711*ie`OHmTx9P^{YF zr@a+H*{Bd+H&nT=o9g*uBKm2S^IL^RiY^+uDdD8SiZ?c}5EYf@a43gnLQop-i1Bj$ndwQ6-HvB83xpKfw!pTyN~}m!u#+i>6mRH0Cisq; zy|RgI66(Ou{UX@7}DMeRG%>PARtf=u2E3kljjJh8B zUDrpGTxZFVSa9W6>YWlvA1V@K^==bsI{X~^qoX9evJJJJgxEF`NDvK}R4o*!d$`;c z;9NY$Q9_#4+|N>PL4g}SV}+cJq%_rRPGKH7Jd(sOt2tQhj!YJOLz)MgS)Qbcy07RZ z#-GpYo;fWr*bkz1>2?!D2?!D=6wJM7?RS z(nP`wS<${-YhE!-W~;jL#;s!1Oqtjl#+3%qE$t8OjWu;j#im#VcW?C6Z+T>|H@y}i zCq3Y|kaE(=A(^fu<>4(=uos^LK+_4xa%S9Lkk^RT&9^X|kvmX)c7{jQR7^>a74ycy zOl9{bQ`v1{n}K=k0tXuBsYA$hkjwh#G=EJn?$ZkRYNNSUOiCBVflKLn0@EX9@_w8< zmkQexMsyfb9-G0F`uftC2%V0`>bMR2ETz_&$rfsQM{j6=VA%V3`GbyV#s`r!S?rmc zD0;Aa_xPqVrxHBnIHmhxqA34ia?o!b603SFeej3;W3& zKG@KV;YF5X)B`KHK#5mWzU~Sd%$C7Qd6YN`lc27_qCTTi>HVwD9i^u^vdJ>gJo5^~ zy%Gx@w%)nRdyQ&YGgy-?=De>)91Ef5xxNQ1&lP6jrAKKDheJ?5PSMrB3Ud@W6`JzveH)K!Lv9=!7&@-KPqbJijVi7}|;L>rj#dn%AOpD&iv()cH zIa-m`gQ3OHs~stSu;zMnX!fQ?aB#iIE)`O!l5>~Iu~jyk)emH{D0eG>zF1=a#+X&z z?CWz5LuVXSitVHBQ8#}he-Y&dm_Nx)qWC1)m2?;tB~F*mUKVtNG^)2{lW4gahBT`nb5*cfaHmX=pz{fE`$Ew}NCJjqm&ZRsh57eEjq{BCbhK9G@!k*-9NJW<+I^#AO zJ_cbG=4Syd3T(FoGwg)3JkHWJZMi>1ZA+TdoLyBo?KR!h$8IY=<-LZrmpNsRpssAT z{mIuvUBlq(wd^f_@&_qStLC?E&g-x$`Y!KKAR;gN|EO0hPeU|Cb1>hBopf0k9))(WU6LzG2_go_%j-T6TEiNojmc$c zZO@a-dT{8q)~B?j(R~ElPiQ^=u;hO?-fi; zsBrB?!z`iTCww|6$pQ}TJ%pG%&EMPA~hBH7XbiD}ZyPf{8R!}%edM!kB^U>Yk1S*wvPW`l&MReY#Aaja{B1)7eoqJ(ai zvWQXSsM&nwnfd5knlJel1k+-ar*cE$tD-1by!BAEiqg7rbc(26b-}d>CIonyDv}~p z$Uar^XHHiic4w{L@pw*y2VLy^TXeeKEI{M)Z@ffFG9+OR*M@K> z3{Q$%SW^lLOo#sGz+!{6M~lrsgp^QSIS&)JCTQYX&58aZDby-p7!9SYGP+pgb3zY& z3X>`55X}?7gy8AlS~2L1-pzPPnMlaBi)^?UCqirDxBwVDz$d_VMbYf81-vw4I{grO zR))dqkE@XrG0t4p7eY*Zsl32Smc~}u0S(4!X-deazCcuPY0ZT%E6^gx`G^9$Qly44u-s!YW0J(m8mXg<&$<6Jx@$`EG#9!cS;Pu|=y)zh_nj6+!vUsbCWySF% z`6?VO&{^r8ON>&YT0g3f_Ly~vcTH(EuiQ>RO=WPF$$=8;kVyC~2j>8sCR1xaY+0q2 z>ma;D%cBiDb1K!V7=H6447E+GIOpuSf4oKQT{>e|5R#wJDeXAdy>gCj{Hy(BateWc zBDZL#_)6X|uo*q(Xx}+TD|HR>#e3l?J*Pmh%07s0A9x96t}65o;1taXuOvsnqx;Z| zGT(i*A6x*;Yq$<30c6v>2!$wfl8U}NxMR9HOm~9a>$W2iPn%eXWp?;vJWi*1>IJJ7 z6BlH(@SjFPKUO9!?c;fJA->_ors@jjdZQ6mwU$N)Ej0%oNe*m^w~Wr`I-ny-Br^<= zljsQSuIe>7PM=rkpA+_`O8S=vdd#56&ikqvLm!?@YDw|ru9bBC#d0LB{>c92w7Wrw!d-Kk&$5+i)u;E`e-zI>4@ICP#-POE>&j1H>V z)fp--lMnt6^12c|^vCRhe`oi&zz_nH=IpKBcIw3H7<=J@efO!zXT6|uVjMy-dz*62 zIxDnX0OStnX5Y5G5bs`opBeL*JS+HznG}6hF%`>QaT@BoraKdqaL+G%v_4}cd@B^e z^VU*FT@3pbJhjNoV_2tQNUCHP(>Yz$E*Vh#RLX(s1s*Ml*il^Tftzr@i|eFkioGQq zvz{lHYq^Xk1X~|S7-#2r=OLc1|8Uicj^`|PGFy~VOm=lnSI1=Uqa=s^QRo?k?iZm` zkQ@M+bQ|omLbtTcqj3U+NjX+wDhBGpEBMGG3mLF#M}4Y+`~YIB%?n^KM8#G z3h`9xLinoIUIy2A=-QaVe(j#wDAPr*s_R)<+hfUknYw3AwzgGcOLhQ6A(B5=@QC;u`_+F@sH~9X0qv^!e+-QtadkY^tn9l#wU4mvRn;Ve`Ub&YsuSfsp-O2yMpe$YD%|OQNvq!SYd2+wwhCN%mN2i_s21l zZTMSt0G!$86{bYWO}9;UH%_3r*>u(GOud^S>|`;eqV+GSP9>2sKw)G%zBX2Ups;rQ zWr<_LODjFz3|-|AJLsC`<_;-*A$k`Q16C8L_kseoF`l^iDrd`}BN4@5(8;h9`pUPa znf34;EF`ANa5P=1(<6kdp<&0r;#Qtp%A#SKvntB*QI+m#AJbU5j5$}?GX0< zp5?l^Ik9bUl4s8k48pbcCmtm!x`g|^Wcm8nDj8S>7JV%l+uu;iSB;2`ebwE$+_o+i zwv`f*T4I%MXb!Z#MD!;DF4PHiIoYrVRo#tp!GkaAxusW(Zw9tLdL?eLW9JklkqE8- zk*u9Z_LVWdr~)$9EazUB>u(k2hWAKc$L(O@>ZXqpZlRo43lCv6R6g02%hwrFF(j0? z9>SzRAfzffB$xub#H+-e8%Xnh8})#6kH#Cs*+5dBa1{DNHFk<_hqm)@GK*v7>B%1j zRy@3@R-S98ODmAl#%h!Aa{I~>A732doj|5lb16NI@587KE2|?nZQDkRis#y20>{Kw z=*N!MC-p>eZ~r!xyD*eRMUwh%EqXwH6f*cGn&=!|_a+$wmAk%JPTb_>73al@lTR^T zx=8meQ46wxg7Zb7bBLv8HOK*d+kP)rMo8MJ0y$Wn?#BuDV_uCq+vI-GjL;83Y455BVCcXKtLaeLB^T2YITVBwH$UNrs z%J3T0;niacCVzah`0C$Wy6UOX;*F<*mlq54Pad19Nhp@~MTmlEQ@Ew16mQG8z~_XR zVYT=*AYq32`ApAVU=~wmGdFsa-_yUbY~yZ8)@(* z$7wD24pVupFql%KjxJScJWl_aDCZy(1E2Jv);(gW`sXI>ZTP$ zU*A$E{A!((T)7B#ofvjD|e};fzD*b1_V)GRng)cLF3dsq2~i z8G~xn%?!HTYeZk7lcN_epPZh&dHLiOyw&|FhSkYA9v{DYa`akd+=mUPAxFOIcoAD3 zh|6&(nmQj4bYamEcPd9&^n5iJa@)4Xl1JI_N?AADAU}#-56)7->)fBOg2#Dq=EC7Q ztIfQjkmkijPk#EA)X6Y<=!tZeeoW*s8IKxx4y`^pY$}db(1lP;?|V7T;=3G`BC^AL%C_+XZf@xy1r-&E3|+8#@(C?#(y036B8)Vsl3q6U`aFj$l(q6@@Q>5Ls2)E6~Vqn zHrZJ+P0*!@V}7P{inu{3^Vt8>>c+`_MVQdfMsM)hO_R`&grkCW) zs>fjk&4uGzd^{c}XYn{%LnQ_GdMz62p_0zUyrDo#>p9P^S!LvzU({-dTis*wjm?p8 zb2T$)bT-667{`6UAQ~bZie5U=OQ>gS!FXXPBIm%#(9O#i>Q?2H){ly0MyBses5fu4 z1U^EBr`(7+Rflg5l8<$Ux9=sknL#!hlH6dHx~{|mc{t=QD6$OzLhFwcV8&<35amw# zmQ3;m^#O5c!Z9!SR&$^p6I)w~Aw$Q>{2s*-jfPYYN5WN+j?Kg%yMLajd)3vw9wt6F&QQ! zzUjmrH8Y|WWY!V4dG8#?Q%j^?&a!cKworf~AoOU2vDTn?!C;qsO6SZlQBlWF(3>_# zEy9zhs4AYbsMDT@EJ~Bsd!)3``2l?Wi4W(nh8jQIy&rXqXyj|cp(tj5o4$7r22z^1 zeZ#vBS#b?CaBAyu9hqheC)D*3&UkJSO)X383tnBCEpp?tkPNl6U2bl!Twn<7sD@}( zyQQgd%~0bSQLN!&I!*`Ztr}uE#9}Kl8!Ub4@~)d6)TI3H*wLyrnBh)B_XR2pD47zm z^1jQwxNGMa&p#>!D^HhNKffKmD)h+4IMn?q1ToT#9PYSe9a_&5tQIv=)FB{b!i$$T zQl9RdcY#NNsmdYiC~UMMI;xteNGtDi9D!~E9epQPf&5xqcb*r zC;;sMB!D|66ak*5Bj^4(1I$GCmOe3ePKV^M@cc5N$mzUO^%Fk)Hbl(o;jr|g`sH~F zsD=()Nis|n95}Dk6YUX-dzr(->a!pcrKr!L*ca*>^=lQEyJS4)UC{LjE%EH6X1|+5 z=kCcAfq59sbe|SCw%dfj6*!R@ITJu;dcwm0~j_{soHUIaC%I(;d8W z7pWWhRs}q$9M1CkK2+s4JHOl4cPp@CK3CqZ@GIo(iW%Hp&@*dQoJP`?RXpq=Osa%V z6MYHBMm(vL-WxEFws;#ktB$%Rx>A_*CZrsp;kiD{!e7PmOO<#G@%0u<2f@BiIYz+M)lgecQw9zcD*CGKY8J- zE8c6{l3vNbV^0-Rz8^@kYQI?`2gKdXR$Uv{LN_y(YL%D}Y*klCRn}gobJF2CLJmXs zyw)h?!H6lsa~z6g@*|D5P(jigr+s8fn7snVfJ9`)x?G;Ks+kyPd;Fk5(E%<~UhkF033@u6$D_3~;q+iiT5u5rQsc`q%5L zq6Rl~w-tP?zCqd$wMQ#t_80d56U>lg7P zK4a%|Tu@_Vpspg|B(hmDlmLrGUKi7ZE1NHAVfCVuV3(!q^yZ)XVs)?h#!9feQO6j_ znf!?$goW%({5H1(F__e>!Hm>B7RckRioOxPdVmgY-M+0>le8iPqLB)DTsTwfvTm!s zyO1!oh;YQ6nT zT99!%j4?zb2-zS|;)!*)TdEhRy9AsZe9$h4*weN*;l*o_>KX*aO0E5X`;wjb25(Ok zRs#g&q0*G<`?V%0;n7m&OOwI|hajA9E1_SHI`3P!ZLz2zFw>2D>R^pkRS=IY4Xui; zHQcqgb&(xSqL*h&vV4ZNzZs?Fm1kBp7`_^M7BHpaHnHR)wO6c^T#QoU*Ng4ig-cr; zfkGxKKPb&GL3;xqzLzRcCn$yEcjHaCUyD&j1P?~|)vjU{TO|$#P3n^Kk9?iYDig2m zstt#}eaDGkG7N7f@$8DUi=|fLqu6#XSCy5aW@JMtMSPPI87fmMMNGiIh-@HYV78 zdkw4~c}G-Nsya|Hmf==&|7j)stL_DyQklCev0&J&)cKDx2J`#&j&}ESWz|C&}?-l!+7S zO@vy_q$-N);2O|rAjD9zg@@abChzMHu=W=h6a3Vu32n!W9NU1S6rHGRXgD9_!Qc*P zBtYj~d}Y|+$*;i1Jw>qvkeEs#Ynsm+4ugH@aFHXF?GOFcPNVZgMMs%Kj$;xze( z4(h6mQUb@dX#j?;g!wl3%1oOlTq(@oD8qbAC;f(iHB$a9=-1-Jb*3+v5&s_Oo&3;f z%AvA#vx$;b+T2R75PuB&{2(5)A=Xy>kpcy3%coPPDlxvgSa}ZA<6~j(yiSWY z6qeVfx)Wk9PpU$7LQ0t>BM^L0+!6X9TXRAGBzCZ`mX2A|rUDs=8AnzJ(Ic7S@mRh| z!*m&~QHarnF0#EGK7zc0XSxCOWR5PL*6gIq@)&7~u^}9#oDHaeQ`7`=N6ZZ2suuX? z8VxtBIWe@j3N>m0#TlL)nA#|hujsxS`1T+=oGVk!6lV2fGUn?tt=k2VQVsytw2MU8 z!!ZhCqU)NIrA%Eqi-_%Hgumx>IzCqS$!aW;xmvojRF_7`{4oD5hTX8xd+M+kS%p8U z75f+Ei}v%I=SQ!PUpyC=%%ziOj2fsl43&BP;$_2~0fjccA3M%}Q-==0dj*)>i@gC* zO=FzHdm%{_<%lgLqu$dee>*-p6ldy43$D5^wY0*%%wr%L;!deyHrhRA{~tu_BoV8Q z>w&J!1uz8Cb<=KZjM11$3ZAPEyc9c;J(c}EI_M64(+7`^Aax<8Mhd+Gta1|YK3G4jpVB5)r7b{Q z*4Hbx;~+sX=o&^=)jh7~t2aP&109~k-%2I8zW=w{dXE9CbXeMK3lMK5D|jstgSKJs}7wG5+U(vO_YlrHkvhbQLQF4 zI_7M*<8#l>2W`vDalHWv_m(DjESr%$P7FU?M)g$XGjJhD(z@%_%TB^v_UCl$Uq_Xj z1ojlHDq7LXES{VtKIrrj1w0zM_IvL*oboxIM29D@Bjs&J+8eqD?3S_?0_yaH zrIrT6;HYy$f;vH>EqkZ zd#!p38iLHw+fEieH08yS+WAzB3B`_9lOTu3GX@quJPpqkDRkqxKCz_~PXRz(B&nL1 zYXDuuB5GA1(e_((EM&>0%Hmr_;yjSvrpn;b(L>o}S131U-%DXLLBZir8`j1Mnyvrl)wf@+=#x7yk1sMZK`j z@hm!u^W^jxE%DUpqhtCqjE>G}8K3@so=i^h(u z*ZBKWH|_b)e?4-m{;Oa2>vTR&bn(}2+8b!nRQ)D;jIP=0(5davDH`%mUuJkq;NxRR z$Gbd86$L+|$7u|>g+mCxq9+&GKT>`|v5RRoL3JO$1CPxtzx#Un2(O*xZ!giRKAE#} z^vS0=P)f}IX&(JDi>K$wMZ&p%nd!gkE9b@UnAuJ<&hqi&lT${F(-%|al?dM+QNrt4 zG37NpXyVh!B7xsW_|97|q(&gTWM|kg^cjCg{{x1`APT=kPqQD@ zjpOOFc=jRsPkO$JholsIm7GBefOpJBBIx(440 zAe<+UBb|Es5((#mCyO!yJ%Sk>o|+Mg-p~LUG~-{ZZP*iJw|9bognokX$|IX(X- z=izTS5q~o?0l!X&h183`(+;fuFjYWTLxo+#)0ZIP>G^ak?37ekY{@CsEh|>6j{sr( z$JG)&fkhEL!Bv3pA!IH@8)a1&+SJ7qy$qD&eQs|*JVqS;zSG_>>9I=h?3Z*+rFZvB z;8W=v`z0NdJD=JCH0ft|gz-AkptB721addY-43$@^7u&Qp%8hr9S~_geac~so*qR< z=xy(y^2-EoC!Y{rx(S0wukxcoG=N|5g9N<66)eY#J|vtBh>E)9kWvoP3s^GG7Z-hK z_xUgy5`B82eL;AYK1+~k@|M=i5jwS800(t6(y>6?3~8kMqkfon#u3`}V42b36If^e zJ+|b>jKVnL)}ebBu+Lg>fH0YkT||ar>vH0g&h-Ha8LnPi2?&J>nh2=u#05Q%UXbD9 zi2s_ZGxe^E>UXEG{-_(zP|AsEEz2%XBjv7h`X=s`ewZ*P4FJfhfkBqd1yaQfP84Y9)BimLV6rX{|CdXHoiaIF2tOc*5fx zn7+daKs`?5$?2~!HQCwtYI>eWzm6A|(IM>U$nC%%cw8it6eX$I1w1|`z{TR%cD z(eMj{g+JhNvACcoJn}p~{VhJHU+|d6AMgo}WO7EC;cxWlJWfC4ix2R6{sFRO)9fM} zW%MI@G>gwKQu>3BbPPNb{*4|j&Qz=L10Lt;5T7t^@dP$5=+9w4o8fiEur+hcjr%co?CiXc49|y)7?M9+;BWJQk@=7$^aJt!0&wBKudc4(_Y}Dq{1g3W z9K)~0BuRm#zli>pFFr*_SJPRV!D5`kE_8G?1Nbrf6%d2R=o6R#my|=&4gW?@K)lGNP(S{Neo3;~8FmbRM8AyVGni%s z7Jo*+;3=&E{XxbEIPIAJ!XrsO;1eE;e~>W{e?Se3*~Q`mR=k)kqF*5^{Fmb6Y%!)k z_*hJ`4FBR|KBG*)&HtM8XCM{fpXk>VRvmPfeniI?fZ|A_0Lw07!Zw)h;|UCOiY&x` zr;~FWS^UO0&b-LW_TNb@BustKH-r}fp4QfKx;4h3wjdSjc2Ea_#@VDkMIYkW*OquDeP`J9+rm>1N&8?EPjlhr7$or z$Fm{r2k@Aj5&fZG(KF03gHd}1Vg=yIT7nA77rI{(6C9_3H&ZUdH2#E8r>;`UQ{0=@AGO zzs3vv4G^8jXF041`T>s&$T;EA%kv4y26;S27CM`E~peA0MD*e8S@*9pe)pK=S7F z2Sl0i;%q^GBB+I`fIs+1)g$dEIB4(}$^ZidbpAYgJ;K82?0hkg>2LG~F%Ri8{s5^b z#sAXi_ZU@qFsF0=9sO4d|A&PChPL|gKY>!5{INi741DN&LXNlj7a0PSDITLhLr);> zlYhWmSQAG$X|Y(u@Qr(;O4gFs9o&`NAC=*l3ZChf0C@7;@CbsXD2I zMO8W0@K&V1kL+b{tQXwpNHedJv*gpXULy3mRp5l6?YT-|G`GM_vdJUWkTvzHeNWOF$Zr$=d3hl(kQB(9SFa)v^2R z8`pJEq&yF#Obg-e&>`L!Hf8V zKFK@Pmr*#rx?(re4&e5r^uipJ4$L9{{o>B0Mg`Rv68R8P2uE`d2Q(}?yu^}~6~vb7 z)vVQ}|E*+k@yQ zAQ_(?@BI8TzoOUYrzh=po8s!zVc#GO0}li`a_>Wd#oa?!l#SYWd<1P^C<6S#K>Q3q zJcJpHe)Z+_gcM>b?ZeDxZE_kM8V6VOzCN4q7*ZSc6TNkh&r^oah ziw@2`uUs`gbpgDbs+qbf+(COC=8t=6kr_E<+!SAD%q;%csoVAttid@i;h%Yp>H0W# z3*CK=)GDQd+$a=U$3h)g=xvAYhRR_Z4<0B=3#)mz4Z;?F{0qFbH?ZBiYS}lmWOVP& z9jx|Fq^3$m!6Z)0Zn*6H#dE5zcP77TRrdeGVfsD?C;cmh14{Ue75$>~SZoTJoiitVO9p{IX1sTGPa0YZ6G{(2}XFU;+~1Eba{D6(5z#8fY~Hw z+i5GCo!z6)-RQlQg%uz+eI*SDXRlI$ zaE@{vNZHJI8H&0PCu3pN4%7S}?sy4y!j2j0GSsw_XrL;!I03WyEdIchEypuaO3cpj zjM8tr@?v4G2g8H3KXvzjIs!*?=bjT&iL)>nuDzM)<*?RR3ln%*<Ka z4kdl9Z0#uq>;6McWHO7?ZBBWJyvxQ5Gxwl$(*2dBTGm@zk`Ll(Qgb4olxUU9=6tDY z*$IXj3jAC^H}?!-amNmJ1v3w$0d+sIhxvyUd*w~3!efib9%T?HzS2fUMrdsAW8#o5 z6>8T(s3SzEFD^o@QrB0rJqA~eTr`HSS5-pG|7p;ZD^>T6l;G8K6$2R~x6t(mE^7Jf zXXg?2>9gCXYb}xQFq?;V+`QQoBU(C}&P*Zs`YA-b%!X(O7JY$LRrUzWcj!($0m1Rn zI#%y>M>Sg7mB8$q4M#&NiSVz$%s}6Jaw{?gB8xb^NDQP1`qx{!vDrA2D%>FEMIjb= zS5w4RNbv%L&=mKCs_nEmS^g?;X!R-rqw!Lw6ICessxU$@oDN@A}cZN8vVTuXyKH8-F z$D7;W*cR5OM#0Cw`w8q5!yxe8U2MEga2YXylQw?Fq=znC9QaCC>GHzMFZSA#9dxR3 z8m0mL2^(I<6K)XWcRx749Zb6I59=}>S<;W&D{!<0o_5Y>QP8cFxU3KCz*dbO=U6_5ItWsrm)%3`K~-qw*v2>739&@j}4H@7ZvR1|eW z$8B;9+>Tl`4$lVVKYuOZ*JS@g^s>m&6yXj7lSSq)&lrge)N^#B8-Hsl_Y2OFBbQwiVL_b z_nXN;Yi3A`ytMXE?n=T{){mPoyel)50dc|^y>Db6!w6aEx<9zzqsxK~E$5--ZshZ- zwAJl@3$wQpuUAD)uE7a@ucEZQv z&cL4X9j3Yj$l|P*WW0`cvW(CF1`YN1MStdB&4?EV!OKv&Zw=1Pre!FWaFENry3oDF z9|O<+I5h(%8lIJd=s|FU|!p? zOw~i!*bq|H?UfMH!#D@OEGMEY!n65z-;e?WTe3O%Ilp14S{%CVg}+pvoE2dbZ`W5{ z6OB-fc2N`)#iA%CI;*0PXctE@(V8rI9aK;LbroK}I80u&uVQdT(OU{w`d+{G9`+*R zxZ_Q*%P6kQtp@ebfep$u8<2)7E#H=03zraaAD-aof#U0i z+xMBxDn2vFA%88*AH^}ZQ`h^cryR&^@LS5#d(h)Nuzx3PsEQU-^d8Hl9Z^8rvzLt- z7cI6N>bu9hm2Tmw_UkEk)G45ewHj2SNvOxVWnZeK_4eSpmKkqS%8{db$pxpz&Yquq zqG)z7k;?iXUz!4c-aH2Z`IaePGMh9C1p*MR7(}{|i*u2CGiy=p$4g*%83N(^0a0#; zz796gKnZkG$4!qPJ9yOlv1fjs+Mn+<;ZUVmygQ-Gx(CVIyKmkv$AlBb0^Nv7GLG_9 z8jDWH5Ryh|?-d7BY7ME1j7BK{5MQy(Ip*?q1Dh%9PyhY<^Z)Tc zywS@NM1T4J$MbK(^OyftX#R33mZQ{iQzUnDx7*Cq5Y`1!AFEVK{ARgVyY(1#T@kfc zuyY8R%U2*tZ`SLn04V>b^D%x>< z#M|{UUc#G(T#{F?JNT~bH?seP4c{dOE%IuvG<#P%{Ha@5zlVuChBc7r^R2L5%qAm}vv_dzVldaV$AhNAL_}Nu{K^?W-Z4s6i#vwj!*DJ(h|0wjn!JAvg+NSL zfi@KE!fotWTk)T_(_A`6=@qX1TSnrFI{4yR#d%`==}fCPt+TVFe<&%u4H0y;Wq$=s!rb`ZG+m1z^H^v@tww zk^}ppZy+U4r~h{SFHD(jDiixAQY!OLEMvE)Z<@i1owzuk6`2G6zHYFL8^pRP*QSWL zY9=a;!yXil$SSYdEgZka(oOc~^iwhfu0}fVHls~vqoo5B9FV14mQf&Bo`p(qM50}e zNJL*ae$FEq;6}D#BEmlrXDrN!h=xR8h4Z0r4iUo;;GqKMX zPbM6b-$KdauG5gMt1)aucW{kCg?Duu>pG4IMHCU?N$kIn|DPoQ#ov;7@@M3rkk11c z3tV3)v@()GA5Uy5c*hs6gmidx#}&P_HtSd}v!pqNvrub4WYthvSK~#+s`yU&kg`)$ zOK7>%s{$!k)L4?>P8(z7d^6qEeqWB{QKYzT`U>24VNe6q&G#_5ju27sz9fz3y|DLX zfqUuxe4w+h(3UrKW=dD$oNs$-H@e%_i?_jASd}xR%vhqIUYV)*6Id@t%T`1jCwT=s zZBfEnX_SeYZxFB2@pzRD^2^a2ejn@zB-WW2JE%uuR~h;*{_lSb;8s(K!O;Ud(i^ z!a1EvV6Lfrq_koemq8xnBm#Amd0^S|-N6VqK~2A0bSo^R03)M9?Jbrz;jUC2V=d6X z!^u!I)+G3w+{OxqiLYYYbvRZ%D@$=BI2zTZ!ZtXYzHDq(92uvzrflE_>K3^KR+x>@ zabqztf=#}C9_KGERjy(fd3%EZ*C3+ItVBkIdhhnqCf;J9_pN!7&+826s;yCO-Q0Bs z%uab|y!3p@@ha;DUyi}R%d$5aFvB&4h*Bl7wQl-L>1L&E(|6bpE(qblsQAh>uYxJe zb>7gM5jNOL-Xw4ez^@r4omwrhqc7=1!AGX30bT0q6(ZQ>Q%lL$nA3z^LA?9S^>W$*$gyzG2#zRJ_D`zB&)_y(PJ2GTh2O7xq|5NkkM8C@Hjm z53sdYbWQh?bG0H$<7#3CE%I3s56&szp*!+3bJCj4unv=ertU$zT*S zwo8oW(Q1BNN>xY*wO(R%C~u6Lo26&x)$Nsp|EM#dd}a&?m#T=*1g#KDt_0B}=5x!` zjy=l9?bvrpe!!nAnx&a4#7J2Ii0>As)6B$osU(P#a=vdQzuq*`M$rlNx@zyRPvT0E z44Dm~d%l7?RoxKh@%7iV=aP4m-f@3i4S#8W@r@^?(JsOcrK?(7uA!QjQGovs(6?)c zzDm99it5-^u{sz~u*@-JmrN@^Jvw<{tt%@>xb(C&f>bYUxXT_X>npWdbmDXRyQ&Wy zj`N@32q)2|%+vC_xwBK=?-xO$I3^|d`Td-7d;y?D2>chj>U_&s793fNV_3-YJ)A#x z=xF+<8~UYmzsDx_eKvvbKP65Wz2bB@$=@SVLzPL?=mk8?Ur`P4t!B*>4@=FWLfpUcVk?_flk_i}QQhLrW^=o2HqVn!uQPbRiGF9Z(!~UhUUnkC# zkX3>PsLoRD!Ri&ND!VHv2%ue<-;IC@qO$&yr4O~;iMBWK^2jdy+Jzrg0H`Q>t5v&8 zwFV@8zmk$F{9XHB!9m$EEMk>S`zE&2k%3om1m^{KAXZ>06)qd2sx4%RvxE!nwYFMv zPuTfRTkWRVYrlEJRwQOJjPw`#<0gkOS7p6j?l)k1KlBe1p3 ztQ=RByz6e$MTWb;LkCbwuHkgjZwYHEcr_1`zMyp1|kqLo&%* z6nh3pYCMl7*$g(8@l{i$aV>dzF@^1ju0TW8*wo(Lo=xm6YO^S#=I~;-G{@UXa2Mk$ zsBwKgT{d}*wMPSJ3J;LdEpZgb<`d!Dm|IW(iDBMu@qBR!akVFXs8998(2hX;ydO>J z$ASH>9Z9DAOQdKto3_MEQc6M&`&0aDY1q_wwvDp^t&7}R&H3W?4DaNfB$v?%U5N8k z<*QGdx)J!)O`vLy=RL5;RhZZ96vpLQw&Y}l5hVu zx25U=&$5q+zD|!W?WN(rMeDewZu>PWHa!C*@y?JOPyU)*U1qbP<9|?@)9m7OZR-c` zqrQX?3Kzzp;_C96QsL#A=>ejqtH%4u3k^D>?|3dM9Q9iFQtLR+{0oyCRGmd3T+)!r zM?W-D9Td_}6b{;+6!SbGWD(WCTS-kKpGG&46Q`3Q7PsocG@m7Ne~HzdwS@&W%`umB zJH3}Ucsz(1zm1BxrtP%>>|Nx|2_NBfnhaXXJ=<< z$DPkoApRHG5G03J$@(mbhq+zk9MvChzRbxN0V%+AoW!}3M5f6Q1I-R1bQH>?das5T zd2*$-gQ(qUAM~R9JX?%`vd1ZkBezs+pm+#k72YN~P8j|s2Q{Ns{Ow{b=R5%47!Aa# zb?dJr2vI4D(w4rMp^B90mAjRz`cI+-r!_KHZyK>}7tnxCr`Y0;`7_4uN* zNJ3}nFcH-RQh9AFkXU@t;#WMhtG_i`jK})Q=)*bmrrvOT#9#(Z2|0u4$f0Ku35N;d zgP5tvbSqkWxA+_UTQj6Rk7A%MF-pt8S)>zPJ~id@W|U`8a1C<7k71fm>8{J1x4Kx| z<{F5Q1yD6Bec88JYmVoea2fBB#RprnPTub9VDEp2&eR*8!GcmX8TlD+-lii>I4*MZ z3Ikla4hSZRE(24{Ae1!hVSW-^hC8E?=@kh$!vP+~v-p7tUrkFBvDQjkqRXJYeFKVd zgMDt0zEFcnyWNf+azpzXwx87HN>`P$7k&MqM{@hehT|Bz1MBesf_J$gD(L; zklX0pyLxc30=s8&W6aG!f@X?LtFBI@lxtIySjxAl^g2pPO*v=zIOTvN(Cl3tcNk3= z1I1aI$#%Br!avL37ct1EhKR5@1Oa@dYEB?MBoVut&38d*5{8$pVuc9=mZO6=S$-;R zQ7UrC^W+k{>PpfTttuq3bn2Vun?&-82{(Nc*!!o=KI~IRuyw(5j_2%rGFLa%+uPew zCXPpF>BXxYt`yrCA&5#Whv5g-4EYkutSAF4KX_{iBqP=(L=MMUHr-!k76Yo2m39|> z0y+{JG?;f_F{6#{KL6-!xA(C(YtfodBb;;ceIx?1hR(*mNi>L2y$cb!?X+F4KGfJ( zr=hk2b+>DvhM%JOP!+4tUs1L|52GS2EQd2NJexZ_toQ7&>d9DPq$G@7U6-r7v*ttS zZ@jJ`B;m4hx10=zCF`n=H83>)1j7*`dwkAcpT7esNHkCUB@FQD0+jNF} zl1&azj*gG*lH=nO?8V(0A=9Qtl4#rt7*@0=RP-X?BIptj-1>ohxTGQhv8@Lwy=K${ zX|hL@flFV+DQj4w-hdhY9ubiq`t=?%SIzk&oEsJ!6|EVW8yWDUlJ9cnsjYYkvhEtk zu%1EPm+5#6TRb$XAm$3#)pDw+q$XNIj*(;wMH)I6?^K~5wEO8VnLHUdHX0znu zYt||n<&n^)D1~E*x)J^!2x*bydTW7H*DTa9q`Onfy9mVvz%4D(D~&1+uTf9XfWyZD zqXLLEqXZYYtH*0a$4c=JS@Y~7xx`{wKZj1kc=nS)jDmeSk3iJ=kb6$6fYEt0i=j$0 z=dsAZyN#&?Wp>oX&>n`;{&}23B6KI6ASF}S2WXH%gDrZyrR|>BGJ%esn1IarG)aag zkCY!zhgm6qe_fe`EQ?C~*d!{T#gnZaU%*BHo|D?7&XHwZQK-90yHWzElrIe^xM^*g z*RFa;*kIfs;eLd}vDVU*S+Z;!zIm)vPcR=XrWIK}Rmn4in5xoo)iW z;W4>@o$2%<8!pD#DF78vlF$hK$DNxG5lIW_KgslDzYv*Fq|7KZHoJIxx`rI6INq18 zUKvPx_7$K7azB};L}V=$xO0c7!<{?#S3>z6+JglE&I;%@1U_OXG%iZ;CBXQf&a>)3 zb&b67P53}#OdMwwT4=aAe+gDh(`j-VUzDQ5m%n`5iZR`jin!%-)#*we=SCDzLeRbL z2yZkz=BQ+l4LWtYn*yQ7*;xwP=8IPXtJSx|=Z|qgdt&GJrwS#I_0#!fnkNoq>Kj2; zMm+{Gv=XAIfB#PS@!iRx>eb&~yejY2biBw<`GV&l_TOFq)3D!Co-NX1sCu6v?MsYC zr5e$B;JPv{NTk-4G!CNQH3}VLtx{v@qM)qs3Q9$rBXS@=74_EFAM~h7tr{@tL78hq zEX#t~!=%U=6}H4xmZF~bbTW9H4E`l+Oy@>4dX`Sg@eFp}vw0bk{q*2_?zk0br!pGK zK$vqKJbM^z0NF5}XDg{iXz%&f4Q}~TKRHiFbGy?8=Y3+2*6M}K?vbUmM6jm?5$2~62Q`)KS2kq87kRMdmu6Ngq`aP4inM}7k< zuWH?ut{{a^-Gf!u2$^5W)2osnN&W!lbTBSkEB9~z>$aQZk3~FA=U2_umqQ4pL0Am1qcR8HsqSir{O#U9dq zcxY!%cC-BE8)3@wufy>?hOdbT{sz4Loq5flP|{as$8Pi>An6xyO%L4TY%Vq(_lS-~ zoDB(ZXn-8>!KBNj^x-2JYJARvN`}1ZA(36M!y+ zqCeaWMTJ#-W9vZH6q=ijMup--8rK6Z4-$V%y$Z~wL_z0)z=^OjvN4^dALDs)tT{pL zV$i8K{Hd{ONY}vOSt zDlNhYHc-@T4U=gy8IrH*<#~ddNK{s)c{Ivc$)hXjUttOIX3l1?VP}+gewkr4IlFtX z1!9|x8AfI1tA&h~5q4Nz`%CQ3f?-phv!cfKeyN@*ICFSG%+rRbpmT!?UWp2}_O4e! zo?N7|{mttYN2Vqg<@c@$e;@GdLo$~`u(xreD&!z^x;LmJdFs@#b%Pq5iP*jFNRG3K zLNgu*g`K@MK}<@yke`?dVdK%)Qo6OY8!(ptxybN%vp|YnhNP__`3{?Tr`t9jKlr}8 z8`84BiihbZrE2d$2fs2LpVpf2{M%Zzjt=t5g>glV)waJUTaY>(2c(_7WgzVuh%$oc z1wupzwOp9IhW2)ycDA>dwbM22^r@Xk*bc{Ua~t|<$kgHF3aXl%u?D}NoTZZqzS3o} znmhvWj3-2J&yrb_A=edfy-g&cqj9F)Eo zBwvi7vR;vaDxF;ML5%1k9>72+c?;P8wWyA4SDNc;veBH3c%x)CBimdn>S=bUr%zN^ z(`tN?EhgvzqRU$go7(Ko(vMIfNR@dq$j~=rcD7(&YE-dv*HGlN{=x(W+h|ca&K1BO ziAQio=?u?us5;~n`)&i_t&vO_bxA8WcJ^IQf&aKuU4>`vkkgU3&TBlG6gzN2p}1wrX63m|Ok6|=2|=cfnNHIYWDSdCt98yowM zyj@m}64#3rsqzo2i))6x?#_(bq5fy6a8dbYWm17IYCwOeZr_RnM%VFYbFv!#qU!-` z%A`l$%-slume%ou)LJ&-BcNUCj2)|LgGNWRSwUc8+hv&@oFhPhWROlMdPuXxfslMa z4-Ohd%TJZtxfp+a_U6r!FmcAOqTGut4}> z4IqLGlG}lhlWB{U1>V1hb>@8_ayG&iA=af&!Qki$}YQ`~Ed*|C+ zUYkBwDBN6Pj43k-VYBA~spiG6if&3C$7gxiSIs2r6d|d4#(R16OHcB`tn0dM#Gb_f zI`W$eoU3~x)+l~8t>TI~p-;ew)e9f_Am8JXS3M+i3N2 zD%Etj9_+$bpw}d^CyrYD$;svkH;D(s zt?o|0Gk`){t&8CgJgH+IC%JJflY_WmGy1FsW8a(Deg4zb$Fu0qSLf^-pMNs!wRUS_ z{%eNZJs!v6lMrgu{)sm<4#hd|%Vd_23s{rN>Z*9sNUwpW(^mBRIn>z$y4*87BCl0d z4Z7W_F88ppUbL8uffzcqqLWtg33f|hNx3ctr6o3-W7k8Sx#b#%f!iTRG<{jk2Q}VJCROA zL^UzF`k31unSU4y=-WDcLJd~?fYmSYEuUpmCAYT}sly-fa~jfaSzh zw2hWT@pqg}F9?^T#Wbj$$a9f{EEy%eH2LoxE)BgP|79_1B@5!(Cx1yI?^0q440#mg7$e!yVKui3SWZI>SgdlOX zR!pKSjNPGwqv8l-?TJ>0sKfrLVn8VxhN`#hY+b>ozbYfpkteLUKORyn6*7(VUl3U> zB`um)%Z#$Vwm@t?;<)(`uX3db>r&fgO94U^O8h%5iZXYDKXpB< zz9N3?_-<-uVDG)%-Fttp#M`yde*{}&mZRG8yoG4WRM^DNuA#p;bly5JgM1xqu}}yf zpgqUd*J*beMYxhDYpXO@I1cT1dBbUoJQy7t^jFV#A!0O|j^A{>+s^+BG0@vDJ*I3a zDk(zjhNZX(Y1do^@gq&^!h+w>q)v9SbyjXT`jjJWkSLAfvBD|qrefpG3@Ej5r@Nss z?DKV;2z+I$ud*kYQN2>_7lr-%HKBWo_DBI2N7EP0j}3lo9hp z;Q-E@f)vn+1QXs`)zuvR40bvpMtEo4$~v;?taT9&r6?kl8JmnE?9J<+*E`$MV~~yL zjHlB>3XGyVsM-mhGp0Hj9F`gHyLYBnlvQK-K*d$z``DWbfWN?3M4-F+GIo#ql zV07BwV=lfeb^;rWIC8?>y9a*CYOxavC-HeJb3>N=DIJyj=XFrz?%fqPE{3Oxl^6D| zJensLQ;fJ~%uT_23aRk$e&i7=TsK7U5SLH0iLS^v&HRN|<>{*-CY~~UV_(14f3A{ui!3EJS z;&ejZNA4jBDIQSa;LT-qN11CiQvqXF+`Qz->BtC8eKV1xO9{8KL^=^`ocmBYRG}SG zEQKO`c9V3SyY&>7u{$L@#=mU8(2LU@*n}@aXfn@TyRSk8~zLJ6RR{L z99u;Tg#u%}hdHHuJAt|07H z+m_X;uGHR5Y7)nmh96SpN`e8ESM{~HuKzW`qE?yo&lOV@2uH*$MQoW04wO63qCAOb zFsnNFcY^1Z(HR*>O?kbLy<&1za00j`+z*Pob7(8!9l{c&Krl0#3Vf73dRvH%^;Tzl z?}aWyr>pANUp&oDnICIq(aPRh3L16ZvrXi4&7F52Z`4m1ciZa*tX8h zGq!Q(eQ(vR`u=?PN4nFMPAXkHy>_xIS?iZs50m5hVZp6!)75;?IFgCnL6~Wx+EN|b zlI<5BCN#P-Y7AOg7)~UV;{CW*^A}LWn~AL178o-j229{A{@>8 zQFCh(13E^n)u4(YtCFkg*kFaRwg8WL#0ktn$KUogn!Cr}`ufM`+~^ZA(QaKe%>F7F zfMnXat0)lC86Kq!apuF(uQnT`Zt&Ty*9Bsj$JJD!81RY)`9WV>uNt$g?TsBw26C%h z%MA@79ZT|j#Cr}H+Yrp%o~lDQi0w2i>KTQSybE`zvh->_hhtj3UK)wQ9^?o9s+ip8rT%=^XIRx)}G$` zudANX&8PQZBUgpAhVS#YdFcM-1cwz!#Z_?XBqBgwR8(6QmhDUbY*%+r-BmS}-|kXv zP*1HmzV;DUQZjQcR=*{x&1wi-%P(+hmo%n>I2h;nwhK8auyl0BX*b`3fnIU2W^0`HmFU~71_V4C z1&kD1d?CLQ`dG4EmrR3NqY}Po?HHrO%5uTQDb>k$n8f5N6q|t0-d=ZwfHm3+ zsA%`2ttsgXq)QbkC?q;Ogcz@)x4LtcbNF(lQ^go(CC3~>IjGEWqs{MNikv|E6`?kJ|*D_zO)MXaq#hY_5_Rm?bh*n+wwNv~uB%Ok^~L%53OptI?;N9eszE zkprI0F9Kd*u9z`Vn$g(KWd0uhBS0(?7F#*;bu+*gj z)9dPCSG6cnKJ>Ns-6JRO{Wsvp-{gTOF)RB-Lp6a9zX3-u5&=^ee}OAr074vQ8#?A zbMCuU)FOTFqx-rz8ZW)CvmrTgkD}u!ifr_I9nPFJfZrdEe!O$cLASlX6HGo@?-4mG zs=u0YaneIb#)OK)sqgKkO4*KU?8kN)gy@^Xl=!(x-;1P+q^o$E>eNB+=Q!0roqxTb zfRYcAB)|P;BgV(ievZg^EPM#kKZ}AH>)8lGK%}gL4o9wB;Yg2nCOk&fXSdYH#_BqP zggqh2n!%2lIc45@M3$!t}U&fXPk}CBG;5sC$FTg za?0I%0j=%A9si2AL5Ch_kU~L*r9pt2?y_edF=}Q12-{8U;)^FggK?`FBuPX?Ga7G3 z(Q!KT7Y4;-((ZZ}gAkI%_ zB^-;(x{%6Z^1yvI1wh3*7Mw$<9Mf0J6M?}n zvuee@UCER`PfS0F4hRp(&fdh-%9-ImH+@@s6IUBkX9h!KdnY>v6H8~8|C^<^wQ{C6 zp?7gsRe=TqWz>i=`A>57fCT~u`)LN~zn94=y1xw6igQX5v}zJEGYk{T5;PODstOB> zkoPIo9ZEF))HcKmD?tCVJ1d1XwQoQ5m*Iebe*OQuV`OPZZ}q=+BUa7Uev=*PD_4KO zLYQ>9^}xg;Yh*eI-ns!^8?}17mos-jBBe&_4{MUu0sGf=7k3iMvBx?HCyA&1(Y7;# zcr1#HWd_BYg_FZgq_moIj|rwsR9}`()D6_L_(#vN6L(+N+72_X5vm@A4OWm0e@ zC32=JY5HCXR&)9KMXNlMf&>lu-Kk$Aw?U!ad^SDe#JRw)YM~S;39S=&+6aW!0xDK# z+Yc==4wb4M!*Cre3ZqSDFERu1d z&5F?7rcgEu9WK*@1(D-S=lc-6_KA#o6ZB?l_vRDEzo`pHT{+PAK?4W|k~*zlPn{WP z2P~ZEBCU|R7AN-$;BZHAdH!s9`ro(jS+5_jw}%l)A|~@GX|6@P|3cd#u!y}%n}~xQ z$UqPkp=Ox%C>?%C|ByVcMFu1*x_p&t214BPt5PZNXKNw?ja7@1=Qh%6;(JRd&lD_c zaZO2NJkow=)PuPJ3t)*O<$$TEghoVL0XsTz6Px~;cO=7vh&_OXQtyXI`F%^L4w8eu z(kK<8#FQ2-znH8E1_zuKCq|-qZ%;7w9QxVYysQ4?ZPvHTH|%J$T6UO>xqWBa=Ce#U zo8XTjvh#^Y-QVcE0>>em>Trj0>7l6NUi3?Sa-NO>a|gTcu!BG~R?U-IY$kQsph(af zl}f9Y%H1*&p$z=PJ0}fm@A?B52Ql(pr>h?63W$)F>_I?Bj^f61+Q)s=z`7s}l^yFy zmnabAg17C2MIGCK8-JE^GFY*nfB>#*-H7=y5N9=3t5Cs&SsJJ{n}9~tD8;~A#8_{2 zg#1D|>{Gm)B-~~k7?UDVc71!epTvN&P2o~4ebl>d0U|lqXrHjHOm4A{&y?bWmrmpz zT7n}nSPrR3A=xN0i;Ge;$Kx%61>!CFWk}A@Pa@Pzelm=FA5tG*+C{1(l z1hcUCCi~|>r?3)Y@Y_(i$i)Dg2Oh!}>XB^~n%!~^bCHYZYZ5K+h8$l+pHQ2pK(eE_4Xy8Jzu6nEC@my+i4)ub>I*461X(GX}ZAl7n^#gv?vuCE4KP2u>^nF zb3N{1P4m`T8fORZCAOsSpR#9NimRpmhI5CPe&G}6KI=A)wM%`+=@OKc0N1e9)*Npl zWz3{H%ThsETj@vP{lR^DqUUw%NN#r9`!ks`ReLNV>cPL`hjTZ;90l(B&q~Vm5vxUZ z>)R+>qj1D4P;|6`@AQ%Fpc*O}LsIr$2GD}FS@m9@j5gZOzu+A5(XxzaMRoTC9DIVy zdBS($1)NW1nXK(&G&h4d350k<3fJm#lySeXTNE!^vl#s;nSjdHbX|6gu_V9IJ|Wh2rhEOQjini%NKC<+};8$)i^i9KHm^z zPaVQJ7?KMmLt!dtfQS5av4kyf&|s$e@oU-YdUOUGhVPwAi5PiAub#7*iSH7?V`pYS zoPIs+Ask0s4|mf*ebm;tWTr8_L51aK9D%W;TCj1)!FS?He-!$ee zl<~IWfq(g+s>~1-^Ygwz{GY(e!{~y-JplxiMF|Q-`Tqyj|3dzMaQ=UT_{*MiFI34! z%C}v4#d7c1UkRaPyO$7gOb;>74%%3q=5z+tNtGt6L{&@F(1!)qI)7&B8BL}4_*@t;?S_|}T_}91k_t4fek`;6V8R&&r`6)Y)!AD! zTldHnlibM5%Nw#tcEOqzXVDm^#24h#YMo~To^{|Om}>OFGZh9(T=(IMi>iVf^$NodVO32U&>!9siPm@J?&ZmQ{t>8R6t!fPt0RJ3`h(sg zOb|t|7LN}eUawZLzaO&P%5ZOjV2v|_vK?);?^-=IZCxiIEEuW`It0ZKetLC|RzMS8 z;SD{03rBt}=<+x{tt2apaqrPhhInXL(06NDxTc)X{uyJ_7lbJX4AisG3 z3Z?#Z55{f|tP0Ag->=qrYajCqc>V>WKv`NiyH8N z$Kkd$yKi0AwK^EWUuK+*S>EW6|M<54^40OyNZbigB*)+OrTC!5+HvUPZ zG3e}^hQjXNcG@94tLrtIoiOJdG0Q8pQzXXzZ1kTO7RuU%XJx&x?G~Le^;@5~9*U{k zx-{0G%)<3r-A_B>XYtP_pLPiNQ2iv0y$}GVYoRA{X-aObjHc!kB@}8MP134YWLXcx zPwq;7S98gYr75lwy6e~or;&MX+_qkBOonN1?OmyJ(lMzQPmXY1pw#Ws+Z*_H^T|o! zFQ#>}zMJPZi^+VhZKsjJ8=D75wqE=DSCZ!(Rj?7q<740lA#DpT1ISWuY7K&!>`y8`sKGebTe|Um~`T z6*a(57W@U3C~rw~6BlJmR|!&xuN-Dkn@b*Bae&C!G1ghfaGZEctpj>Cf}isaW@))u z4_l=t2)tA@u{=Aa&{1s_v9=c~-O{j_s6=Bt|2!B9C|sF#uIG|}cqPVoPSYXq7xNGK zS~gGaSRc~E2q;phjww{xhL`x_>vsv}P{r5Eke@t5d~po({+qS@Pu4#L=D8W>J?rQFY3bWNPP6q=>UmGG&O6(d2T0<_R#bXK=Yk1* zrZ!=LbA>XW-UOn&H>wJ0K>cVgW}J5K(OWl2mdqRE~W6@CGH4-)NhCs@K3_6~y zAd!qG$%LhpLM_$CP<5Oglh`EnCX;OGJ!IZQ2#R@MknBChHcuJKmh4m353rbQMKISZ z2a*2Ub}>#CnolVxK4p*8G$zqbkzS|>K=A9@c0T#ZLdqcF3jQ=yjqO))>S&0+a?ni* z5l=~nbOj>SGcmq`?pAULjiiIX5c?loC&Do8u7~0pj;(=p+&fLiVb$|y=x5iBZLGX3 zVIRBuvP)a9(T}7(RCC1Kl=>#&*_0&r%^&-v@lJ$#)Gx+$)B>YpUo0e7N^u%WTp~2Q z=UlB2@EZFK*yvtKW3D3Qrp)l3DaChkXZMOzd1p6@Q@v*gB}2{9_t`8u$LrSzZv&Sg za^`fd<2!f>*^)mrM&?8Ow=h}RA>4)ixx7VocqvDgfEB;==Ez3)VhKY~#vF1LI9J$9 zkn-Z>C)}zPlIv$8PCzmt$@%n)3lBCW44VFwvFSs zD-s@8w`5%}qgr0Bd~WZqwJCy=jc5RPgS2_wY@UU}`&R5Hg4{k|-TW6qoP&RwK2nkU zQ%B}!d%S$D0b%^G+!XpSe)eH{R$N zQ{l7kgm?Z6`+4VZeTawQ3~Xi{M937ry$9fu`!8IQb#Qq($?}X8WsCYDVs*x1n6Pa4 z$Phc+SvC)ZTS*p3e@0*jXkK?fWb*c<3p=1gc9!=mWe;_n*5hi5z=;9a+H zKWrWSV8+#*w9G7Uk4x9f5yI7_k*&A4j$odiitUi@k5Mw_P$8S-6$r0MV}JotEf=J8 zNY~dllk_uFUpp8*d%%R(hz>sQRAr=aLq8^?H2v$U1RBF@TsU-?-i2-N3g{SNSSw4{ zj!qN|F_)Q5;UgZ6F)nu6>yVY7SlTT!DP}pqiWl=x>Vcki%~k+;W|pfE%ZMiv2>UHSkYUR=PmAb|pGwzg<7U z+%mnnScIjYNQkd6jG=SBVTOsF$A39kV^sLH%J8q5#s zRr<1JwfF-DvR-ySFuI7_Rz^T}~SdOS8KS}Q@dZg=Dc77!e z+sUY2p-lHoqCL?&UU#{q^b590%2(Ue31>WWy+0H`@RG6ZbxbpmA)hvip&tdZuLGnjt$#r&R2j+InT>kH8_9dj4M_PggLn*-(Yo)pOg>|b0uHFnPn*? z>mumYXMopi3i`)Dib=AE8IJIvv4jO2bUbkZ6B$of$Y{dc5&4fJ^vZL%j>H0G&+*Dr zxK0LUdI$XnK&?#o8Y@QoC?MJD3F#U$0^1k?kT)DgL2)Sk z;h=rb&M2k(rG)T>#6812i#D6eKKJrayi0qB=LQH3F&dIR80C1CmXbGG*L>n2yX{XP zYZVsC8RA7TLwE+5=5=_S4LJyWxMLQeVYwT%W`Ns}hQb};BcET|`WdqOhOa&3{J67u z=QRBYsxrGDm|Q=!8J2C6#9Or_^@X5ixE0IV9KN_hvTyE~#G^`G|K(@yo~+N_7Qt}2 zki0gd`_?1fXQ{_6(l~%xwQCAt!ZDJ2-C`NweHoIw1UuN(|L4Ft@3s7sz9Bv9qfwFp z%o2YvEyvf){V6%UT@J^23xK*RIrVFtlv{?$)u?!OPqJpjd$^w28S8oxwy9Bsd?2|A zJ_6k|tS(*~t6d!jcmI!E-g+lrjktff*m4=wDa+3s3e-bWE66WK^|=E->C_cV6-ZUi z$2_f)fQSd!cru2j<~?8&TY(#t;E4#ZkUUvDd{H|5jiS#%?~v%-t=LYK?-=Fb}1k%7d9nzL`rg8;Dk6wnAFDrEg9y|0hqy>dtbZceJbZbKyp~ zR#B8ukEpAvNu8aAZDeI#rj1xA%eks#v?TQuXXeZpZjp-*Ul-A(IUgPdfL3a(JWr<3 zGD=FdJkq6gf()d}W9^G4#9t`3qPbS*yzGbYe;&*nZDOsr9tNF80X{LRB_iM8odqUn zvpVEwjSY@ATdLv1(|1wywc-MC7cYw6l#TXz_;62~IeK`Xa-QBG*82A=!%7=Ls)Sxg zTpf_YTAgqbZbYZiTo@MfN1Rk)>lf8nVj?heVkZ-$rd0Ht4f%UY*S%0 zZzsCmn3gMBw{>gVpI;w>{Ayd?vT%@QW^J4ma^e+FM#&Y3``C73pUy>Hw)-aOJBT!%W3_-Ph-R|n*G;m+tPl%9v+V+BqwF$n2i(4b%yG?v~ zUt+(ZLwE>qbujr|NHeJu3eZvTtX1X{_E5yX{MhfW67+M;Y(j zw7C@|wV58^yFL7SCrpNwtlSWmI?&I?a8pA&3nCod#%^As0BUJ&{U7lmYjZ;v{@Jyf zvwhY-#?Yw&}9u~i~~43O6%fA|xgZwAZl z32d$%v-^jGa4Y!vLvlxLQcdE@0Fhv83GvTS6Fj< zzjMOl|E=#@9yYwbIB)>M;r43h7SJ9{a_!`7%Tl=C`63^xAdtcQ5qBNZc1I-!?Se`H zbFqWm9QZXtKfru-?Vjlk1=`g-y|i_xAB3<>x!m0($~Z*RRFt3BXscLD_txGaY0xk- zw=!Z__W&E#(I$G+4So-yfM9!l!)))?puakK{av>BU}GQkR(~~vFbgLO-ECvL-+Fa*pch!PxGn~_e0lI; zcYTEvaA|i*Qr!Y9*Low2tLEzOd_A<^X5c~O5{Ez%l ze$Ogy8gdKg5#_tl|m#fH)>(EMY5>7dISBJ1p|m9=bZP-z94Go?yKsYRIFV zEek>5??HOjXSU)?TV}2?1Q(B2Y+~DMR&0E#tq}OR+_5%%A^HAgqyA4gSN`yH!+NBX)6ZF|FAqb&tB;-t+t%j;_3a)o4Ius z+3l`m@$d}?5$q6f-d5<*c9bB0qR`~iTdkQ#_`~j;ZXkzr{dn3Qcs#ywr$UG0LMS?`3b=;`S5 zqB{A@T5+uzc}?rCAqI#BwHDO*hyTL7gtTVo>>U-S7$|J+%O(00bNxeXQKl)Z(x3)s z8-{4=gQygKD9EijHM3*l%a<&n_m2`1(%LtNT?C66ZUnV_7nI_hsxvf2p9em6|rxd1W(nKI0=Nfe>5U~44N!N zn)cQD9(&3~V`oARqJg|c%rwahq-k*r7Ur{I^I#~iXgQmWl@Kq(-SXUHHAt(h%g@iW zo+9~r-|PuCcL;x?ygqRk#7)9=6+}I?efrdoVXTJGgu?~vZwt#r9G=SiR~p4=v84CC z0c>FMmvQ9orH{;!&XuNP!z?8R@Z1tG7~AvDgrPPnEgwg%XrSK(oOx*I$Pi3!x$G`$ zTH`jorB~*Gp}29sPXY%0At@vLzI{tb5T-tEgdfPip&Ww5wnNSOkbTWgjGHyY9k4+b zwmI`gZzwFq*0B^ee>ra9277Szh!sbT6m@?ic4rE_xU-Tp`IcLUJ%Xl5YjmX__Xi%D zE6S!!V=X@4zs6j~S0H7IjLob1Ohe%Ty(n|_KqSZ=Lhq|rLmG7Mbs`Udy4g4Q@@Cd$ zCC)!WljXvUn%W#9Y#Q*%0i7V`E6Y|NFn>w(bdfdE(AVA`vf>||a0dO!$kXEweOfHb zqgW)+gGw(}=FH9yz9;#WY*oBW|Gxf;XAk$VxULGrtJu1y(#8lWZYhxDJ8@cro--$* z=mf-q$~~k&u^w;?`-w&le3B6g%7~+Ft&*oZ6-^FXTw%n0eah z>jiq*JuQI!sE&w+VSIxuxJm0OGWw+A8Gj}6AaYy<$1n{QT%kygJ@swlQiCyrdrbKr z0g|)(uOkUqcXTm6mXc#+S~OBY@WPp2z80Edp(XaV1KW>*CinQYSX`9^yRa6j|KDCO z(bgE0YchG}1tPtJfln6^!7Nr(QT*XYRLwQAf@)%WUYrA|AU|rD?gqn}Eg0U%<-;eT zz$BW?0}*lXh&C-{@$@?c@ke0Ku_51zsFjvL}dcJnQLP{h$Sy{f)GhDw_Y2!Jb~2XwhL_n(1dwv=1sz8u8=YcXWPex6% zU{)MMNH(#2MSkLM<8`E)creL*ZalLxX|X<{;O zavgglrSbm6$?d|bgYc#yTXkEGTT<#(R;oiG6H$77UmG5U7+viJy>=s;sR|TDaS5{V z&X~(vt#VJ74yymxX%RuWmR_3Gs{#wavLlv(!sy5-SF~jj!{IxyhHb0wb+`Pnw?rO>2IbWkmfGvJv`LtUeWSLj# z5tuk#KUIm4hjx`+Ixq_|fYx*cTE~!`oNhX+a!Zd3Q%bzZM#)6fbE!tHgTgnU#~*T{ zK*zJLTOEa{yEH;S=un^*+ zuM|$~6^LRo9rFxSsYErD*(eYE6OUF=O+(WjMN>-g3bW522@)I?FgWh|jYBsvzV7V; z_m~+~Xy}Ux=bVI)(53)}mm6IQLKbDj(|Z75Q!iB3Ky*t5hKCwsUKCuf&S#;Qtv{Dr z^l^JGSCGeFlF3HKH{T#lOyqiTMwv2@t2K%1VbshyW4kmsPPZ0(n~AF)XHnHbVnVp*B%E$X$%l!DdwyI}sx~&+ z)Pmv#*dP01K=AXDM^+gjrMh2z z&pNbikq^4Y-QC+D#p{6>nZZ;)ytKTt?qGMoK1Q`bzKC`@RjTKpnM z`9_G;W}dIWKxxC~{$z(tVe4X-L?qbiyWjf)eG9(tE3$y`g5A?oXKo@*wViM>sxv$cf({c&h1HX_Vd+Q{y=Mw*X3LHajf8cO9%Yqb4HD{=Mto z;%h1|1HcWqAcG_>;Gto2g`}pp(`)x zZie1~6s|x%@?ECwuM>d4Ytzf~42b?sN?aaPm2TJurUK*Fcq>HP`mSoenv3hg^x3QA z=;l`NCevr{Pn1KfTxEdl=PN9F;U;X1@ZsAvu@VCZgAnD^_{5m+waZq6)q z){ON#%Tw8hC1EIdDZa`O|6-3~qZ`^MhawPlG0x3DDb`caDwl{my%rUgN(@}D ze*^_r%x7Yd4{b%wk!DF8Tw0}tk7O%((Dd(J&mL)M7pAYJhPVuWT*r4>Hh0LY)VuR| zWx|ILpHl@*Zke(^qL#DItj^*Qb};+;`o6#X&gs88-mk6+ulT(DpFclGx8F~~HwaOp z*z}Y13Pa<(owkPH3^5&V@2ozgCYuQj{{4ARWSMbNyC|o9Q)L_YWkYj@A5dl|P?G!n zJx}&@F6u+&%IBKS-ZqYbR6@$|t#!!wwxMtdEXbELx~BiOxo}+q(PQS)CJWk~+u~l` zvcJK%B%@tQpH$LA9;lY%mo}WX5%6$bPi`SB)uFYBhIKEf)knC^AFli6T@$EQ7)xj^ z_K$sH3;^)qnx0jZ9<+v;yAA1yrFvHXbZ__{KC|Gb9h-}K#0 zPhrIvZhLBma!f&tSfKZc*tm04woaA!l0UuEqG7p z0`6YOZM48oJO&kV6pMlT{V&aUV_C|lx~kq`QwgJ_5dX1+kDe|H5NO#5Xm(-1;fQ%I zQXVXsU2^#gv6b>Bl0yPAt{KUfQq*Ur5CcF8r841E)Oa_4U;*brl$=CX=s=MQMq%D0 z)}qGKn%?x3(s(xEnerZNPzC;w2(%*6__yyf3|phFRPAgRBV=%9FqR)el#@h_V)`p! z5*9`3FiHQ!*=Yi*&C-@Jc}w-3Nzd0 z&r$L z62{S?3!hrn2`M~?P16Jn(a9^n8X*B%gOm>98r*w?V}yODlIjhJ$t zfZ3l{(XmrdrsbyHD)eRzMkZF-30&Peo~wJsop^Dba4cqcX&MhjtG~2Ke82hbrISG1 z*-d3aKI?}#BU}(4knV5CvCQoLke2~W#ZbNp&YC413HPz%7Ocgv$%HP;9@u1?4bti` zPY21ua%P>H+p!Xw+GLjHsXcW^z}m%i!7r&|cVZH^k4P+gyYpC#`OsxWtNJ zS#gMK`Zn63jNZzLEp4x(f0F~3`CU>;qtt>fU(%EGcfd}?!;-$fOta49@7x<-u-IOb zbWMrb@L^>e?0x+Mp*61rA#fd-=4#=R9AbK%?%(u83~Ju*w@A zKKz9ccn7&m3=Q}>EUgxQ1HEUJ0?*9zxRx1tbY;wD+bmFXs?G-`Ng~e@_lJGOqmf-K zR(Sflp_a74OCOBSVBDGL92ypt7aenjIwWO`6RPZf22If%PGR_MPho6_Hcy1~bOve_ zMmuq;6h{r_=s<-v=vaToJpIy~^bg7W&$4l&oFst7_W4M2Kc7xlbHBkz>}Vd6cZ}Z?m#9CN=;T_ zJKZaXV&gP5>3}P$*1FF3Y-*i3&9xHDPb@9-cZ!FSNdzIo^BnWT1}=**0pcId_NnIi zM`ofjvu?q|zd9HSf0LQNz_mQ^ir9oKyB;QDko}Un|{KND-E31|O;Y1EEW zK?GA8dKdQ=b=CxgN>Z)tte=jB;v^NeZ+=u5&QyD_M?+%5xr9|Ko;Ci>W)0<@A)Vwd zS5A%R%Vy-^Ra|CbeKSotOxJ zcM!DDZ+_pr1=$HDh8vf2WO*r5(+8Zg38*<{&M`HE7**j4tB#1qMxui_hkG18>S$|A{r=%K{;cS;h{I%PqXR;KKn$pJ!Ou z{ntKOK@n<%0?p`{2uBGzK7@u?=-p(FMj>@sZY|TJ-kHIbVu^I*fbOGC`k9R$lI?NI z36t%*+`){D%-QRBO`JKpZm?Afw^>HJV5Fv!Be%weWhv!GvzGBV2&_5T^(6zNJkKW! z?ua2vMjp9uje;RI^gUeDTG3FGY1_B?H-;1ubiBJmZYZ`h1r__SU;q``6HnMX>6^0Z z7YNWVVL=jQ`!cZyDYZTAy}51{YvEVcb}Q^-=t9!J1L>mN$Kqx(fa4FsnbwXJM z$(Z2IlS&=>KC4~~<2cvLX&Koo8FG)U2e2neGR-P|18KD1 z5};QC0lZbLmCQYWt*TE7uj#4!mX4PVu2qkICL8|XVw&k)O-~Iah1O{kaM=!vk!6^?Ju9ks$M9PPfLoPQ5J~<@!!J;TWGm%UWP$vnG3HMt zCM+4L664{dE5Q7B_pFl57gllts((>zUk)1XOyLqnlXns0xD&vwm(aHOAedH$ZB~wT z+JXWTRdxy<7D{me3j_xAiy zzj$h0JY^8qn2URM_s{QBS0j%X_&hYv9_1Pj$=u+T<8x&fs_>gZ_>tMT14>m-Fgs%e zxT!J4YhATf3+&(u^isNp0hX=+#>OmkL}C1kI9RQT_n?&IBI4s(k5UvdvyjK6mdg@Ubzv1s?() z-Ux@&0s5_PaXXM4zVWgN8J+4Fk+~wZ$3L7BklbDkn+mkd=1KkIPz7CWn29f^ak@dN zr@PE$gUurG)2h|2DkqH`)`EJ+#2r<au6ZXi#)ZJ%*OXsnVPp_J-Fa>1)h#3fN| zaJZcLmF6>EAB-Xdf^i&Qq=-T}+6LA4vt+-`gkE?+7U2X|pOKCaeU;r-@HMSfEk2Gg zX{H|kQbx9Mj#_4-vf4Utgbc=Mo-N!);eD)(YBq#c^#wOvtDP16V<0MSw3JbCeQ1g5 z?4a-9LaSGhvq+nXQoq;7XaRHNN|>j`9ASL(O{ghB|GzRO)hz%tm4?)|k`XoEj0B!H ze#rhuY$m_DFAvvtk!Y@331vynfJg;Fnth^A*G`M-k&g+s@Ys4gFx?0g> zNCOS0vv28ENquu*g*$9(%sW7BrUcx_iqG;3p}D#=A633?Ip+FTRaGk8-Y~-N!`Y64 zomaDO55`Ois!8$^V<5CFDo6a4h2|*fZ3t^7!gTJAO5EOVv|nDr+f6_P_o9(EH3`X0ufddNL*GWEUOqvsgF`-R!H#hLREsaum;Jf461KUxMYypr1uR2dJ|>^<+A-l5if zRh>s78r|D?(2?DVILbMxh?=1Jq6G8cM2#DOruv19i?1cd&KPn&n!suQS*qb%ST@jP zyycFnTQmvI5vrdfG%UJYNIwRYkHjNaTG&6`hrU(~WKGH@ufKUjkuU~&Tl$Dwy!LiRV7CO)|oLaqt z%B4*U!sqD4G;$>lo zxLOxW=dBw>fqSj|0K~`!q+)6WYho46@oL2NTE)n)g629csj*vkOoU4PBhpfz(rlCy zAK)r1ajl@Agu*b_x|M28b2iy?Lgih0W4BnyQ4q3~vyag&w3`lyp9t$N$Y!y1wTAPK zhp=c!PbS=A0P0*x-;Zu^94`5-fDoOz{xX|sshe;Dm9aDNAjngSubVM|Lq|I^NNMFL z#w(8UfAA}{_a`EA)WmU%rqKW{%rnZyRRYvamRmW2lPJn|8#0)i`A8LHeT3*r zqer+1juftFL)8;4uoU2|*h49Y)@-3_<-MN~6bQ2Eku0BEU{@XoUytvGjiZHuG6&a> zY$$c^C(BAC2!T4eSwBzWsr*18kFyX#0Mc4vGuOY|)@D&mxka|uz>R*q#Pt%zfbs<6S`zvPUwpuqlurIY zt*6mB#Hy-&N@d#$w0M(}vRt7Z1{Ok{ZKfw3f88l?D(T!wHu}Rf*&18huG${?n>GKA znOC{jNE%b0*|F;5-?Fz%;!f?|+H4uWt?;;4Q-qc#nG%ci*+#{%<#X$4mb;C6qRx1C zqSbSc-;ciMKmJ$W|NBe$@TzF^?V9bqp_FgsCW)l=^#0ArN&}1v3femuRJ4` zQeWbIpxmC(KpH#vD%dqtq{*ww?6WdJX`$}kXdTXW$7Qk8chEI~Cwd_D1Ff!ab3hXl zM=@7R*L_vbTGv-SyY2qZyMA6T`LCzf{%;O>lk=jEZ3WzH@^1#-*7hN*1WPIC!|Irs zQj0YOPiUs3|IAP%wGM9|`#_9hw?dONPre1^8`%)@uYck^vB}JrUZMx%8d*&T#prRR zCR0u_cRJQ!$7Gpg=J_GsOQsd)%|vb4BY5CY>oJ!Pl3f`H;U>mo>A(?$k?{2>=h^}i z>xA{$+lneNu_=pA`N}9c+?~K3pvNA&oS-Uh(PkbEf3{}kb+M}~UCNpc)=DFH;$NS- z#*nx{1w?_(SOUtxJ`mTYiwst)NhI7~G-k~^%sF*8B2;898|_dkm1e|j^=6Pn^me)@ zHPv%?sBcy>lzi&H^;XczJykg(XinHad4O*;dJbnOZD&(GlC7nay$K&@X`v$2g>&)SP!0A2Pnk?e4jM!x)-4G%TCb-~f7IWHLjf$!RG>gQ1hWnz=$tIIjhL?EB$ z?8E+@tAdS3o)SL;% z7ekT`i z3XvPS^E$QaNJQdiXC$IHJ2Tx20nC4(T#zK?C;HOCD^$1_3rHKIeuooSoz6xBuhF*2 z^OLKhZv>{+DF7p(K1sU{prw=vSZvG!i1wFr=QdN(icW`C*kob#RxAxzuw5$y0!xhL zY+;pl#_-Kj4DL?0yVdCFCCwXZi0cy(Ii!@)YsIQ+to~yTYxGv*n@DrOVEwU6bq#RU?jU!ewFKiz`tF0v5 zmKMF^@NWlxty7d^tp8qA zTi0}iDq3q8Dco1f&&NqTvBFsZ(NTUrPwRFK9koAm{*)*!z+8U7rugOoh~A3}GAH0W zk~Os_YSvvF#+-Sk;Q3?cCkb+ns*0TnM3Yt+mxKy&Ib4!UT1;e9)R_@oN9LE=BsjKpBNn%f7m&#$A z(3TRfBLJGRH#$&G89hrsqXVTU_JRaC?V|HvStFY5*O1nVARl(tG#pqE}wW@NlK zR+ZTDYo2G1R`eJ6^9k{559T_0$IcAK#uE?>_B^KjEiATe^r-);Q3c^>^#d zX#M`W4p6qHgRp5h^ns|{p-?P0s`|_Nn!dN^2PWj=j1ryOglrs5;A9N46%sB*#ajYW z$b8xsqI>rcx&Gq%2+o^L$2@_u%7xOv}1&hq6vPP&eL4i2; zo!QiLo$pt@8|M+)9=@RsLszO0>OUAXvyMeJboTpqhk1VYzD-4Fe)-pym+Af3&!b|0 zv@|Xws~~fCshX$_qqDs#bVePhH9WFSz~g@*RwH&-oE>*o5`L2QmpuY&#ZU#@sEx3v zbUen%yDnDO8CXbWD^UhbT0wQEynAA$W~;`>)G&#MIIr9o{Kf1G4!Ru`7}m>ai~&DtCvr7jBCg=tEB)9u}Z|zOwcDY zB@(q(kHWgKNnvRY*W{KWLc(BejZmF>714^0_!$#@u$n~U8Ks9gN^Ojik>6yfdyyN>{G_KooKS~%)3nWMSQ-si`Yat zo76oZE5@Xg(u_+5lyE=Vun;BNPuiu&DqWE398_4hr0)+lO6}R85~Zr2s3f=6KoxnY zaK5Y<#fB)A1FC6hL2b~iRlo*WqjyJi&7i|DDvzA#lu3XUC?fMj|N}on9|1sDhKYA2EoD z#GUj<%i&0Xb?7f40vKf@u%qB7H(FG*_w#@Wt1EX{g-t0{@GE{_Hd+p*QZ5UhmlV~Z z0n7Lm4IAq$^9YvYID4gXPmvK@)?XDMr3~Pg`uh@k^C5;%fTa;fq>${WdR8)Pk|d@P z1+7eG8d1x4W1s`<%~soE8MgqfA%|99N0h$aS~rrNFM$OqGpriP1oG4y+QInOHOufg z>#)GDs-1Bzrf8;y=$|iV)@s9bUNd#ahyi4s{C_Y%@B2YzAGbBL^Bgl1N8onbc2$$q zJUMq;m#(Jy9^$&~fP(-Q!e#VGqHp@7#GeQ5n&<>ea~kWf6XQEjox_H%wd9*apldo0 zX#jIZo67fIns&?57~HZu(d>4 z{a_E+jopCMV2mp%4YL*5QuMmdZc-kIV~YS}>PWBUmKHZ$f^eyA!WL*nG@T`lOW69R z6cxwz!G|0*L^B5Nb~7@w$`i;|bvMCetVptUhL))dvkAW9p{cirW$Lm*$8<0ul5tKr z*j+$WZ6K&@exoUjp!E%jxOJFty0}T>Fy6+(x(j8aRt1E@F43u9pdDOW4H=9OZNDTt z2`4UJi*{_4#u%~_?dDKZi$W^4KUdMNw5-&GUdOl_YFhOrV>ZJkg@&@(!JEZKuW|2Q zCgqBdYVXlwM(5s^9HTN#fjNf{4B2G%XtK1deV;CmITew|rI97k0HA7Ol96~1)Dh6y z@o44wBYFaLs4D!dS`tXIRV(>%X23Od;Ciivjk*0#{!BFNI`=5TY7jjrbVPWuowYMPYxFr)&+z>(#8@`>yJ z05)OWrRZ(t6d*)aP6}=xO)sW;k)d4^^h^oY*zGT~$*ErsBef^F%XHL?c<@P9ux5wV zyZv-_l~RO^9&BfJ>8pO~p}H9_jMT)7Q0Q`;(-_v+GxH4lVgia>UZzO~BSIS27+*oJ$I4Z$vVlNd2-iSV zl9rL({vCSCj+kC!=~_ za=q3sLc4OmaR_>M6O||(K9H>usvfgrT_(;`mA*h?luy;R(Jni+sh3s`3jyzv&Y^t5 z5DVp05^2yyMXXGojtE>ob}D7fWUPmsdBoCU&1MLRM~Px}Bp7vWKoh4QGjq?z#~?am z?HA<-Luhzwf)1^kfsAAREyRHKHjSfa%7*}IBoO3Iw46XeN})muPxtU&2Teqqo) zSO*YVZ&~3B&qU7le`L*str)@mg7wu-uCzZ=W%Etty<1bWF+D09S064I1jOtqh?APrF|;!qXhWqi8e{`C3N7jMvKY@lY?oNd^a zl=m-3FaCV;;?K5B!z`%koIfm~3t5TmxdCAglowH#_PVt^U(oKdKaIy2|Cv>2+LW2S z;+q(Ex=}pLRRDwvh6BUBn?A-PiqA1KVjoHQQ>6NaBUSY3i4Kf^y2Yfwn7|Up!5GXJ6^J#z;GLm>m zcCqif4>~Czw`coDY*NxxSV!sDC`;Tus=&}mW^Jl3G?f@;82)n|tw-Ovfb$2SsHizS zgtPK8*oM<>eH=(mBD8f_#?Lvu!4RsK>lIdpxbv;TLj(>g;-5u4j<0qzXEWh8=oU~S z*OlVdj&f2|5$IRR^cEvP55biXpljW*68$`({B=l z;GUMNAq+-VKZ`hKha5i}Mc5o{r8pJ)X(9S#XDvo-!`nB2t14tNK}tc1y)1U(T3aOC zbUV-HnMbqy(jq82D>(ST1E*+M59nY@aZ0Kx9)%)gVDty4T#46`?KUG*S21xwSbfWjArn3akmBl&df|2{fF0&ax&g7Q$W!>-oldo!@#ssJN()&d>a z;_(MHN@D2JQmvY^REUydK`detk#}1s@70#`4swTT+$zNEYW&8+NrHxJt4xO+Z)rAM z8@iPMVR3VAg{AguaGClJgdN5d!MT-UtzRpKi7p)nMzP}ic@Urc-aX+o_rV(o^MT$AwQKf^z z$w$f{Kr2Bisv<%D0syAZ~A-v+@KlFw_ zNl?fnqa(x^!p~l$P#)lOhBX~!6aQ7UCdivZFRQS_bq{J`FYz^myT0K1A4ss|E1LLh zMs5$Jf0C~&ZDVcw`$&U1yQag)Bg*ic=8#kgI`2Jgln$$_za1Du^-8SinCBq0F5k@l zZY`safE{0HN87vi)CFN^XZvyUV=mBit$evi*SL|62f&KqWfUT{o%%c!(p{an3cS2|-`;-1y9rrZG#r)rV@2%Sn?H2p{6%`D z?y3?Y){OM*0cEDoA$2%K!4d>1pYkk;+EJq_i{aC$9=rY zm?PDtUzgvcXA#m3F4M1gd)}GlNF4rFrWH8RR~Vn5t5={h2{abKbHEsb!Y(AjS_Zvl z;38&Y_PyZDNl(Q+R!0z7z-Ui_+WtkFyKI&mr{>|DWzh?DUmm|!uj&Q?LhWaC4Br>U*R z)CTHwt;8V2?dUtNlvUzyyd^;(X{|3QV_gvocXa2ByVeD~`<|D}+$qznKep~(=N zfP8T_O6-{St&O~2N#=IqxR4aUNh4Crv{*15mJ+L?+NRNx!~xMifc=x-_q46CzJc6cX^$uCnp0 z1A=mFu6SH3L+u_A4v2oz~^=#K_* zihM1xO710_;4Tr&Pba%Q@XREanaYavzGu(nR9hHK1vVw%{ErdqR#O_tt z<&1Gvae8%NV7o-r58!0V<2Wqmqj+m}dvOR*6Cw0@JTV70;t(oA8_wh&=uZ_K z7UsE#6Lj=XX4))K(>D}M=^M#hZzw+1;aDH|gMT`**PdGx7n;}bj=J|M&TmzRV;CZO z&YXhIq!lxwpyL1+W8qmiA%03{^H@TjF%eRTD|IK-Q{L*Tw4&~b38yQn)S=}`^hINF z?cPdDCT-sYqiFh_UOU4`uch;0hA5AP%!*eQ(x9;+^b#pY7yg>M&W4->J6vhzCtEMH zk5%E-VEqTwRyx`E`ZB34F%el2Z9vu8`Py?_MAwKHKzLT*?8 z_QW~f##9um@P^;;0S@CDVc{mrN6vN-dCP6Rf$Q4}ps$A41BVBuK!>5vPqVna`nJgYQNCZ^5W zfZ6G>h{6-Si1kqubm;6RtwiT)bd8z=zN3pHmhp&+$}6+VS*Bolzj3@a)YF16JCT5` zRc3>`=}v|}WFJ6?>9;(62w14cX6(*J(7g(^q$^dwO)=M4qL}@{L9n=8&)rvOG0yRt zqM2WR$0#q&;^17oQ1UQPTh?^SJElZNGw0>JV)oa>j@7gSo)c=aR4rn2vs+m79SnoS zKL!0kZ&D1;>(LcnUPom^Y&@XYcv>SBXif!~$Ib~SKI3cVrt>027m^>zAu_r15q)b} zfd=}EoU7O~8nbCxd0HmZj%KSz{&8wjRzrGLg*e?ik}z}AksvE;ApeeE>FB|FEg}oA z41wNS8H@geNVIZ0GpmE?R(+*VK3@v|vlJ$HvNLrR!=aDvNc4pc7LmRAD^HEqTskD( zp{a`4)|8E>ocE5f7LI zp#6C85j{$gw^0}aU$C0b(+6x7&*%b*m$0)0t}s^J7TwylLFC<`OcO*EOk zINNxBxj2K0+PXB#-N$tHtdvXph+RW%Sc0Ic_6RpOQF;)Fg@a9?{Xx6}lbYj30)s{~{ee&U= zDDc=esK5YjNg5Tz+H~Scv_kjCEVgzw1*Q4qPGDD1zE)^&NL@v1)rQkGQ}MdktjnxNkmS!*7|T=iL-(0nSYWwzb3uL` zEo3q9u@c$|L#39XA`5N&O6)1?-QK`&=gJd%cCkx(!j=$Jw&f>qk#L&B+VZ3YaE@>1 zw4k<7l&e1qXNBfx*gw*BtC4c*<5PLu*~ ztES_Nf5*>`PEScKbaH(5_}R54C*+PRy`Q@v=W(x!rXZudb5 zcoj2Q1-3%v5p;y|83QX9jgnF0>Aa7AB_^{%-Lf=ya7-s$by1n&arH7^w5a_c6rrw3 z-W?8Lt9-Q@EUP4d8612pD`0eNLPdb<7DN}NTs_>wX=)r%l^fKil-k4)YmX?5sA)_m z)4d5!!k_vxkSCSZt4m#LB2FyM6cs_D%C|c4%D=;m8&QX_iyI=3-Na%)s{F$eWMKy9 z{?na{xOjOruIs_UzDrs^aFnTS~zjN}NwKsRLQqAaVtf{Gm{zVc1AR0ejGbj(*a8NDf-(2(p_!|?&lA)@@? z*AOezG@G@eLa|=fC=#KL0Xa)4j`&rzD)op+>)?$$(j8@FSS>4&tVxfx-Ct0!6a5g^ z8(+R2YI3RIPiOEg`pR+QMn#UIEt*vw-;H{~^Ft9!G=sq%qfZ47#m`xkbDjrt7UepN zaGgcDPAa@+P1Qqd=q#HTrp%#P(dWl>Nln=FqI$l_G#h4JKyg4CX-`4|M=QN>gvdg< zrjr!QuY-J z?9eySEx9subgqls$lz(^4tTI+zzciMVW$S%?HcX|BwtRRR9r_`SXY33t^(k)XW1$+ zR#tW)P_}>y)9^bP&M}!Ntc^0us^eWf7H$>~JBX)0NRYV2%##F99j}f2Xj8k2k8F`mb)+|NX`O{M3v#fslvBo3=Tj21Ovw0EviZ!+NR-b zsMk6xbXf2}eb2DG0#2twlb5bVn3Mpy(u zLF(o;aiF+nr*y!%oMd(>B(AXAOhaMfwf-TMq2-NO)*Xzx^tE72lUT5>3>Wx~Ktyw% zL7LtfNf13^HEPP@nS=i9;cRMV@sH}Ssk~x0V}16{N%dydINaHwSa8V(b*4=W2uccy zxMCzn=ytDqAkw!F{l>v4rrL4u1BkNZ;K!j?Qu0m7S*3d)z2Q^g8FSIFFrRTlUNtH$ zHxI0P)oj7Ih<}oEB6LD{~$_~Z3 zU%ey~$pn{VvQfunJ{6I~`{prL&V?3^&UbkkZxku2Z1ITHH|HH;MiG!;oJxw#2MHm9 zgcFZRO5l&OX(6?CE7FgGZ(nc|qkP#}DW0SxZZXNI zdr3-3ci^2X)CtSt9szp_jgm;0Z_IxPR>pHfDPph{cjFxz%Rs4;vwN4_3vWNDaGq7N zI}Yu+;4+&dvQw3nWOWtBZVsdB@I%TAZipwVVn!TRWD$qOLlPX8>#lT>uq@D%Dmy-3 zd&eEsiX-0*L|CD|G}6H(%NBfk`UcpJSF8xEc^KQRhUQk&1Y3YnayKADn;v3xWWTq^ zAmvbzK|L}RY=#{4F5i86F=!O~|FPTR?X;qXVl~}|s(A?< zcygeiw8iVABiR)#c-cy#haj|dzX9612HI9SIxU{`C$@|ym#U&RT_+dSM7jV(}Lqc}6*{8H;&3TdkGT-s@C_kSAFz_PA zNj#Z7(aEn=s$50u$tz;y_dCJ5P(XH@O!&gK{03u=~mD?^HOl`2b#O9c!i zrW839B3CLCDFjf!RIq+eM4WhM>nGU#z_q@w)kIvP>U`@YQ)n31OE9UsFn>f_O*1~w1}^###I5M3;QFA08bKoC(+1OlPq|(ONKu1tD!m(<1`p4F$dYwwGlWQn@ zlRO(!xGZyhzz>>*|L9y@6TNn2n+GDrkrg@#CCQjfm7=YK#jOhIl+J19HY&+oB_&b0 zt^vu{fWJx^zD6`}&St`p@0imk*WVaF*OqC}SYh!$oUw|l3mPBtKbl)3I2A=407r~hl`$m$$A6WIDYqiMf!`Xg zmM_wVwM-Q|#>lw!YN8hxyAkz~j{YJ7f^o5R>UIpQ9^X)r=%x(lR5u-AA#g7Zo7QL};o@o45Ep9NEPZGrRH!=eUl}k;aE(3Grk8~#ch#K~ZC#|@UseOS?L=U?P47*x zcLLrALC8hbODiQuoiEX4;`)Pi8zdgOXOzK+>{$wSjTDK~*H+Ef_Zw&{&6b|y1SVmY zMoveUEE)E7B}l1K>l`eu-%?qt&_$K4A78*uuWGfVDt5@0mpZiO0PEm*Km;N2WRlX& zA1^v^t-2e})60H3t$>d^b{2&IVT~7tR<_)0x2rsP*hL^lr>@7=HOFx44?!&cZEZm{ zYq6w9G-G^7W5Yn?NPs|o#w3i?$V~B@1Uq~Efo`_zEW+SF#M?n;_;K%^>(^=~DsXJ| zrOwxZR7i04fFs~b$BC?;{7{Gnu*3RF!4jGtaor9(c~VW`3stE8R?`!l?BY(}1#$Hq z8Mm;sHW2Hshvdnq3pyfz)VYr8DbV7`PxcVi7{!^4kqUCk}9l25&C8+wpm3GbIks>^pAI2zsd=BWU64kYAz6 za~wpfHeWLe7SY-9-{QITtZ2gHNzG_VayuZW>-JKehXzU_WN%Z5vB-6yC_CEQD5?k5 zZ%5KDuer^tv{NNL09EaX|F!hLERn|?N?N}_Cm?(z*bZ0AdIz@eT>nf7tc7i^IGoGl zHdP0d5ANtR(cx7Y?pHb*Ws@TFOtq(etUiIpJoxn&^kkM^*0H?FX25H#IHr#+=kK<`R2dd;e`;;o#WlD>~U0q8+fGde_G5Gfzc0v)zQgy^pM zrX!SusfrZ{hY-uE76!eQ4Rgc+M9E)F)6~o?UhW%3KvDzC7jc|n9uo_s)WP__|JVOb z5qNTRNWqmrPQ^L)adF9y8ZSLbb6U{}dj7?b@j#I$Ig};$>7gO|+bVjbz zh(#z4;5#O5D4!Nq@ajFT7ejm33!WZLvC!!P9WSsYUEan z!NhoO07h(@Po^2FKiCz5>{4PZehpnhhUHC!E*b@1FS$TlnF1w1Ej6T*A)8l(0%c&< zbUc8u!5ehFp0>_gFsCeLLPn6{Lt{0Gq$?Zj^BpH(n##(i>0k~}{VBx=3D~DJ(ft5$ zzHMjE;LNZB{9E(1uR;TBNgD9M7oM7 zMYma}sOcJAbHqKE9hjGlmW+KDVOU;o0=PQUVTK)!R7GRLy97miU8u>3qKB2@U|#_I z22U-R|94msG@8t5cYaXElCF-!M7K->s(KudzgV;oIDycbGj~`5c6FA}9Gc42g#|jU zt`I^{)c-LJ*n1Texme+k`+VC-ERF5m)6X$>mx2{emAku4-N{hO--9(JfsavJ@W21p z|8uB6sCHvz(E~~ADvfKS6B}oXuoZIssSoG^8g)FCTZ3afzGip~0JzFXfl01X3~E;d zcW&hFT@xf{1<>=LPEW*bKraYlX-3-&0L4)@z~oMKeUK)#6Ew8%1jaW3lzJQypfn7m z(9}fgv-vukUc-?MUw{PTc-wWN0_n@`0qJB6EA$6Ilc+KTPFfOci7T#1gHY2UQn4(o z4x>&1Idqt!M>8d9#7jQpa)B#TFpCE{E_4`L?W!Fibdj`}ZWU4ZhLYewVJFnlR?J~j zO-aGz0cBTnpoh)qoFRb%i?;jq-DJ z9fi~Zmc{e=^B_&J1lF5fW`GY{c&HoLQE)V)tpMAAY8#7YRkRn?Fl`p)ybK@+-7Wz1 zkwManmoJ_=fn73=faquTi4`h*mq!$1dxXMG>=fS2(&S0dCRms7r{Tm^LYi>AVY((q zz+5Uh5^U?nwFt{)AxUOL z5t^G-%apK3LZ(z9r$BvQGINPyROF~GvvG>7 zD>LjEY!YfFS*$wdP=?F)$8YkF>Y|1KL-DmvR(EJ=@RT|?Q6%6g-k@nlc&JP>lrEpU z;YF0e!bf(Dh<}ZOnX8I8)+hcnDNf~-!TDnH=~f|&{%O)=fYLj6%$p5%OA>oX#9sE# z&`SFt8mCus%(X8y?e4Qlxo}~^xkx3+nPz|y%9(z2>zY)wSod;;Tdd0#f2(M*SCi^l z!Ex6oLParY&8F9{(>QsPLM^~Wy}?Byr8?CNVmSJs5&aIjZC+NCQ2=LpCtviP z546y+HIjP#q$oKsh8^V*ap*~~R3lGTurc0g4X?F3%I&B^9NIx8B0%fUr#EBgB$}5yVjiqV7!f5~8XsPf zVuPz-1#TSmD1>Ma;8LFF#^o~7*7;tx$Simb!CS>$gt~H>)2>4Ua>RMLRa+$1+ znH*22`PGe~OWnY9i&X*I;!)#{sp{Mr%Z(SUnb!wGI8uFn$6rvpqqDJz;82Mx9LAsm zNgx-17ysbz#)dTe8<<)hTqDg3b#3aTcKl*kDUKS8&TNlZ&sKoFnVJDQJ7zJ?;;c>W zu*jHc7=^ra-vQesxE@J9b8N-Lth?qm#zcjijkpT8zq%&=*g^>o?XIS2Tey>{Zj~zT zr?8H6W&hC9Z*LXF#>&MgJ;%tgNQqvd0GJmY4HXZ`aL*h%Vpv+VOVBVt% zkmxBdfF_OtOF-F=XP-UOGjTJ6+|Y&n-?#g7|Gv^y}PQ>%bsbJx~fyitN7 z_u6wci237kJNe*&U@=3hW&~Xf*$T`l9>Cn+P}YGsHb?0`3et#OPH%Y6sXi@gMP5r6 zeZB)_TAHB733rj@s=Lu`)7)^D_m4MC+X(}bfKa0 zT=EY~eJC-1zSCVVx04sy?**=PtBRUZ6_Zy+Kok)51{gZ_7h=U5>p@I`4xg zI=rqL98kzqr8Y2CW=K?h8V@d%2}`a%p&c8>p)#F+V7*m z=mf*qB&_q_R+rVFD2ZlWphRs7KK}wK-{wtWpJCIvv+dvhaX7TEs{%aVwl)zT^gV7B zM^?WU7x@&;DidEKqlsY-CP8^sFbN$nigmK`l^nWDYm5WV&S)>3oz+YL-3RhsxZ1*u%^47Q_xQT~ zMZmE(Q0WGNYsARK9w~TGG2IKs?#BP6q|;r@-Ur>KHHPCa&2XHYuvAm zWvF(NA>&@+H#GP%FM#cwD>xO^2I_f-UHTxWg8{^rTV{Q;Xr;vZl;fO*XH=OM(5B1fVF@4;fKhYI?zc5;Jju{`^G6=%_TEnl+|A5#Y`K@ z%Im*`MPrV+KFcTY-x>vdpXHYsMtvXW<0Si((VY{&T%im0^BG?Ii=O9&w&0U?ad`5L zMr^-&9idH-Os&J_?x$$Y2464vOlFfpr1tM-!@HH{p=A1~ghg4wia1n2UQOeP?!?jQ z8)c(2(me|`lbhmRPr>#Yj_FP-em|&K4UMjsK76;Oy zpCv3T&&ECLKA;Y*Azd-b^GQKKf*~(ChJmoWZ>V|D_IZfE@GilC&6^9T3TYL`Gl9C2 zY7Q!_!W{j=mM=51G;KjlCY#FU&~`$1A$Og3T+-DWr97d$BTmH;~5A%sY$Ih=Bo$8fJp)dgQoEZD1YV7_$bCdNl40i2og zjShWu@70>mPaHyQqoa4!VydvzNClbaSoCq`LtTO2p^7SIGMg#vc6&LIsRik)_HxDk zm?`sO=Y>i}56D;`kfKIawXmA>G$3#bOk0g4Sp;qFqn6U8XJg(v`3%{ncyxqn)1#Tw z++kI|lkv~_l$??wsPdMRj`TDI#*s{ifjg$hNEq??zw)_ILL$0uH$iIF*lsIyB9vVh zlUIHOmv2903^nmU2y8s*S!r$3-z=RiC(Uuv!UJ03@I#RCcfx=u*^ckOi&kP2H#%jO zBUsFkVyYVt`4+PhVw)*ju{1RdI~*`O(z~et9K?82$YeD4o~~kb9n7djZ?J-4dpr@3 zq%ww>Fa~w9hpur4JaDXVvs)jM79u?){1Dx=R?n%skZ#%4$eN&=v4)R&sb^L2D`w2r zvAUZlz5TtzZ^_8R+rq8mP}c39i%V+v_mN-TaZrUI;L&{%!dN`LM$SZI*QnlmbkJ)U z%C1b#2~_-F$|~S0zMK>{V-s$&{?ea9%64BBK{|ovE{LW2_M>2y8pC_>6`63N?3cJ- zsPgGP!jM3=x_Cq@KTB8K@{2d80EpGt4vIahF2bdQG$9U~B?Kj&6ju1Zo*{jUyQC6J zxTcF z2=Y*cds!5Yo&qIqN<@>OWCv2GB!N=WDafOocw{qmw{%*tH5AaR#`Q&^E+d-}Qll4q z*AAFBXUOCff+T8qIgjq=saXhsx`cG5-0*p7R>Zu~s;F78OJfair>TK(w*Sh;`NSCC zV(J|Zf=H^EJDMbS_yEUdAsag!HdXOZ_rSd>Lzj}RFaHwNqtai#u4X$_mZKL>4n@U- zJRYGcv9e~JK^J2CLjERI6R>uFVKJtMgJ9*+m{ynR;r&TKyD%7ak9msbB$!PPQc8DZ z{peVR)r5FawHfs+nblKQq@_3BKy@fFG`?vD%Fj#+Q~nvR$04S$4eIqSO`lzOOFAn_ z!X&_K1Rb>95}WFxWztfin;?#5L-{a94dbSXvjt?!@&NA7vr+PxkX3!rp5k3ceQrjm zN7X9>uxda_!dG2qSl|auLm-CCHb9IU?>lUeh7-~~tZ$J^R(lozHN>{2V=}?UVI{b0 zMZZqtiPnJkukEGHw6F>_4Q3^gn_74#8*YTz4CfajXbFpo1(sN}$|qN7jjfoG(!^o< zYMOllYDszxb$zvQ0X@YkyYy#+SD$ipYux7(&Kz#)04?8l{hp4ygnWUqfy4CC-@~;f zWS)leM+Sr>RdGOa2evZkTLE5y$#5`;Bri^nAB(z~)mP*SQ#U+aELd0)VdVT&hgDU(qLRA~*% zg9wD@XEhO&3Zp>lBz56oQ9`x%S&8BKa+Nl^cW2|)jJhFDxZd)WTp1S4i^&>!^KDh> z-t-_oV3*-u!~%Z;!od=k>Bb$`)=#h<@)AvPq&}$-u9dDQ%n%m#8E8<2p?*d+#L-{? zbL>sZjk>Av-4LszLqp#b;6@X#hhItnuT#ZlDIp*Q(SU#6(k~DFy!EkDP!{JOeU#)N!USo=o+ zx|1<5akEn!Y|`aRDxwK4lE|2dfeWys$zw32vHTQ?0xMe4&Vnobi##ST*d-KYu(UlK zzp886?>?OX_QszOXW=a1e-6v1w@M?I7V+sscL(0*Z+c6NqC=PFc+Pp-n;-5|!F;*Q?d{HM1CnTS`*J`4S`; ziZq&0lF!)pTJPP5-bSJKwad$TvI)EUSE0kcmFik3^Cd^QtDqoq&9S0X%o;?8??Rjk zXUFz>1YgFeHGC^rgSnJvX?7HBhaqrjwa~3Xo>-w@h5>Lxi@;It=No7&9zM`@vkvX1 z`VP{d-Kb%5ymQNDl{d1L8g(@&t2Y?11Mt~XuE{c}-ondm)F;1$As86v$FOBXJL-~! z_1EJ8!L$ai3Nzw8gb!?{B7(P06%p>RYC++8kWZPY2!`@lcnX`!Ip_!dv?Ay^LZ05NETB=vwX@`iIY@q zilU)EG(%3qU#s@r4Y%FuOKvu%&T-0KJ#F0Ls&Kg-AErr4<5v=*)3n<0Np6n^)pfD~ z7a%8ORe@t|6|ZzCd?u9$iLKC>Nze;59SViz^y*T_gL0R3%n;LGc>~0NYIQgkWw2D4 zZZ7OK48tay#~W4O!CZ%Jb9rl8W=9Xj?l6b+D-kk0cV2Lbv>fRhN$#F%>b1gZJ8=guAdA`DObjo}R^ zu!m$53R6@lvdi?6FGCQ!s{~sNnhto~)E1D8GRZJi(8|~9of1iUC=z4!ZWC$x{T%wE z5U^d_X4>L&Y#S(j7FDY>O{A;1HZFWSfqU4SLUS>dveZ(|z=2QxAO#|^$6|7%w07(S z#=?^2%U6pB$Bbr~tEaW(Wf`l8A+ONubWwMdNP#JS7_}?HIhHejuQ0@>EZ>V2mG76(1vhzp0&hj@fDRFw!;I9m3$~`ow2_T1()2E1 z(1gGg_tBBN_RPfBP&9JuDR1&UIB$DR6{=cPfj8GC6u%*wV39dr3FAuY4Jd*lGP)jz zj@iC^?Ue*$ex$vXL}EJ74&U{|i;r5q%&=7O^*Gs8eQS$c*{^AzC+e2Uc}}JzL$p3- z(cTqZSsSEia)g(|Fyf@~!wF}>3_fUgap4VA;JtFoIzax{RJtxneI}e>A3RPSF+`Ay zx4?}cQxRj(iO6?WAjxVSOY^Bt)FctJAuW}=Y1gTSbps#ye8%Ts#5c`rj=6L|lUkwb zTzaL#&>+;?Cm9-qSNGXbr%{)I0A)a$zfeJhY&vYNVFHj){L5nACm#lO1nTlqkIMJV zkX^5SU;wmg%-HO!=qeksw)B_1Kut;P0%G+a_ z_+^haceEEA{aMuOn8huHWM{lVAPmM_^jBsfjtK(Zw=7%$_B8Z4SS?FR7=#G{i$j!$ zprGlGGj+-nN}cj(-zQdjL-j&|FY4a<0oUA8uh833d|v3U^zzj~i4;b?gzx5;2kw`G z{I498kg3y0JD33KM)mQ5kIrF2{ci*%E8utF zf(ZlJ<+T6MNGSuXgC=*Hu|8AVbZg}Wrl z3x(ibBC%T`F!w@&M@HseaLV`PDIbjAy;!_h#uA#!_*Np%B{F#2?Ld1((N~}~bo5o! z{l>NIF@WLHtBRUlq*wL8Bx{LDMJXde2(-n4Ful-Sl?pF;n>b)1enOSi6*c9%C$a_P zA*;5?S}4kea~Q9cm4mj;sN~miVN82w!vO}#Jw%Tufi8`>!A!|JJg1_AvzQ#UV~{&_ zmAF?@o}l2d7bSU0t|R#NM_LSG492HCd|)WwSu{@5gl{@=Cc44mkwQI((U&w*rFo~r zLqByJM%jesEqPGVWF5yBQU|dpbw$2k9!Dh*d2$VOWHwMxLWWs>d0-puj%}$f;h&0~ z$#p%445q%DgOSrO2}#y=OyURxfZ}5|iF);(f+QA~u`D2;PX{S3oOoSy_mgY*g=1u= z6u(6;dzo%!WsIY$q8mj%7wNHiWiL0?im=x{V^)p=rdmXfSDDj90~zLCyH^2t%M?m5 zqEiX#EboGm)5+?h%Xu*)5YYGI z822S8dIwSf?_kz^mmK=E;jLnPsn#y@WIjrTjKNV#n>EKL^z52^bKRihQt{@DK}Z_8 z2U>2r7zh!%Oi(Ky0CiYn0e#HhEI+F}4#n_zK9f;0fGmXNBj6QbXu<_sxF*NUteS7u z2QWK9?sVG5Ayz*-&&V3c2EF@4F@OuC3{yEG?O}aX^NIjsZ`@{k3V8w@W?KgLf#&%BF0FKpY90IGq%FG{PwVUu~IDki*0vG5#(Nz$aV-r()K@KUEX3K=Rrt18w6lH<=YkP9@j6O0m%h6>HfVcP+^&T_ypbcLC%#W0tOjM z@-3TDuwY9H;)ftDs5fe~#GgTV&z7P*eizd^Pf@6id|sqi>xJ~90!I{3^ye2C7YuJH zf4pu*Co^X1m{`fkceA;* z&;=2OuOjOnB#E+_qJy-r3iNC{X8{^8ZY)1jroH5w$aXFAukGNcY5Iv=I?veQ_kaX| z6cPL)b;?tuY>s4+UQURkfA_&zX_&k+7xKr*>VUFc>RY02*qp_3ycL5yl+ILXe;=03 zttKZ~SyG}=ah0fKM%tm(Zsp%xT!PF5%1YpGi(6W+IcHx3bz7<(WQJJW4P5;G`{f!BGystjal8SFtXVS-75=l zj9A22#9H7IH#c1o0NqNha8V>837frRI-_q0b7S&;UP&A&*=c4FY->^wga6DPvN2%^-3Muwd`GviOl0n$`p0qN>x6LM&Bwm!@kmRV8$TNKcc-b8ZK}Z!UX%vD%CBODq6AM`|11fBNF|+hXwY#U^^!| zQWg(VcK{bwd!aMh&IQs$tOe1$3pORGqD~LO6Rs~p5jFlPhhw50HTXmHA#KU^udlXZGD4?1xhkqziJ$K9Ct9PD z>;AI9CLe|*BNIY=Z_y_skY5-bD+KhCXY?cnGU{hV&<9^CA{m$kE>}4^tgMq~gR8sk z)HW)>eThA(syZMQM;GST;{l$pkrzVDVIuCh(Yka{FdbJbc%j_nsJc{MvDlQo+9Un^ zvO1B?!m87a#jwm_qB`RZ)J136ezj$z@|L0ocITU-Y?dxhsOzQ*qLDx9vuIIAhj9+M zm;HY@>}K&w+ukj6nOlK3e7U*~zGM)XB#tqPokk)akm{XZB0tn#aZW^P(mM{9%9|H0 z-u5b@XWJ7NnQGakrdu2__@S1HvBy>GP*Yu@Ws-G;1+ZMo9h2GhU1s9^ts30V@d0m_ zhOrOrZjDJ6q7Ks?^t#1?6V(TDxy4@=D9m43{_HjYDJRtd$gD82UGRl)Scvpqg;CuP zGO9*JAfZyOjsiPEazU4OAtU1zqZN5X{x@j>93gzQ)QiBXhH48pu%o?Ml1E8au=vKY zRg{KKpR!n)A2~rN8okz%1KwVm`TmBXa#n9-^jTH{-P->1hFwthpH&?&i=vJQ?Qn2y zF+{Gc(6O%QxKlUH!97T(EZZbO(a51ptW>KDDUn5YMld80uP*L8juY`RR+HtG&rG~Y zW=|=%FQF?%3k48VK=#|X`m(eyH)c>hCpbFhz`$>Gp76|Ab|F08g&Wchbz=Hx;N)v? zE`LE@Sye8M-c?V~YMrkXT`u53)V8TKX>$7M^B{jtDS#fQh!7N3Mja3#~Qrk*f9A6$|)Q;$ZY}?G~qo@sg zr(=&Dz{L801h<(?5hU`Pmw2HxcqzH5IFuwUje7IijQnI6F@k6>Um zAH@9l^YZnE=53Harj48m$wV@7Zn5+6XOMm-DCee@Yx7zKza#TP;S37az|FAi!p7?S}Ny?WP z3opVz1!RV)v=hI3ZQ=7mo^L%Ql(D`#Ew zMsR1I-&enHw~}B>8qjK&9Ww7mZuYcH84Y(bjD4OegB0WSnk0oQN`Sl0AsgE}siV%G0(;(dr5g2&}@|;e{0R8u^HlpF@Leg}^kV8)n3C;xklgZRPHay!_F3JgC&h za3Y-o@=NP_)qX~Y0(G-m?vNVM@6qY;%U4g&PT#(I`WoKq{&K>;;~Y;;UOzp4qcR@A z5z(;oTzx%+rR_w0IG9OUf(MN!v>%a$^J>PtiUF~0S3|?&Jh@g9eb;S?B9{ZJ;#nN~ z>*HA)2UjZO@^7)CGUUqG(}s~Pw?SIcl^5E(oM)d>dEvp?aLHg+R>zBXU<-Z*+C?nMGzj?#kM2e7Uo9MMLW_$~wT7a|Xg!{h*Tvz(( zc7fY~bst8?R&#Wxy8@o&Jd}YM)=jpGANY_9fVFftMTp-ix

^?9gtGQw~aGjzN5D zB4cI}tfdO`6}Dl=EVR#Kst{^9-bBhIgcqSoUD+T6DUe`Urpm|on4O0#k@D`A-HlKa z1iS*krE=F!5RiYSAxrVfc@h)I=M!KyMK-HDnD~$V2;ygQm?(on8F*+$pZHQZhep+k zA!H&8TMe8>q*0uvlN1eU*o$B`BOe5mGMiqb@iUqpke-nOTSmPUSdpHs2R$7a!@i!5 zP)RYl%;?DCQICG91i-O6JsFMC^LP}kQv`OZZaqr$1WB_~J`kXtje^(H>>{$tcBKRC zvyP-VFrp#(InNbRFo?2wBep=naZ4dZ{9ZX0$() zpCwY(UO}xzqh%lulAmz{=GGIw2|ym{@jzPOm zQXq<_X@Z;`eM`s1ocfN?GG@O39Ge$#!dTapp$o!MI=fGP38RE+VegsB52{%RB)TtB z6&YB?*R|bfE!wDJ%iwl%K=V%_C+y=Zb-vN$$f2K(>v$%`jvFWHi0`|W-cocr(kONsSJ58}EO zr3iodUbs(n#?vIx(IL%eV5{lF{1{iXuwbON8}=Rp_~rA$=+uErS0-GAiRU&)XSh)f zfvBb&&(;h^tr7M~=95u2Kr6>GX&^RHnJ8d>N0*kSUr>v(>0+av)?kX~07coN6|R_k zv75ee1>D_mg169=(2*BL?TBBFUYEvUeX8kk2nQ{iyu$O5^dB2ViWQ<9hXw)YNZ5Pw z!N<#5Fb0qLQqUN=kNCP3^#-H7NKL?U<+T{WhL9#4&?=HS-I`JX$9vT0rzmvk(S3QxU-Bl)y<|0y3B+{XICkCO6K#W&ym&93bWWssRe_Qu5gn*^+S!3y-Jn8Jvm*~<~X;q z;|W;nESIw{u-6Ieq5R?ARQauEd8TY5;g@e3iHY{K@)R|dcSy8O5Y73GGLXP!tgZav z*P+0_>MLtQCAXf99pe?N{vp10iKCy8pBgGx6(Axq0<)5fooviTCr&3+0OT8Y;#N^A z?9Ise6z%2Sz;8uSK<~&y9tA|Ch^=ln%@KNwuIjSuh<#azOyO9g%*fM2vqk+mr8{p# zqEXEEP?v}y^k=l(Pu;n?>|HIo$7S!qPt!eh)6VpdNpp4a&hM!*fG^lu9V=Vd_*k`g8$yniejD?_qTVqb;%y>?;gi*wQ(-Y zWa24CB8&mMMy1)+dSd$0(p5d4&v417DVvkybz!_ih&SBx2?2wtgE@BN^|4TQ-kIWb zon2}^MqGu)`7o`XDDHonej;9oVU5IB6quHzSw`vp$`K5bmaPc0virq`Yy}6WY{vMeT6o2sg@D@TABnB zxJ`cCf+lHaOz}G4EXRf6{emo%6;@^iJMh4mQHUO32Mtmt-XoS};x}g2qmvm{FpEE? zL zp;3pgGTBpQM3-pJ)7i6ZoSuw_xwz@u#NN`XsbVM!tpSDw6bj{9ctseo>4E+LdwG62 z#!ro!krhnIND8Pq(e=9S2j+qtcnu!K;AqN;uiPtm@+*xcIkGUPRoiGu0U7jG*(xy= zSgHB0Gr?NE(#ufoxJdJRdR2{pN+WC-lCH)u^f-%6(@8-5OfA7zCY21sqF{P64AYoO zG6B)QNZC@L4TbRZO7EBr{~q!gdt{`-P|=1t;z(a=;vg%49>EDbh)1k0)RlfB7iFxY zbLvyMN7uKhRexNyW~~-`A~bWWw`QI9IPEFl?K62R5ULW?|1=!}LxF6BkeaL+4&Rf| zn3LwK#zj{BraB4;iTx)7IiF7O5+ZxKHv>hT3PNjXV64N1kH7=q-B{>!IzvN1t3J_X zd1iR`ZwliZ=g9D2hpJ~vg$Wbfr2@*VifhvVH@NEP+$>EBL{kIW4xlKQG4OBton zcryMIP4Ga}v>G`V6WR}>4dNr!VD;24%mqCNq;tb=TMV(7#jU{V^8D4ar)S4UZ;t;`nok?fHZ-FuOU2NZHEdzcZ?wCpQA@0s z0pHF}d9i=&E?91<^SNyu1{fe$1vscybS?{8!I|S}akRfa%Cd|aYJ4A}nP0TAk$HEd zsJYE@anb;DKJo_3`4$Zk*_pb@=z^yUNRZR3?_K)?Ek0NG`|n1&6KNKy5|il`ooW|t zO!wBmSjGjetJPm!JuacYR~PQq(uBzUdXpXNuZLUfFGsISn$k6U72b}v+HEC~)O8_z z^2OB`C`43Zy*{eDb)8DRV6Z(K4FIJ%;&C`;{E3OU>tRwO#o&t&(3qM_k|&}(a&!fU zt}^g(Lg)zKZGR|1stSq7fe#2=rC`r3E4QduuHj0Pyp>X!KcKm0Vnz8p9|B>O2@c6b ziq2GT>JO!wVNX<4zAByoM6t0^d2j}hg8{`bAgV!eEnlT(pT7RL$Bq`iqS>>_m~z&lc7Ym6<;uI*zyaOY#0hsJ4Xg? zi>Rh1a+rdIWvNwEs~OpcxfLsHsag5m)?^je7vL7xglw4kSt73~w97M<%k&02V)cz) zoopP+C4bIFZfKXnd}cecMFlHcn8xGtwD1(B@CjKbnyB^%aV1GvnU15Q(>E%7Hp@6D zc7rk-U`a~LaJt{Pkcaq4LKuy4|JfbT{?Z*)=Vk!y|Ttb4e6lShx3U8{IQ zPRM^*4+o-jSpXV6p*4iT8`yLFm@A8aO}&f$kcdseAYxh()zg22&blx{?deObep^C^lU}I|9>hrvh6~V+;Uakx%Xl5=q6^nY z`22&?Iq{3TY@E$<^_+x$jhZ)jN8^FrM)9Z~nH@qPleh7U#M@wel?n$x% zf5~1LxqW;j2jkhr2B4c!QU@9X%daYj-m$-f#`2h1b{cti3W{$S)1(Md~g}> zKc+0Nq$j}I(dqHYNkq@Hzoehfo@D3QEINXp(a~sf5%*KHQ=y;H(fB%I`9BQ(ah7Cf z7~gZ6kJJnQd7hyZROfge9mhp_c7l3e8u0N6eMzF@3)-G%zh0!{GyF8nM+tua_4wy< zBFw;q6Q8?@&+@BuI^Y_AedeaU`1!BLZqwc5XMyW3T#!Y(*O`59TMo-WHS6%3{ z13E+1@!6{!V`e=$fpqk=PhuPR89m8jfGM0p_!T|9%>R+`6N+6<@-Yg+_#LQQCbQkw zv&R@Xk-xn{&F*-{!osJYXMq1O|L0ls=V?5-NH0^){pYFvtG;qx{EnIJGUFo_3++UxWjQlNV$tOS8^zdnghQSLY%q-Sr~ zo$V+(#a}@63}}h70jGvl8&@6i7Y2^*imr-VfshG*eTsm7Ki-)=ICYtgcg0 zUAY}ms9RO2TpM+QAs_ci^c1#3^c3MA`-Z)ez1gg)xYQySQaCbD3eU3rgYe9ttLskt zpkkbq+Bv8g5T$kxDtbk!n+Fwx(I=b2^BTdkqI|T0xaK?u%umJ+g&ZK8rH+nO4szi| zNS_e!*)w*}^6WS|M%!u!U|*#eH+M|X=Ozpyy_b&%(ExtI4`Q$e*Rbg>`;c%tAYAE| zLwq>ME@5N5m|ymx-4{ue5Ego>?Gkt|K2MPV@;1<`AsSa)0yT6z)Ls(Y3|XYdqkfon zMiFYRU^CIR0@zLeIkHH`%)%(*)?s*;aF*Kc0QxZlyNnE8*5$+}o$Di_E8L^D5@66& zZz8~@W4G%?^pZsR$Nbk+ovU|URKGig^+(-!j+{tLdsYs45-HP>v$qAVZRAuEP4F!e z`6I$KvW9{_*&z+0Q&{($ObU)6QMDhL6V;4k2Bq#VJ)6Qfv z&4Tk$GKw!Fc*5fX$ho62^mvrT&ZnC{be-2ijLsSMtTPRz~eF{U_3|t ze2U>Y;qZZP1w5uW0Q>`wIm{{L8ueoy*!e{tNt%zBF(iMy#NXxtGxIS`=?B96CBVUd zUSD6s?+MZ?_$T`JIEG*Iahd^{ei{9(n17CruP4(ihmAOabLRMZ3jN3I*MJC~pygQ# zbWj0FPts3l0*GD1pAp^%%CDhU_#=9HehtldON1Yzr_lQXvfU*v_Azt2meHW$zaF9VChG6atYv#_z9rw zGA3w)|yoxVI@uw_$bulU@O<`=%^eZ?LqW=-Y%p#oN zkLa&)hI8{*dcaYB`jxWxhVIHXduRu2C#RZi?3hJ*Hmnl8*k^kdk zMt|TjPvR?pz33G06+eq}{0|>Mb>I^o=>#Y<`U80OvOlLMq1&^PIzX!u z{0ol)ucn>-IR`=x0Amb=({z>sc^zK^G(3l&@C8Vnv%h8^46fnDZBL z9~KJ-@dAEe$gZc%X55;&W*4&3yV1%DtR^ynsh`9m5kJWM%WRpvPrArcZ#F0PN$di?hF6;#~dZ5+1MO z(d9Kz6e<0J$NcOV*oMEvbNmfGx`@vU*c0>v9yy?Kf}>X#W1#+vc!bBl*iI85>HmSd z`Sm~WfyWCzr_g6uf^0^;zr@%16bKjC5Cv$a-HgBB7#-!a?Cb@c z;2FKZ16FTyaK_~4(VO$pIlcg%2bjPg5y1}rVE3Nk&d0Z3GC<33;!pVa z2sPsq9+%k&pZEZjH={qmtc>R8bNUlOEmQ^k!AGVZSwF=|gTGJ)h#$c77txy`7S5&@ z^I1%Pqqhioh@bHX@HH9!mqowED29VIo$>GJKQj0~B>X3|)sO!PnBw%eIZ9gKL*HRz zyraKN4j||71X&h(0%9Nk16IOf0K(|dpwnv`*MNeTBrVgm7MEdZmX3#1PA6l0`T2a{ z5XWfv>KVAZ}H#q`h?2 zvfAb~psBTvyV%h4tu%uZ-(QrzPdvw86cBnm(@x#pgj4cysnbM1F!89s%MCD!lj7g! zF`0%aTV%Jz@%-{Qp74$CR}?1LY3DNj{5T$bd~M88W#aiXpHJA~jT5V=FH6XD#K1ww zv;a<*Nu{PN;t%>}=0v-(7j~rL%+W^3_O|QXTy`z36aW2Pu9seD)eNHM@{$`fXK#&l zAM{oKCHo}+4L7S{f5jQ~tnk&1gt}vgFPmE!FR@-b;RuZA(P=(HRA=r=97OjCQHZ&u zt4{Y1=zP-+TD#nnVKirFPg%kGQ+07sI1XV$q6w)HVz$|(#f|D2Irr$JECyBnM#?pb zvuUG+^^?f$D$|}J%hk@&d|F+6P_-(jA~9ly85;$cs$Mqbu>-;IR?p}P${>9!uR^O& zZahN$&5K58@6OP?>Z=WC$*!HNYqdNX51K27O8>giSrgGjsFb)+nb{kQb=3iVQ%b=% zSrHGSp8x@TezN=X&-{v3il3jh+imjFO_w$UZ4X4#bTQg*9Sh2)0cZjhlGgQ~=Z#6vA@<7ds;R5?s`;2NNTCYTwGeuqxFBIkVj(l&E> zOimg$@7_IWS4yOdCOHvHnxm8#+BR(nQq1eyCi}6-XTnowC9y@Vy1}Ti$ziFrCL>|r zn7*<};}C9@MwLNk0D?3L{ofCUbdaJj6!E-}5adjaK_zSV0oaf89Pj$EE)~H>dEzX{ zTYqCRZkjqT|; zW?f(_pPt{R&)uEw{k>NE{ts}zB^zqJ7%tsLDgcr@DntYPAtW2HDIwv2O8ph$f?HLn*Bn;udHj*_Q-L>R6iZs* zy_H|~Y{*Tn16?n)KX><|`*(q=xO-oCm*EVIK5K8s8qC)l>t&QIE8Bj8m3_d<=#H64 z+NGqg3)*>xZhwDM3zkkJ6@jI25wdKwv_20j7uMYuszrVLq{Sefq&4G5qC!?$wXRD9 zrjGNzvP0PtFu8Zc{IfJT0L+?10~&H_uU995v+TAz`-ufmXLk$0UE#-nmVu;4DRo4`=ZsxoNt-woJtbtfc!VE*pZzhXT`+aRjin^9*B5;3ZWfyRM}}n3sY5*zVPskgNVn#Zav<> zik(5I#wrF7SYdN0=>A!x`4=E6V7xtfSeWdQ1&v-Lrp~x3>n%NatQS1xA`SB*+XwWb zDWa<*A7{ay`1pI#QCD6XAHoF|UcO`8hK=CG-dqi0B@5Voi1DvMrgJUOh;`6t780Xe zskJ`v6Sd8-$P_{!q4@|i!XZxhTY=fGxd+h}=&D&jA>QZBc|+QVG34Ky(T@Rqwfz+F z)!#$scXtbuew3&zFjr9Z`+oHPaj0&>=5=RUJNnVpNlJ5hK%IR%Ag2naNt(Q$ zu*pUA*Cr8J4}$C0!K6Fx1TLdM?asfmlx8eZjWfQ3fX0SI-S|jgHL$&7=j3p~veWto zSN{8LUyCyQjcZd%I~Q-B5d&yXCjG?~>zR)sxn8KLS3u`wpZ!)`I->-zD~tQS!z^(J ztLKW-m(7@V0#h1Q_XtOIR{?uDnP{(jRmoybbh0a_#g>h) z5~;61Ok!EsW6Y%hHxxZEu3Q43qpm*Ct*fF$1#mrO?ptC3XMPDKH8p~~QCpGfY;|j2 zD_RY*ksO)F%6#ww=Z%54NCz8;vP_-WGh9;I|G>ka$%TsXQfoDv*w!gWD2RE6`I_ zIACQ;>)WRLc$LXsaZXpHf93SiNKW|%yvL*oe_hL=ls>J z$hNwKt%_d0l_d510XEZxW_JByd&vvVl);5LPz=5?=1qlH51KZ(WA-#!gNs9vsEsmK z=FfyL=0MBky*N<5-Gv-SgC*KiP>Mm_c+_bt4$DS~{HiLmr%Oo|0sF0NQ+@BeR;=L3 z&u_UNncuPjyiLAcWoZFK1-(GCoHRa9r!603N`&W42@wNLZK3_Bhv2IrxQ{z40GR_v z0&Xk~pmd1S*>^oIN|RV|bolvhx!p8`+;N=esSgf}tE4;iRiV65uFZnEpCrKCPjcYg zOR~W3Ct0-@!gcl1t}4R$vqMBh2jn9tir$es!w>w@d(?}JS%$N4E(x|G1sITy1`Z3; zV2Ni~s1voQRG0vWcu$6QcFq}V^P^RyR5hthtE7^maq_JhZrLT{swlVswfWUqA@V`2 z7pM1APnrE#x0jTm_ppaK;M7c6@e$1@X!lb{9hB%@&j!~qCN`{f;#fQ09<@DLWT{bQ zeo+DgE3sYx2BC54Hhq4JcFn`pH2~h^S1oI=I!NE$d;4M8N}no%j9nTN?IpDuUB?JQteq$&Y)N+ zy5JBb=k4chI)u-Vj`$jc&R0R;)Q-Hq1wJX`PyhMri~sS^{Dz-P!1mSu54AUf+E@R@ zK>KP5%p!$|aZyxL`fXM_;8G&?;6$)e_sCO`tuKhtTxILBYo&!Ka>T5qxZz{gp)7}>e;@iu^xpQY#V;QHlYrtyZ? zlS(xN9lx_{XU^8bI%9XvzEzbf(D#Dv5n84{YKP-GFWuWEyh*ove^%EP9t} z3&MJ1G4<8{CISELH>k65O3N-2Zz+8>)YmRiax-yghbQ85d;gF~<{1k%SDqB7wH*=w zjaO*xh+7+fOKZD3SjVRoT6@f`efp-cQES5$T07>}hTk+cGNzrb(ApDjZFo{=TWe@flDDX~K(Vqbkm zCH{#e*1lDLw&45=GyTD=0V_#)9sb6iDXQcJ!e^23CgB{%-nBbrb-0c5HD7YP{hWPH z6QCZX(PJ~(5=R`FiL+aUDw zYO?0GHbYj>6?V0cL(+4~xQwzBaQ@9af9STy0-Wpg-$S_yb4qmCX`?TT?;%@qDfE&F zj+45Sdi5qRfRTKAfz?Rvl64zN=I)2A+e#Ee_vb^Md0`vQ;zTx9`VzYHjwdXln1)B(eT|@&)(1^m(Ew&|7z39*H+R0pB{#HQ8(IQ{xL})njp` zqb_)=8HK*IMOeZsR4o4jd%qpx(UXvo-WDZ22_@|khAl!#+mv(~EVYYCSHV)0^s8&I zw|E77^`y?mwlEKR!Qxy3@6`uNy_|BM(!GL(-MEoxY>h#VRPN<@QlL^WShy}RGEkD|c1j>d^-s2Onp_D@Si;9u8*)Zd!A=erOBf}>wt zCZxNusf*`g#hGwgYRc+Y7A#26USZBdmlMVG8-nxBMO?hRQhCa5iLLi(E^oX)tc3WC zfa=cD>N)syYnB$XI(KokmMCvcM}%H+lI+rk=18xMoujJWv+H#3v@ChkNm8^*2)Qgk zmDWso3Eo?v4RZ~agMe-<#uVk26^r^3rt5BHJqE{LC4Eq`fcEP|E}>TQPT3_L_iP@@ z^1FqGI3W~UwS1Jg^7@5=_4_TL+nfKBRd$(v*?O35yxpAPe>@)zWwdgo%F2`n1XK>i5L{jr^)+gI`eAQLYS z{85#?$T4c815ILO7dx!-)y-Hg;0cJOWw+T+ufrt8~m*Dv($pVVS5|9zlosg%Zx_cQjM-#d3d;vG3aVx+`8De-P%rkKu(+P**Tc z{{nN2+s|9cSkRxZQig9ewcDi&te^BR$-G%SG@&yT-tYK?e|jU+BYe~4O|8`%fD#VbW68cv7M?FyGTF3$>IHG z5{*SmCAzuDE^MhPv}6|+wj|pkGsK^7U`Zwn7x@sfy_d6Lxc$}J{~~dBr!6*wE!$Xg ztQ%MB=YpDT*@nAPrLFiqj6o{Rys_q^(I~$vqI^8Mj@lcWySw!qGd7~EmA2qZcYC{@ z@J4QwuK!lnyt+3RLD>fsADtz<^Qx7p>bgtWV`vf9aWlYtFQ~g>14CVRqn#}bt<{BJ zd+?*Waph}jl`8kBMvv2Vi&qqur{^C@t=PHpA;zZMnw)cZ!KFsDyqylse!2nmR*l{l zsLtKq-QdV0#r5uYIP$jCnfJ}dCZUIM66tsQ<2F~oRwH9wdNQCAlc6Y9@Kf!tTqrn^ z4yJJLUM7)G6%;Bi&^|o{5ban~!aDnrW0%V;C$a zE703Ko-kMeHLQdE9%+;h2+|9!Tjh|kIYt*8 zr&rM_1u%G~a@8kIT|Inia;5M~sHAPxQxZTs_0lJ(`Q1c^m!cXz2xaXLKk!80OzGIi zQ84l`O6>AasSZR$VFziF*I+NURJ1~~>#}nI0?&s2Wc=6k8lzkbo%F(d<}{_SbRWHs zI&2dZ_C~!RfND*NqY6!M07}voW0cfVb7HO?%Q6LlPRm|e9aofpVRD12(qMwy6VliK zUIWgdmwKvT%#Og%@st2UQ~__nT0|}lP$nNP9`{p42!sVaPiOv?sf)dWMe1(QP-mhDyAEOr?%&CwJj0S%|EiD*iQ{*KiqcWS%TK+7w69h{b4lO@FN8R6SngNQw z%oCu#U#A<>G)@Y;QQ6ZoM*b>DH;ub^GD_ouX!%K+pi{&_geD+GRPWU=gc(;^JB-?$ z_F*q7F7o*ZFmRk9LC-!r;soRKLVcr@d)#Cl1AQBzN|9Q&RwxFIRDc~F zt@A00_88abfRgHqCH3xzY`^~=iPsjLS<_GH=_IC`;%Y;D%qH}u?rhOQ?mqtpeHo*h z+Pv)s&A-ZvjECZ36Flx8s(jgaGN0LyS&q6Kpgt=u)c&%7)3DNIF-Syw(=16vC4p4l zr_>#00W{+hCw3pVhV#)#hqgSL!8qy-W9tL!Wpc~)LUlf`86p7Vas#1HA=Os2{(k;9 z__uBlaS_FUC1T_%;hfLLTskwQi)K{hP;4FYz>g#=CKUCn-~%Z(@#+GeX`nyNg?7O^ zEZe0J=CC#QN!NgFX#-k!HE`6w!Z7L$M}$sk8YTRUF+u722F`|_uhMi@z&Qs~7hoZR z0BgXpDkIEI%s{d`9Ga03(~u1C`jCYKOz?t1FK#6m9GV;Jb7MAKbc*qeA8{iGx?h1X z(L?N&o)X-Ak6{;mJkBpK-FU-wk6ag<${w}4m>~8%T{F{ENc-}WF+5H7ji?JmhHE*&9n^+|ChG(0!@a1x6t55n8V&>}@-cwmN4!GD z7Y!Rg*$KvhgGcK;`1={0n)F_`Bc?KTqzw*HdT0;5d-wE&VsU-KiAcjE_^e43)1s9X zRM1Uo!73;xm0Cysqbb*?7-j5W0GhjpvkbEb<5qN?Sy*wDmi}2vx(q22t073@kOL4& zRh&Y4nUj>q#CHH$Vk4LBO||0GAt66D8Gb4sEy{Dii}VVID0$EYEhymQz>MlPy!HUdy=b$0z&|=W?E^ew*Q0fJ zzl(dgecaHtY-jU8h&)#~HwamF+LDegH}X|9&{mz>>zaPTPt$C<@N&Fajme@i77O>S zG!a|7JazZ=)al7yVNPtnxT-E!b$8wEm47Ts7Q^<&_NQE0V6b|(qBQVR@q9Epa1#kM zD`&tfqjek6o)$|+oh_v*2dZFucZcq(j`Q)+>G8>l-7;)&UJ-V^u>@v(sdq)c9YZd6 zyW`;to88^mDX>31Na;1B9&lnk+R0e-rno&_xm7DVAyGACEb`0r3Jc}^0tN|l*G~sAGQrs_ z0*2*d;Ta7Aloru6h6>fn#v+;Vzo`N_T$D|ic;gpw0f{h>Y>c>v;0u;IhsIj)TWQy@ zMd~nG#{r-glQc~zUGiOLNnSxQ-;BB^9hM^Gw`eD8LVtVLXGXE{7bH-qv-d>FP;^&m z(^Aw6xiZrYJVv(6YgfHvzhJH);X#Dcu-=57LzpPRvY^|xt<&~t+qP}nwr$(CZQHhO zyWhDpt2c`~i>#_ut@6vrjEwky102fnLTOcT#c|14kvelmq+E`+VNvc$$^aiGm>GMt z3XI|5;8vvwGjn%5+WjlG&Z)$IjR=7=ARypORKG5-E{g(5t}n6*A!n`|H&BR}q`sAr^_tGU zfVT!sD$f(!i>}XkseU=5jZtxh+q15>3p~A^ul-PcU6Q4RW?TN(HiLcGE;;(rE}AYV zzlS)LGSaI%JKfh6i&;q0s@-oLy;+=fFNszOIm4;Rkw2fgHofRmc~x)b?-foRDKl-L zV2jdfRZfAJ+g1=n#Rd|veNG*kKw6^j?qH#tldC``%dP*YNOqA>q}QIe_YpkLjqA!P zMKZZdtQU$9=r9Imgh9x^Ke&5)oP|uxDZSlZxOkIBOms7BV#Ww9x7J^Pb=H5!Sni)I zW=_L;t&*;X{iYI^n{z;jnoWx$psaP`%ka(lkrZ!9NO!2nhb3)+kDCQ7uN? ztpULs|G6y1jcR))myxlmjWwleZCUWR#KC>52Q_-FPa23Ul#%avkfD zs+33@Cm|VZfJ9>pr1=1~XV)y`)j4Q-uK6^2+-2z+_N8*A{84wdoMg;SG;DkG%>*UF zw3SR0Q|BWAsJ1`PXGXy4lje7GcsI#SR{u20rwz(uwewJ_`d7~qi!i` zK4ch}iz?riMr`L3lzO(|{D^~!q46d+34CD3g$Bwm^SIfa>N*M)^-dqkvvk_j^nh}B zK&x?V1}Kjbehr;es7RLs@=`mpZZD@LxN%I^az)NZFlKYuj?&INKnf4S8CLC{*kQQ! zh&lD*pF1Z2SH^_uDbe_ZfsFP%ib&qzCv)z`pL{~L8yACIiogSJIY1UX8F7!Bp48dl z#9;5OHQ~Zahv#Vzi$z5bMi?R%%CDZ;2o9!b1A|S%KDZ^J1uEe-s>n7iL}Gs$BwceXK5d+iTjHH zQ}gfY|LsB|d=EhWV;T4ud+8l4nC6(91X@&H=`BYQ3|WH^g5)c=k5Ebg1Xl4+R<7@=uJ9dyIate_SKy^vrCST zEO!5fit@6ODoN*Ku;7P^uWL(EB{aGI53A|MzX;HW_nO!J;|;ed(`s!cbmwhLM=b4w zOSW!GqHxn!*W-ZCQ_H&l-ui3?Je``1xGCX~jr)4kw0-WBb#rw?cR7=DE-lmT9^Rc_ zN!!4y!}#ebL&eECsd1j6^072wXchd;FmBRAdF05{lOu0rkf8Ls_-Ms7q6*brI**$- z;3jqU$d%2~KC6{wX+=eXzW%DzR!^9kzXQhOdF&*R$xIv|$N(*S5~!3;p^?>5j=i~M3Q*n8)&Cc{N;gNO;v-eUY|_M}Xj?Yv zCm4lh{VfCbpm5R+Krs`IhM;}5kON6jy+8SA5VJftBP`EknX{1)*wqSZ1xW8LPIbTh; z7fJbLzMvpOsb&&Yu5{v;8l4)tggVu&v3Epg|gu{n(zQ&x-d&`Z{sCB?IeqOJxVm;?`mmr?6?n%tsvY%x zcR9j054Sg?wBj0L?=&L@t8&aFs1dMEuU;aWTAjL-ggI`Hx^DL3@>yjHAB@h_=UC-- zC@wVfCGWTVPA|Tz>*n<|8>S6x;`R@{OiN3GlW!axt81q{Yc%+{i)-sHCSU&bitz(5 z-Co$KNa2TZ78tsPi0%>!j+>-gpKr#;2lV&5g$?4pG_v57#lO-fzY;Og!(#LnSyjhp z*{Is&H0)~Cb0(6(eA474)O(_MDS%|p>a$hovU+g0W>a#e9e*Xr4CC_rm%4l%Cj3}{ zYNgPD78tK2Vel}$X-es3Qlr^Kkub~UXwtd6M;T8$L%xat9{HU{aDaWPXjsgz`}NmU zij^^0YO)_y03AZkr0oitl$45c6fm*LEpM_}MB=ki6$+l%EZIv$x*1UBz@X&F%)fGc zI?S+Tui(za4aCvk6G?6rko4~OIO&Flb=dzP4YSq>Fu0|%EjZ6+dB6WaFhQyM+P1Uw zD`4DNJaVB}ri5G>vD2!p>d=eS2D!hj9(1xz5iocNN-}~RX>_XY=GvOWo*i86vJ?y* zz-fUr9WBr+ZYu!03z@;P?4{?7rJXyXGVsi%d60Nx4*%y)&%c&?sko4|B|99YQuTrsCTVbzNgG}@B$ zsT5+UQ={%OR!^tW0!yujnd{Xx8eVwolVm!_u)60|{&0}-vtF{q{ORDZKOyZtX`lR@ z{m^TMTM5&Nn#hQtO^=Eke;O4GI&uky8hDIBVER*1HZC?}DxM}3RMCWqT zdoVC5SP7h*Pzckq#xl6R-$DX3a`i?!&J_s!EkC9s&>VGLVgXmm#9@r1b_dLEORs&X zio(oV=6%U@gt}%Meh^wQO}Ow`ro;RvE?=(%#Sgf^_l4cBp=btg`gqr`jqUH?H&o=< zLRtMFR!orJSfhNtumbIJkJxe(uQpy2tBoG!&DJrB3)yGPOU2?1(?qv;ZVjF7SSQN` zyu+e-Xw@#x^|`938QoV)djF0M*(KpGbp90kHCKQ+#Ta=LW$pehim+vbpIK-Lb48zR z85k+<99Se=P|<-}T#b~#k*(2?ULO(}N?{GanfBD^NMu5%%Wj!* z{ZMJ`MO_msq*>~v`oL@Ju*v+OquamAi``|<^X?wuC`CKEJjFWXg(v<^njqxqo(3c! zW|b9ecK<9@S5Yq-3gx+PXV=;L99aApZNj;L>Rof+&#m2`8@5WZx0APS&(NFKW7pB{ z%n7fnwi)!E&$%Z|S7d@VSKH#lV9)uXifrVPFq89RkZ%rkcttA|QJG^IoiB%{tE2Jt z%+gt1ZcdNKr>pbx`+2Ij$B*a9ReD$5Bp_#&?vah1vJNzNg2@q%)kXP=EvGo0x%mMM zH6LL2;9A;B*K`>YC_h!8`C#0ZJ;F1@foGXf>n1gDkT7de7wxL$0{-%`dy9~X(1$zzKuN5}3s9&;EL65{-GF&!Ghc9}p58xq zdnYpztP)N5u#ybVb7EJcbeB9ti$J`DnEhhhPZ|zfrYzJ>OJPT1(nQwlgUlsgYjZKoVjRvNpCV4oNTdb2SKAT?;GlFx2ZRC~0p-f5kC3-$OA7h>6 z8@>2@m8gRbiG$%E*YHlSo*Ys{g|TGyo136_P;6Zb`YC3j8!8CQKi@iv0$L(&A1KsC zUZX~7uprxn8p`=v&mtp9@VRcCO5kIliJ8{RU&x0f$sK;xpgp-gOz*Xp-un{1=$P9} zXqo2V)AZS9MM1MmA0MITWoDZiVe;MF*!LtQbBt9Uj5_FNn8P@q4y54)k?)t^f?|*j zzm2A~rxEGm;D9Ls>RY`dbNXd0T`1RJu@=M>uc{ogB(d!}rNWiCNZ;XZCP4BRLJbm=vo2t8+T##^ zrVhkIpMBIs;U+q5nQbEA7oN#0{fPvy&TRxZc-!UA^Ro-HW=tjZ1;jFq@9g~?c)IgO zX3d=9et+rizUja4d!2XZ2t=cMlr?JvwG2;m2IutnLU4Z>DEsMzVJ#EWyg-KQqCu~PT@)!uu?d_iu*3? z&ev7BqE0H|)nS5??c}DVsEq~_-Ra`b6nZG`Tdc_je(2YyDe*k|rD1iIi)Sh^1EPe- zx}19|*D;5;B|Gd-BBsY6{}YiYG^~(tgv^m3DMvkvRv~pDm>L1wB3gW-Z4zkS<4?9{ z{4%@N0mihlgZjYu7mUj2;5h%Mu`W2;M6IEP?@3^!kX~MeUB~$^yyNc1>G=eDdH4;M z7L#%*)((61Ty;!7W00?(GslXxxO$j1#?!`UM%6^N2#w#6FHTG%Bn>_J}zT=v_{BD_u%WrT5QGlM#uyDb6t{GEwApAEk)dE-8a$w7-MNSXyTDbBT} zY-(@8@y8w!t{3r*hA=*Z_4+o4Nqct5&b`*|5SN zSIPnowYp^xVU529CbSifU4y6KwiN+g_K6(ECMRZbf3V2RMOb>kj6zNle*gTS35IvV%4%Gh8(%xF~qW6FDzb9e_VF9En8m;?(hwn~n zHv@kzzW(rfdi&5SMKK*SMtd{-w{yDm{J%*W{$k9J1U z)#}~zY}l48f(?>mH@tAMwlu!|85z;r?ogFnamE=QLj?SXzT?05fZwJDQ;Jbc z-Q(VOoqhBL!V5#)T10bqe%ROM8s{-<2-1O@TFxi_PKvqPQT#`ZbMR}qAK6^|6z3to z$&~@PmC8Le1c>>B`8Jg+r{~KXxu87oD}cgc=*f;@Mx7`%*ywKO>%}wCDZvc=mXq0V z2Ep=dMUeI}?CEY4X)OsAmN055KJfzpvk0imZ$a)E!f?PYbo1gF6?+nlG8kzMH6vM= zy`TOWqgoR|L9?6Kp(pAEy0T9 z)Wx`>R$IK^YAW%Bf^n$aDvRmCrjn8kGe>!s3R7j0D&(uBpHKC8Fs20GL*KLTwqzjq zuWjzA@Xo)_k|)Gj&JYtAG%mXDpMz{)NOEcoWlXpr5#Ye=;fi&VZ^1|_+!-2XV`)vz zTlG4f!YTt8ihki2T22xe1O)&900Q6za8~638|Y#P6aWAU6##$&00+Rv*2vhxk?ub) zU29t-XDeezI(*T1c1PK64uNGnSpW*BV4FCx8@23F&=h3WY zZM(^W@ROsPZ(9%e$Bg4?T2qtQx&u@!lNK%nkY8_ZVVqPT5lVc0yyNQ?mtq6WT`IoY zI}Vkb3-31O6|2oMsRfiV*hrEdmMUMbc)k#?q&H{|djvO+J`imTm{2_tY~+=yWF80Kk_O~V;D z;TP}&@_-FD!T|1N!5WL;;P>uq`N)S|@xV`WZi>?TIz@JHR5s@Z7m25BuwAIjr3JDJ z*pxi=igiw=(f(fW-t-~cK@Nr|Mk#dHz|YFWfze~c^T>~EQu=_tSQ(6NK%I~ zpI8ANgmH$PtYJglH#EB(DZGbrFuP^&;JVYG*bNm!$6^FD<10{ucD>hdBuMTOnh#J_ zj&NCu0#J&Bgt&_D_O;xq^4Q%HwsuePE@V3ecmI5W{Vm+}5&6izSH~{|=XgHD{u3l7 zu>}zKj3-dLj8gO&nlaLl^mIH!j^vRianDTj)NsZJ_;#_Mz1u&n3%>x7%g!11EW4Xu zqjym7EbRp2ebcYyt5PKY&T9flFk%mO~AtvZ&xQ9nFazmXt9j72#ZBy znpv|4p1;d+T~@2@^DOAeZJ0U9TD1hIqmPTYN~}(*c1}1jkBf! zHT=R5J!QhwK8=4x&n|}P8t!Fcj<(&_#$Wsw<$AYjV)fRo}D%=axr~J71ZX$=b$5%E@IMMoB%~MV*hC$;sAWgor0# zw`!AXh^)Yx7kI)Btbt)x&)ir4jC$?CPir&U(md6H{%c}dm5cCY}qozm&^8mPiwvYR9u;);&*-FbU z#T2XNy@E5cRL+4$T%o3!sBGy^@cQW-*o?~k=U8e`5H(_vHWr@6g^aI8$n)hGK&gxs z&sv7@;uIB1nl(!Ef{hP5L=5N&-3+yAq@RQjzcwg4@)dx6#s{Fi+qz3>sl8hChz2bi_L$r0 zsI^ZR$wuz1I|}OinEL7QX&i#s56-24I|HsE1FSS)iEH)$E}8JjaEnkUk>Px%6B(AE0L zCuq2J1WxWiqvy))A0fDRQE4n}c9oCqSn=htX&dV<(HTO<+r*|FUL~{f37vG*O&(sF zELY3s>sgGsWce~G53ukmbWG?W3|C8P?%OzGTO3D+zBP+Nsj?`UX99ZSVm`Y|b7REh zVg6b64y-OTcI;)_00Mb)`_LHK{4=={NoS8(W{YMNSKW7TpPlebmfgY&;N@Q@r_F-jdpI1gfVqld>%4yIzgoO>cm{utZv@-b`eR%QVZXj2-ND!?~)pAnbayIOn_s-g^UO-?vKZ zFN_{_9T9)L+2Fcy!+;>dT;z27RAhPRqamo+JynWdiK^I zvlRJvFXy6F^a==Xn*lhpGVS%d=_T;P9H>#Xlp+Dv6(SMAno|#h)->W4-8#7$(T6go|K!We6R5 ze+q`J#S0(=W+A)5zWW5-sVC7d!2jL~kyWnJM4`oGU!C)gu-042GYyzgk*bTt(Kw(DPvd5iDok(X(TKJy}9UoGf`#t zu&tx#2jce`S>Qdpk(8R22?ln)SN780N8gOtsmdyw3SxI-0r~4v6LW9+-E~dRbmn1} zv})@v%c&X)0lQ?1ivCIW1TGIFoz+ZfO;mk&BB4o?oh8kxXXi~LIQ+@F#%RW9s_bW4 zR_o-zqUwZ8eA*f*b)%Yxo6>uZplV)DZf#WkZQ2v{ZuVxOyYAH4MPYS18CHZj=8vP# z$kkI@+F7!=Bj3vvgw$-R`o(lPveoF#6>0iNmt$UkuYK>!uc4*raV*n7#?2P$#F1~* zSYSBibj$Ux%^_09N1C&{nSvTGgUYR=;8~5^``0BaOz6b}UA4}mj|sqbAAj`~>CW@_ zvrP6FIK0P+;P5=9>b>H@U9aaSE`Ta8t%h9nm~FWY!HXpF zl41tcO0v>jE~_aG5X6egPTfu?&M$o(G(>+#T8;(GPA!hg;`{znIb5Fhu0lZ8OkAW8 zfHQ#g!T(##Zg`5*F*N*-%2%wXJv{-xj~>DR&*pEREjgJicZZvSwK^J4 zO)PiUA9;Jh+3h*7rMtT(@%@C_&EYz!r6W^BaDNE;ar;Qi;XSUEJ-cN5`EZiZ64aMG z+@t~hg>3PY<)9SbpqH3V+s^vM^6=W)BQxT^do0ixz^#-Le; z)U)=paD*ngz94-y!0muXF*7}OnLkMtqo;A zvr_+p;fCRl$y{eai#dq;I}FAi9K}Bs%V=2*1%-`y{Xl~NRT9w(MT^*ml zfokPO`;qGA)4bb}|3MN51o4wFpSlC0{>yHcmAM*bEQl;7ie#4urvfL|RE%9LI+uy+ zz+>JxilYRfUO?+(p%4Zir|6T@0skO+(|}~3nSBN~fiAg%Y1L#pT_H4&RQKmnJm&>O z*pUDQm}$V-pM1}zoL&R(J&pn~eyo-1QA@sx>c|oVFIBfg+CMFCr-`XDpiGT;p+Rfy z%A_J*=r@Y1KN~MTo?pYxh8&{6fsov*$Q(mZA4M@xNM+peB&_Dal%|HJ7)Ndep={k! z^N%{xricXEBLMFuxPCa3z#M^)#&oh0UI9QuaV_H3w0sbgcF**;&<&UYD4m4>W|^vZK7 zIQxQtV{2@#g@sn@WKe0C-K%{!uNR8JVP{x&)KK&y#kkVKAP?x@Hs_3!Z-7oo2k8aZ zSlpgP-;E_cle4Vq zKz>BTeD3g4;*m6>K=Dt%Xo)tq*=%#=mWzGXwhevgb(y z8U(GReM&Szw#urFg^u!ZC0gu4j}5`L6dAm1U9+)ObBjnr?CL|x)YZV3v#-H_WZxQ} zFKw-wiE40o+&F(6leOgzF#c32D#*FZaiL1Wo+b1FQmllF0;~dBwa^^s@PPMv1BECP^rYHo+X`y`M0>5U7$UusCr!L4X&J_Wu09m-LYd)^9Y?pA)&Ak5kcp=&|8O)ebxHK#%o^Em+mww_FNl zOHpxXAfBihl_S?>oI9b|b(s6{{-HJ@)$Zf4U1&VZKadslS-DGi3mdVbN7PW06Zi)j zlCFD1D8bnZ1sG73f&)_3W_M|m;o6((^2u{Me0{Yg33Ye-vx8?n$P-O{lh+XW2wQ#k z_Pl*iqbW1v%J-`4`&+8YJ`Ri9+M3;;7<`NH{*Wcfr)l6@8wOtWzRG1;hF5RVLzo>~@{nT5>Vf;7U~wqP z!=lr(FIEWe-U8;O>;_`+H{pAQo9lUY-yc(^2SyFR8SNnYB_dfH!mt6oGoM57p+C>>V8 zvYy7=EVv{CMMDt~s9eI}{o)~l63fA(93opvf}h=%@!bEg%Wsfdl|m@;5K2?N!r)0n zOCEFI{6qJgJ8bnGL=%I*HXCL&Sp({=MmOai+;M*Y;Vknjzew)QvV?s{HDWdk8cU@+{1!B#Mzx{~;py1+I_V#bR<2%VY%)or{7#s|nqh)X) z^U=j+#|t9bebpqeoe{tsaEW&>x7$kki(U#aUm1(d7SzvRAhxn$r~`<*0Y@rYbHcPD zMEXyKtm_CZ%_k?0+Qm+!;2s#|)&dsRN&+wZCaQy1kK7_;xY}EqM-m1QDXBN>me0<$ zjIc%vBtWI3{XL0IM5nVh2u4&~JL%cV+?kw5kBkbQ`Ngy3?2|Hv&afQ@uFiNJ+RzPW z>rJ~^XMQU!iivX#Uq5aSZ)sb7q%`)!Wy?`#wlPxMI#^L=hrKt=kmKtDjXuU?9~3rT z#PRLKiDzwGP%r-0>zTI@mgE&vdUP$2vy1og;nWaqIO=9A(c4Bm2JD;%Y(>~>m##6qa9Jgl(Z8f1o^1e zp8WE_+)fV)d-D18y3%z>eFRu>f{cU_M$u$+s{4`lY9earX9wbV9}qx)AmAn^|BI^! z_Mi@$jE;nVbYb5-sf$sRcealMY=njgkW<)y8tka+;yNYB0kktOQ`g$zvM8KXndL#m z%+gD5ThPo5skSo#;UOmk;!DkDn)B&|Sn+^Xz&eiziv=4+`V%gRmGR4&1kKGMpBqa@ z?%dg1!`DQes`_e%12Qs=zfUIZ^_w*Q%v!>3nglasD2EySq9dxcufc0qa%Q*m|W) z#XV3?6d>iiH?t!E|AdZ{81RNkbg(OA%{xlUR%DERF2IY`xI3lZI50W2GA5i-xvCL= zo@wyRS13a0D|h8acBAtTf)-bWk@XIegfD{>n?!WnX9&3zPu!gGq{F=Le;Rpw?)b8K zunrEs{d7+LA_^NMyZL{yqt6&p<1XSlw$kp1(_MOe;X`j`{hS{8XPQ6bx0DV#rs>&c zfk2m=K+^UL1k~Y|5K>E>>0Hl|A1*tnw6yCa28b{2Pl~X1tx2m5Zx?6&G=y9yo&X8| z9)hK~$tyi{hAlPalS4}^hSH)xQmE$D>n3ok*|K~>Z6H_m37o+M9UQ&8KvZf`%Y2C|cUM!IZzAP#On zkTS@neTR^|EAz(x=MQq%DHmQg?iWI6$U)3X^mTcKr=vO1iY4Ny_k15U}%+r@ivMg7B?_C;kZ7q@VK1~ z@cD|Dpv3o86@?~4NCqBzZsjwRUu8v!?99EA>oU6DlC&+?lnIwJNN^>Bxir~3duRmF zB#KJQ&-(fdHGPfrxXYy1{&(q7&OHdHmHWI@4qoL@!QoE2{J77@orpi+1=YI$frk(I z`r(){_M~G$==t)%RKr%}LY}tuKK(Xxi+qGdeLIY`h3ylgB&ZQ8U@ec`KWnO?;T56h z+QP>sF0uMSltQ6c0nh$*7i;qLX)5NODxds?{l7CEs76>6Js1E0gW>=Hr2jS3At=T# zBPuKUo2N%k$tDpG+S_1ZbzcKZo6!*v3zQ-Hg!xrA$M0Ui*(*cqW4;GYkp8mF_jJFc(29lN(QPpfRMn5Cw3G zHEU0!4^U1g=sYm@Wh*~JwFKDWC0n{LrqnQCM<3ZpS*L*22-$?mAsli=ApU6Q;?4c; zaP=$v1CiNR)7Zo@NAfz&17TOUR7~JWch0bAFK1X6H-0^u#wl!i{bZFM7~n~1Gp!6v zFT-KXD#@SGzM1wFlBtw!x*)!`GqN0kCqG zzzZj5a?IK}FSD#b?=e8=IWT5S!Gqonf{A&|5j1x!%U+i)X(I5-0iC+nT0Z^*0gV^> zDXX|Mk_Y zG`qE1go=N)X#*v~uD23kR=pr69G#C&c-mf-~u9(_w28|7% z?K@Aw5wD4i{y^m^`R5X|GwA!;sM6crS+H)zRsP^t#k}^{T$1MAU@`_rvXeH2z9tGx z9NTl^IP)@&*tDYqEn@okc~uE!g(&QtTtiUxFzphWgoc)=P!O5~BZQAIy%8acc_zigX)Pjy{) zq`dM#Q&D$9$kQ^*(KP-J3Dp#q1OW1VfAV3)jT z4z3q&1=OrTR?dz#&54ejzdE4;+Cp3;IxZ3mqP}XM6`iHVPGluqDw%3Jypqv}Ar+U8 z3tg7Oqtb3X+|rZ{Sb-A{i;_YXiQzz|%dOPE(^Q7RGmIj8<3oCp~4gKnb=#Kb|3-xv(mJIrM4!I4PgqrAd|JK}w(k*=9} zjkX+|t<)l~dD=ZFi_Z%%J>0Ev-e#2dfn)IVm%YPUG&2lZz_sjrO9Dnp8}LgWqE+R3 zOK-^kZl&$io3kpS9vDtyvzRh&1pZ=Y7q}l`=p{z((z?5_aFTxz=WO2vIszU%0lUKt z#zC>&)SjW|iCRXqaZ(V?c9NH46>R)#pMH!bZ}=rg_LmH(E6*Ve{@$x(PeJs~6z^4! z3?x^kPY~yZFe;9O%h-0us1s*8bjTg7!w;t+-qJzk0Hy_C*^-HU4<68S`WCFurRaz& z-^k^P4-%EGGh$wFd^FWpC^)1nU@e>m({OtJF1=SM>0%=_yvnqJb8qx<9Fd(MG1oogkMn5}87tM4aVIsO%L?2?dG_k`) zcvp-`62dzo0qqARQ7~>LfZgAsuYO7Y#G=VFOVu)(6IK{B+>N6en`Ol&F_EzKkyFM`v^VqW?il2WGJhC8EM;JGe2j+p zxBNNK;(KkrSbZ(1j$bkfbV(;Upm#n&`l$CU`f;a}mi4;K%nvIBMQ$asFx|L9NPX{Z zgRG!Eu<)inCOOrZ#@7H+7TAJ=#wve3nF@1+dll3%fM1bGVc}M0Ex>Z)RSAe;NjFCs z@)TSNh?a7CLjZAmS;Bjc{C0f4bVcJcV?Fq4kOl?plu?~9n-wHQ5 zW-7%#b44FjPj&^NoIUZ{+EFx@13I%4K-;mmpjpnzfiRGVaI zs03`j$}@u!C1U6>7h*06zn5&h&(zaIlBuGCf7JdGKrx8}G7*dgl@q!#;o!s1wp2uE z2L8&&nW5J0_yJvwa^}9DI(XR5WdLfO98kwBxzD5@yNfN8j?VRgPt`*k|8>&a=v*1* zmIpcrox&!dB2WR}=~U16T%$Dfwui9i)JDC8RRx^C3jwxxg#06)^6QhWxHs+FJ04G_ z_!x49hPh`pmSV5Ca+cQSGGO9hEn7a6;ZFhoc(-$l1yXmV)sL!QC38^QIx!TRc-T~F zGdPTpn;rAZ8zd6J-rY~Y8RRXPWKM$tTyD@S2Kv4NHdcI=!=~fZhDw&%cY7?)t&GQT z3e{M~HKBOG4}uhAwSGWI0m_*ug*Ig73_}y}HbY)XurQpt04}`GsP`6xgr$4?xD)2$ z2k+t(wO0{#zL!lZZ-9{6O~(@@wCj=EyMl8?ud8Hbc?_2X>SmJoXTYnN0e(%%iSV=& zaV;xf$1jnAnGCPDyAwEjC6I#Nz`Xj~H?l&#Ynwo(@eUDd+)c6P;JR=l8%o7)9mQ=( zjI*1aq~aszFYy7e|4QbsyR1}We_XPoj{n{D?7AdRU#dG4`B?oWIL%poufFWyi78i6W_(M8UohOsb=he3O!MYO39>-FM!uox}uGYPWMw`rIBV*U?0mL%b_E+5slh;T-v)h6#VBMg;Fm!zizA-b%yKoUoD{O=dbPre zHxMd;kqnY0(yB6tE4)<}L+bC6OBN{_1lg zk0vV8BrQv%6m!Tde4I7Mase;-0pnV6Ttz&2PcyLl4JFVO;^9@2UMD-SG3tY`nb7s? z3jsQP3HbUC<`p`>MCUfeQ}3!8cI%rkyPTA51X|?$n&vQ%qq|uha?AGA**WLBBhZdn zR3jq}ztjjZr@ZORGmglCacM%X;oI}yHO2Bdfv77`X6YElx|b=v^)xC?GvJil>qC($ zOee&=`P6#X7RP7pxi@Ub3$#1oB;c~`#t(~vtXF}BSe7e0j0*}UUi)&X<$kH#BDniq zpP zuf<~!U;G1f%%fF?3AYM;N=V1vv7*adp&f!)9>L>!LLRqU#5zfxKO7lq?0cQK8XB0F30CqfwX%VG$=d(wfOXll z&?+!|B9Y7@^W6ddG@GF*k$|Xu<|Xz6@@5AgGDCv$NUdy2+r>gh8)OO{lt9{x3LKBL zNl-~h!@;s%GvQK|PpI%e#>ik7RAN(R=OLXd8x9s>aP9;{^>QJM~ z@8&_P&jC<#46cV&{E4v#I^EuuCRk{6jBj963W6JsNs~7?PX$q4poaqL`hy&|e*%0T zq10RA+N%3zN+v|B4CMyC4GYF%BiTq~_Q582qW+THLzRKftq>*lfiYPjpOkKeUA5_E zI`eVC4Al@5!hVQBwzYK=Zd3ba^YZtFUuLHHu4np zJE7i2wr5Px;{sD@D6MD7P3a>!&jTCf8#f!G1CGx2pZ!tj;@;z`t`q)ImPu76_&ww) z(_PvbNpE-Ut*tFBZ5i5$cZYmZ^vKHf2aB3hWA7%*sA>ydRBy~q zlYiL$Y}F+FHM`%k?-2OP2+uzj53Ok*F91Kd$sv` z{{Vt+(FB_Zp3R;3(t-)h_sb}HAm)%cX79U3J)#xlKZ26qiBs(s{vXQTF-Vp$>lSX? zwryLdZR50U+qP}nwr$%sPwTYt^}JUxU)-5_Z$(r^{>a+#JW*?BR<6C*USlz|^K%7H z8kiTFEIs4vUItwtLjtJ;o-N(}3q|$E};Q7`J4H;i?Pj}<=)10TfxyHiJ) zYUh2m?Aed5hbj}9>@Vlf)BWNlHLD7B5b^fT_j~QHu zl5djBK)zw7@-E7&AKB!xv>U$y39Cz`dBjnjAoXU6pr4%3qpjCX)289K3QWs}h8{E; zh251Fh1_tSo#?xiS2`3|qx2}lmdVqb{!&&-n{U_+NTDjiim)Cns74haPE(t2)WqND zqge+3W{3>ci3kCvJK8dI$rB=Xicf0?*8O_{4vM>UvmDCVlf8(3=u>9kBR&sJT61c$ zAUx$0iUU%OLXvvSMr56|O9|6%u9*9ttxhHL6d|Q?ug?ZuE)ogl-mXZ^W za_Smy7sU2pVNxMp(V;Xntclfad{A`7v?4d=&j1Mx2Vqej^?p$b#*x#aB($Iii>SYJ z(wrYloV>VB88cgluL?pZj8ZcGm8ZXw??2fGp_Bk;5CMdlW5Ra;mlYLa8ud6v7LyEfx5fJCsd#$s!@B9b*_ z9jBg3#mF$BE4MacuXyg_KuJ@&M`RITV})+7CZYe(9fq7X5W*qBauAv9h92&75X)c< zJ+ojOO_nG12wheGa(=3WO?P4xu*1e=ss!sY<`A?2Csof~LKQ~b6U`{=xMzRbl<^GY zjD5jmMY|m27NKhtrV~mgTM!?tw#pl4AqC4>eRH;@3U3bd>)dmf!~S!#NOS|Kvg}hh zXIeAwJr>0KHs`Oe5>plbXn061rNWsTFJ&dQr(@uK5PW!$Xmp3roO^u^(_&wAIKnzy z$;j)9o+AkBNEiCB)g>emKb_`35Ix{@)37&o2saEe2FV0G^=%I#RlZC@U%v#ip z@8;iEjD(P7DW-K6lETRN<6oB(QYL7m%=p5~J{57dNwtR*d7xj<$FkoTy;;~-bv9b> zf~)Xg_r&R=;r%L(pB`=mljyFu5JK`;C^NNj&5L!agyuAIFa}J!G4>U-vF0%3^lK3U zb+?=-sr1lnB4!Xn$wy{1qwA zQ@(@D_P)L-?f4wGZGd=s70X!y#v&Hz3yE3%cs8#xIbEI2vM;f0S7Q>}_~i&zdVJ{8 z*rt6Z(~FPM22v|1L*fBo6S$bgxpHgH!BF}ukOb&?nnGchq>JSJ6F(XTVCf0oGO)8} z%hlQ}NEKLLi_mzKtXJLdwjyY;ln#lHLIm7)-^<+KGU=8t8ss-t_8k^oLP9tN47Orv zpD>E~+bRE-WnSU!tnbG&Ch6PQW6e3mlvN*CJ@Y`}Rp!@FqanZDcsvOi5z6m(gse)i za|GQtGmzEaPtYhtzsl!ANv!5#zP;zX4+BjJUMd@D%n_N&4s#LiB-fs#&q;hALPSYp zTqtSzA@)E$=5mTmKNBbs@$1iBB|aJhISKu9o&9qQB4x-eJkZbO|mHv2ONA_x8 z9g6CEJIzn}fdLs(>~^E(?7G(00O{x3M2@DOQC83-mn^ho{2IqAX++x|2^|KW>Ag*~ zC<=yc8E}R{CE;sxsIbxahcSpwsGJsw$RLNo@^}(Tr^%n`i{7^vN(NC+!u};3# zl#-JcqAP%zba1snTZbt@@Nc9{$Na$WuRKEkbJM8REgOEVhFa%t$c7Md{<6@lA`~Vl zis~G%WlCzHf)9<<-Ncp6k3Ic`m74+hqDS_xh1wey32xG&#aUT_KiCNGZY)bf<|Nja zg^j1YzkTBLKjHtmI-*ospIizE0D$z<>-_JlBX;_Rminf~bQX@bHvg^_G+Jp=_L2c% z`;@w>Dt-_Ma*4V|00I)NN-y+gApDe!?k=z%SXt#e`>rs*3Dp2`oYV0n%G<<5n^6@z zKVPR#!wF5s8;KCIN9Z`9flSoK7Ow^$xi3oqK21Gvc~3YuArv7?mqn&_fT6jou|vW` zYWM2QB0nKdna?PT-Wx7B8MqfckteCF#Q{s7zN)qTcAq9Bt-C}QhyyowF&>qoUs6m* zd4C!)dqB`F8)X3SnpkHd_D|7PvweXlAvR^g^^Q;lkxDP%+d@3F z&y3vUp-ioGgN-&e^0uk(J3Ruy+#QdxNv_%~zm6Gs~5%d@`Djo{uGL62EAK zY|?&3tbo-W`YGrS{MQ?z(@TPyXu4E zwq>~FT%rFICzZGdk$s5x{*lc}rR2BS@2tO6zqPz&ba9R;1Ult~FCj;FtsrA59ec%= z{qNejpXJ&&-RWILx94Gnb5>-TX1*B?Sq8`JToennijp%)H=BGf8!pXPAgHK2%Gs95 z{{aK2e~6g=OBwZF2mkW}@81^549sol|M$=Tk8k|{75-N=>Ku9v5gDCKZILQ+)z*s#`ezU4#pJZ zbaeki#r1RY4`#_JxuO1fY5!RJ|9btaExXz}7}2^q=-d6rE&m^p*(|QZEbNbZfbQR9 z)c=WVZewKZ_Orf!w`*-Bnb-{mgzi(dDM@Nh|G2&imEvNjVpZOz3!RQ`z~luzB-=pT zby+~b?`~#$oCYl#-!6CClW7jzZBT}Q?uE>89aB~>n(FFl!wj^6l<8a&wa!NsiNw_8 zIN$ab^VrXzc$5#3Wii@_1;I42TZZiJ%)NWUkUx?GQut{IPvo_3CNE%E?fY0(H)!%m!xiR8sDd!TQRXyG^di;K3~( z6Nag*8RkZwfbw@Wp%U;)$u_1PWuqJFp`S$m^>R1dhXbv)d0F14p2RR8IJPiWogQ?0 zbLZvT6+1ot(?7g;&Fr~|E)!fp%)vFhDufF+W~gV@I6yMiML%k4Cn2@7VkxV zGxq@CE4e52=hVL^`VikIMd}v+pD*8u3f6RiKVakk0UPPR$lLz|w*QV?MNuj?^MA@! zHj>Yt@+Ff!9Q)SWNHH)?7jYmt`f2+SU9hfu|Gw7%FPjTJtNv;eZD$`SP! z!8)_grwQ!?FQWzzp3VO(A1`O$Xw(nb2i=mrZ6AP@MSQG|*#!dmgHPvT-oO#s8KTFY z_2Ad#kEa)0eauj+Yd5SN`h0&?hs@LsdBVyHuOqPhbukD!I=62O!v=!bDuO7GjoF){ z6qe3JH+Kg%aI~Bz1kA5lK-{<)keD84&$o^7mGiDk?K31Z++TlY5EK0q78Q~2@8)9> ztah1&?aDmw-%4yQ2+zqi%(|*6OS3Z;ud6?t4EV%qI#{7DTS^*cb~rm zSFre-VsL{0L}Ah_bAPYO>ePtgc?p-RK|1*@ZmQT8&nV%9R`kk-YUl&^r*2|Wy0{i5|l*Lv#Feg(prUN}Oia)uOMvG+_Z5Q1CrnwUnl`r&zu$5O-25CX!(l!`7WlA;4 ztP5rV)u&4WgCkuPExF9Hq*(1xP8N8B(T7&2VQC0UrkDb5Fn}9E29u|C&p}2#v{bH@ zz%Q!UvUqJ{sZ(|*W8g$Di<)(`FBViXpE;)TkE(qsOe;YtFcY;_bFNc|l0?KGC1+Jc zH6m6Cp2r|NQ_NhQkFF91(wdAwYnZc0X3!v)ErSF(g|ZjPR~hV#)Po+rl|3`%Xx5O&Vzb|dD+fl#xH`h(X$&k*%tGKovv3_qJY9hw&7mGy-zdBje2$`wD3g)P#iRT15>D^4 zso@(Xkd=zNB}gT)yx847PsFesjf>}dtxji>pQ?6KMbI{X#sXQ>$mphu_-^Ia54&W2 z4tH=5%ZW+0&G7CTF@^u~GCUkY`BWsq7a4hu$}S%mFiWlEmYf!*CRThGSvIeaxDl-_ zZ=gSO9)WDGP<^KT@w4yfDK>3Zrqt%zzX(n4kc=w6-o>y^)ROp&uM8#RQ8XC4I9J(A zA6$euCuP#}5KtwL_>%U0fZS`P*%Az}8V|>jkd>&P(ZUm(KOyU$L!(ntSn`<@?#KdT zc+W3$ohdkbd)qjf&xPnD(Hzm4jbPj*&n1VV+EH(#z1>_0fez0;1(!N+7LjweN7YR<1xj$Itz4eq#JSm zjSgV3L-v-&vICIDk{gIe*KwFe*N3W`1Y2YmmIUF>n}}>;$vlft=u+Q0AJsaf8QPq( z%GmTBoE*HgH1xA@G!%UFo&3|#-mW3_D(5j_a9+XIHWuEKeDJV|od+wTd+~5otaRL5 z>!RwA)i%Lgc@#OlgD0ZqMv|}aa@Cpf2x_nAG+rR7?ynpAWF^k|4dr;$nEw9D%6y#I zPAXrtRBlTC3yU0t@dQOjcJ^s&0R?LA^_6rb(GgGAdhu>xA2Zj+CyPw9yPjexgImbe zf{J{--&ID-_E6r2$Uw`YUz7h7vHz-g8-UAL`qIW9VBSa)T|_=a@xbKQYMx0Ph-Se-skq^3P#nplskRy?u!`FXaYF2J2AV0NrKZP-Tz+4MqybcZ%6eJ~1WxGm}8Y5IOU&bU7rd5aw zTQ-lis1n0BM?rMXtyOTblzSL?&ULnPqjh*vW*;sX3t43x2S!l7x@4riXlPO)+R$J# z{CKM|}3OnU2c=J(A600 zh!PUqwzuo!+}U*F=*h*EaaX@n-&_o49pg#MRPPrmMD}uAq~_3lnQBnZ%b(uwKrm2` zL*A5+ zU;G4AT7P{+m1#RfLKp{+hXvh`P|O!yG3Rl|HJwOWw3jMn?**0dKht54L$qBauxm67 zh1D4~9-1IlHcL)D{HDi|H2rCe#JWm^PF3bdG%~O{d43r%JXhZ*KnK;G4SZ|kHK);C zA|V%BM&y?#(P?*mScaVrYm+7?jCZ)qG%b#>%lFLBIH6-8QFBkuI;!<6mEh?uPP z`K>}H$mkg%TLdf=LsIJr^?w7r4suzJiHcJi%}2FL0T;yz+=W^JxAtyZ!3rI=#ro>& zzhg*o-I=1`y0eK`ZnPpJe`(hNhnQPG$lEC zaES3US|sJW;@{98xAEs3zQSIUpDnz@MuGO7(0OMdv*<9t1p@N|nRmP%QV6pPyK+owpb%4&V3DMm$yE1A)s zrimdZ>Hx~)80flS#(d`bP-iuNIgG3< z&(Uqs?QV1Xdb@Wgj~c1_5~8SyA0l8xoSZm+IC|BcuyY-gVcW-){&glZ?nk&6Y}GFhL@-(?y+7hvTEI$ z?SWZ0Nf#k9JYY1DN6|Jo*Ls2cI4(LaaRMYe2U$lbh4Olbe!gw8*azlQhp883g)9yN zY~HuR9g7CE@T;R5>l(`oiwJsauL50?HR_&K~AmB2Igq+kNiSLVl!%#2yR#Wv3k4wm9%i;8EyS zLNAu?{>XE#Pbnve7(}iuJNMgaJ{<={N0)D>t7odk<<$Let-8X^^O&oedWp1DUlu}? zatSXUkAk|IIE%GwGVnxW0;8Y`MKyXpk2;Ban)!RLviOrW5C3@p9hDj9Gh7HgNSX%o z)P$Hi2lCk!48X|wwB<^Fr1B2jyK#m4e)ay>V!B?qBUE)7x}5e>j5qwiNN51Fi%yKn zCC8JBu;{q-26tlRwdS!m7aQo=loECWZ3&mq+J(PQ^NQ?Le*h$P&mTe8j^R1 zoll-G|(ca!_Xx8UV(QDGpV-uxv~fq7^tswg_N zEQ{ju5OMIM*7UUTqut$-mSv_ECC-%gO&Z6mhQ}?QZ_s~6PV;VQ+xX8@Q5P5h0M&m) z&VQHKN>-MU!)8S2exR<(DjTu^(n63_fP+w|&;fufM@=TXT-PSo@w|);@_YG%>&c&3 zpxW&|!fdXc9Dr^I?df*yayAHu1eGw+Dni08O zV1}e(AlW>z`Iq5l)Z!xzuWeUxOV z)X@^i&0{>_t^LaR*!^wQc5pIRwM9eA7D3IW5c=g#XTJIhlGGe6-XMLzUGR@YYhu%! z?-7!OyU}h&m-hH_0=&w4YrGxa-R6D5-AdK2OMzbnnCWkXR?HgwwZ7A<0M1)S|DiibaUYoHC z^!v)n`6zotcfJ_H;L^hmbWBe6VIcYhufSo?Wuw|80()9vIqj6qG;q0YukTCw!VQm} z>TgsRs`2SOW^`)PDsP3{iFbTkb0#R78XXbPy72bNzEjYT;&kD-`D?=q4x#xij$%)r zvX!OeoOGbOxV%}%pVQl~DHbBC;w{JtSN9<6%tE{4`PN-*z?kk>k z4ENP>BlUTO|LBi5mwVLMeE>|)G21m$eloHm1*Kvc;#yy%s#=|YpSS%-vi#qvKa78o zEGAC>FAUf&E-{MbPx?{+T)6T7O~n5e9WfpALw)tUQ;KG3P;TsaGKZ^Ig>X1bDaH^o z4ylC2TccfXx{}pxZcB>Co1VO95m0VRMmP7VFPs0-MV+O zuvZ(tRl3J@FlJYVUCZn4W*d8Rg$D&;8asCOfyD^;I<YTU6 zO7+9AQy3MC|IPl9J!0jx+%<{f%Vu#x7dWaj;7o-D83%b$hTq=$KbU>Xp@i zS#w=Xp7PXt%XmKH6=MP)HO*#N@)_eY+LHdP>c__|am&m!h-#F;#arTmMWTR^d}T#u zVOGRWJtO406N(w$BdQC^L+y%K97|f*>9$fe`8yXHtU$-mMb$>l3uQ!X1x#{f5v&OG zFMcM|lL#V@}HyE}uH~4?xhA|X6kQcB40Q{W(^#HPeRIcV*`Y>7=$EdNBrs!7AeBUpu2Gp5dX6&Bq>MFOZTWj&54 z<}Fx-RK~PXyegh(B~`YNp^`CHiWFx}!FAcmUVk8U+FuF9q_4BUYSLt95AdafQzduK zkESCTKGb_f9}OS|?Q;KYINvWjmq(A6!+mPAnoF=lBc4E6-%Fq8>1gQ)+uiQWkFUoT zaC~%k)#&xdW@DWoho{w$mr9}wx5 zj?+J6f7m@fPkJ-I_%+dnZZS?9{?@$QXty|c9dzclwa_HK|9o7f&F5|3V|JKQif+8~U@0MW?^fsR2rRamTpIP(<1u@_XO zL^nrW>2%)^3PPEQ#Icd>I0J;+ zVULwRY$?M?5&ZXoTip~dSa-HeN?XD5G}6BB)V(EJxF0Xa?8S}W#_i86cF1q68}XAd z_oa%+M7-JvpmtNB0dE*<8#@Ji)8vK&Gd}f52+XR0jZKCrR+?6Ne>xi~^&U<>KEU?4 zamzbiyIPtKTpACxu1WdpxFj$45E-;rBi2;lIW`7dWzR(wQD9e364izBGrlX;#wOup zHPSxeKB2kR)xv!!_3DTy(SQLuAn;_kX>feW!UBE$BbI3ap0y5RMVw(%-T1KW2W>{HCSF_wqI;u4x|r?_wMG-x_=Vs z^>px2v<8RB`)eQk3P*rOWB+q<5JY<9ze%02(?b?B%c^vY1&(Q3HvnQyut% z!8i{5Pt>oVqb$O{Zr7RT$LYV|;h3Z z&@Tt2^!u`{U&5zvDt3}n*<6md#@{-;uRTQ7P4a?)nPT>Nrn!FHyf=^;h7*3gHHI?j zVEoD(29QY0xrWU2D=hp*l5=ESJ6-pZzX2S%hB%!o4M^J|S`HxcD+SYNhN%iQsy<7i`ynqPXU}vlN7ejT*FVVBW_L#>J>6A-j8G**3657NSiYsnfy0)F$N4+N2Q3V z&Pg9}-=k5xHjv|h{rm<~2lX<7qL=jgO4RQsOR`4M#jjx?#_-HJw z7>^T9zN|tFeixp9gY#cfv-28t8j(|)+0jc_G{f#CzC$;8_H0dbvSHPz7Hj0bKpo6*ungM2_*ZxssCB8>8_Z@roZGJz@b1T-#2X_kCy zBmn9cs4zACBLj^I`sJ)82BaHDsEy8ei8VGUeg6Cn6gscZP3^*IC?m ze|5a5%{V>!Z=4h3v^^{CjB0IkH<$3XX*Pc^xI2~Y+2-fh{34(_HX*9eQdKz=L-7yZ z0?C9a;*tPt)PFQFOz85`Yo@9zSA~@o%ovoGrtb)ZyBS};ZxG)T?+D*f?(~S?mI4dx zn6Eb$gfNk+zD@AQU`86FgumhjWoAI+zW!6 zoQVR!&W~jG)O0X z(yt5@Rya?Me~?HnhwX`w`Fdz;%ihYz%U9Xj6X=o;xayu6{|+%-W%uqpsZ;tKtB?_o z_3BRy?vOWyj&v*o*#W&Bs<-Z+?FeZlx-!o(KE|Et=MQkjuRWa)D;@>YCImDx_mn1l5!4sx10<${5a@7yKIT4Ylcdp41Q0}X1U14q8UR6VB z{vgy?B7+xCDzk8epG+=&$_0D&$B>V^!kOD-GnbPlme>C>Y$iyB`xq-{)tlkc{y~Bx zVYDxIcqj`e>WHK>Lp&zgIUzHA+cMbSOMOSOpDZY<$%f0Ux^V@Br2s(}4u1CFqB1zp z5EvmZE*-BRs5V~J^Vf2{w}9zGs{GP&CtF_}i-cCcBFohoUGjB)`JFbTQn!!kYnIpzS%sW|O;2Hq@offi=`pjzpMYz(Khz}|J>4TcN`nWWjaciJWw5)A) zi6q|2rcau95wm-j>Vx|j_>EOSGD$hKB$)gc0we8xa9dniq;nmD@}*HQBDGw}iVpyi zyc={G5tDm*pvE(c%VK%f_+DVi2u3}K63fAnp6p<=+&W(Ko)=e;MwF2gH@bNW3Oiy( z0ef5unEpP0J(-&#_)QVpEj!$>8KYUickoFUXM1zZWQ_Cg72H|Xb+N`=jhVFFxtY~= z%!<{#2{Dy@nH>r_*BV7Sh27H9?V<~#3IvWY0{l!mpf}YqNkxAi(1s#Krz_ z4X}aib_~2iqn1Dav5M9DdNp4QCLm6<_NGH4tQ!4Ge9z8?dQx-2X_*9wLqqc@jG;;SM z_bUlA^?~;%mO{nY3}Lp;&ZPaBX$$81iZqiMOa2OE_xG0|iV{*<2loqTLZgwohKUfp zdigD~(ZJM890Fp&i$&_hb`fIyS3d7&A3+UfZ_rKK@&D`6sGNoW5RWx^_MC1`srx|3odfo z9HUy%uLuP-wqOh&7mW}zk9_S|@yL?#S`h$Rvn^>JFryDt>NVji ze~cFWK;PLM5RZ2=R{WC*yxKN;t~rB)w3m%g;%+gD;Ad-NL`T~5-2B(WujI7`Pl;yx zzbXp@1M=uI;tB{q=5HcRaVcTTlO?mO&2wB=1fyWhP(`WzH9UCjAc>Au2zcg9x?(?^ z#i*HpXIpo{=S3(mIZT1EAZUgl0)t2B@JHdFkSz-&BHa!U`=zmPDJI>i6w0j!B`AT* zsr;SkDb$c4=la8|BkGs@c|v&NV+)Hi_pgKc+v4;Pag7%_KkPA(b|#%DJ1g2_OQ{aQ zbxL&~?^g0!?xb0=wc)Q?T5r$lO673vF^jt9!*JCT0pd76QO@-&ZZn~i>_EJ;grP<+ zrsro`^2lUL+4WT;@E1xbGF~yG{;oRjBtd`}C!86J_F|`Y*?i`507_PslTCYT#&oZZ zUt5CF8?DLOIvMZCp&w4b)7rO^#R7D%eH2?l33hK*IiHG?Z~{A1Hgz{aMi zyUN+euh@g(YE@`!TV_xVwd4M_qvRycwu<>#cJ@=AMaFv3Yo{`;sXl#qRwY~;8)}{6 z@bdmJpb+)1gKcJF{$392aj~(R9n#D|Vf z_6fV@UZ0_MjuhC75qPbHph`ONtMxK{s%dr@kj3DD3pBf@v6c2VL^zlhnbfsx7#1sz z@~Vh2CkYT?SbraVa7rt(T~>1HN*6GJ9iT{S-WaqC0br?;o;rK-3zB-H@B4WhkjSQH z<&|&Xb-pKJu|QLGboMV+vO)Y7!stA2aS>Utg2wo8Lr488ogN{tgSD02-#WuUmLeLL z-lx+Gl#!c$4U{M46k3=+D82EDlnqDC8FG- zMQjA*#v>}w6hI9#{K^hesNAK$rIr$}m}e8H8)XA)5yGO(eMXYp{D`Kra%`sneOr9o ze4yk0=tf`>}8t0#>psG z8o(5PK+J?2Cehr{m>Pk;&rRxTUIdy{fa52(DwmUET5I0i7;Q?)Kx$D8&k*uk!>gOI zf4gn1h@@R3jc>jOJrbw`k&ahgMh+H;+qAt~xt}6uaacR^A zxM(yf6@c7FytZKd`PzyQweWqt=o95$0W#rzgHHO3JZr{n za?6o_xaqSi&_Y_vz)sYg*f+a1lTj5)@X#*QA>A|^sZ7|^8gG7a(vB&qqgralmDq0w zD6@W7q8ag<@R2P_Vn(r2hpcoNy$r)n&$iHWmku^AdIm{PEnrLddw%(-o(fe*82HSU ziFo*CCecg+3l<-Y-HQA)`Lao!l*g!2ACSWqk}AA_1FcH5fbDW+ndno+|I!990NXK?vYv|G6B9(dMNUgUf*%{Rnw;nnldL(0XOQ`QTDd#I79e~m8+FOmrG+C=(p9uW|Z&K+yYrH}(cXv9}Jq9JaACB>VAiaSRbnn z64G8;EyD*U!=MNJZ4i;IpGavfKv-~k{{B}wIZoucMaa@$X@#!geSJ%sc!JO3V<%Vd z65%?sZD;K}gOCT*Z55Sn_UmoGF?C-~vR;*J>8R@c^-!!4n4J2;93zJd+DSx96C#Uo zr>nO`qJIs3DB!YmaQ5l*q*O3O34Y-u z3k?{;rZjk(<|0neQr5%ZgUCcV41HzL$H}az>+|ibsk<_`QAmd&x?&kbq#FlvAZ1J! zTfJ?Hkum`A;2eHhnD|zbGkGc!f{$xvtgWJEFc(TybGeo;*F2zFdAf&)!3$}2sTH72`>+8wF6NWzP-f>qVEUxufo_zLv z#1NzKrIs3f=LgZcWzHiV=w;9<3dt)yNk~`W!XcWD)50MC49cNK(aQ|HC)R2*?Myzl zrZ^pO$HWvC>V`f~^~bye09>-WlRhU~^_l&_=w5Ftj{GoyJCc)3MqL&1@RjdD;(XNu zK>>yKX6lHV?@UrQqRdDcWHCO_G?+#yi-(2=AaG-WUZz)L9Q zKP-59)eA8`|8CL-8CUw%o0j`M$stdXdqSb)YVvMi+PRvtot?CN$>VXXM?3Q~)$i&r z`u@jv;Z#H|cRlbIc4Wu078cV8ddBhFspWLYh{{c*h?p7xU@0t;GJI*^weCr8EteA9ZX z-WjV&t$6n+j?O4N z^nC_ezE<3tc6i3Sl*n9;xkxVE`y-6Wbg37|TfF(q+ab+!FDR0yz*GQ1)fSu~yFWtW zhBm>pP2^hm_9QmzY;2sBB7DdC?`R*#S?g33-VV3&FjOl)d$zL|(8!1F&P<;6&T*wp z;a-jPW+Es1p649lvKPs#8}Du6U#6Ems?Kbd%T<&Q<=adX#I|Rvg`Fn-LXe}#p#^v( z6P2BW#?DR#ORAslmRA!C#tecH;YN)g8A2LGq)zE2sg*$ZyP(A$;TI_jV|=799e8D{ zYN57v6kd>OWXL%83Y9;?5t@- zG!1W7=B`XzBzWM_b`#W9IC~hFRS69{l*P5$0gjI}m%pmJOTZT|@KW9!y@EniK>Jf5 zKL_>A>^|m6;g<2=EaL;SuDkLwj{C?kjYA^47tU4Cf?vZrj2yZeGW}9_oh>=e{(v(c zy85u@2TTql@7JKyBOR;2<~Th&I}Tn}cBhnzYm2-X=zg$0f_uy4dPC4%QsO$cK!6!}y|&y)_Rm88w_f zvFQ4|8G5AnF?~%j0uz7P>f_!0RkqFDUj3^Go1FE=B25~kxHE^+j0D;fD}EmA=tZbe z+dC3ak4`d*mT@>1Q@&YyEE*y)eKg2FBv7(*(l#Z}dks2QjnV=>4t!w=5)!oa^iJ65 zoL8@PCx@M<^2oF!3R=gRkhLp8OG>h?ft|LO-L-y+A6Th?iNND2Vqa(zrI~W2yoz11 z@|SY1iYsmqeG1UF8{dbcvB>-CiIMr!m;ZLQr8cc)8=r~k!|ANBaIR&%bfwId%JKS1 zlLk;kW}jo)b65MPa?-dAWQlP|$w6P4(}mwU3Tuok*F?jBp$3oY_~7=o;i$@aqis+J*Z7T z=2EVwhIuM#)AJ^vei=De8Z){T+8mRbt;g0H-UUtjsp!JK;3 zYdW{R&rTkJ(* zr$etwwuGXh$(~B8a_!4;;D;Mt#tEmDHS~|Wv$0+X`WwYNNrDs0_@pLV&JAEty@O=k* zZlHaLbo=YzK)&ByGkAC|1rCxPdqGNNV_(?$^*{EklV=t$M(#ac`!urVYc=ab1)VeO zLe(z4LnHhf_{U)SiL6f+=MSHLTIT+_n?(s?%Sq{{Uf+iMuY3IeSJBW;-@(z?;Xf1% zm(|aI=GP&8{V6>I2#kxO&`99rJR-&*fg2G(g14e)1D=GWs3&DSX*ODHA$#ilqqc07 zz;#8^7zwJ%K+@28Q(3vO>O=RH9y)<9b}xOr5IgKYcHBF`klLbh8*%IgW+Y|xwzbVl zApil<&>3>czX;4-Zc%N zVXc~1Dwf;R#m~q6Jvw?Q=U2~rq5*-kFti-fyTs4!};6DukLPOYB+*1&-i9T1~LTg)ClRqvo$J9XbQ zm7*GPOWz(;H1Hd3BDPTo+txm#%pD(qeW(ox(u>rb_GQHt{O<)1?SqNE_?W&TRmm4D z^^CTRU7i1)Ui6;eTgDz;+_b^L=>6O!NAK^Lr%cBC(8gAB)6D8Ao@k7xOTs93b}Vad z)YEBh)@T3D&YD9}Sir~X)2Bb<{Pt-0Iv*##Vc%nPn;NjGRz6}e)B$l}H@&=kxY2O< zi;t7@qYsPxy;-?g-%ofIHomIm_l4IU?~i9N1h(eTS$wfCEg6;<8dPE8Y5w{zFP z6HKoF+eOdr7oTU6)J*=s)b0>0O=gZj#;hhiqG5P15v4}b1HCPK_)HOEThS_5pJXIV zt1Y$S9LxnCuQ5-)hDremC|0-gRW77@s}g6wSf2_a;F%5+^FQ_ ziXRs!$Xd11Pt$%II0(@Ve%^%3s=ZY1b+m0#M-Fg zRTI-#+~J`gPz-P}@tUddsU9U1Vb-Dv*`d5bZPEDe5)%d-|83;=@idSwTU63FcXIFL z8qp}FRD1{Qzp70asOlhWZ{qq5U6-g2b`=5{TR3F-P@iVB_pC-KCa7B|lnqdzb(8@U zWIcp#MEddhZgXQ?n$LC3a+jV3i;&Ksd!LcF3w{UnPorpJyQ>ZICr*11kG53HVTK7i zR?DH_^tGAi-oMKVg^wd!s-3E^HU0fKfd-8-GE8q|n^$T`1-p!vCl*_<#*vrI=EJjBz$31`0s>KPz2t$+;*-el z?_vv{HHKQb!pj}(0sJjotlJ0EWZoBR+)2p6w>-?h!)6=Kelib-?()x%X)=E9crL#n z$=Dc26)S!U!U(OPlT_BbgDXw^!+VVuE3=QP0HNLaxuT#Rn5Z$~VDVk8&o79$1EN4B z(yH>S`j+}t9{XPLBHNP?k@d1`_M3QT_qb!(0xqdk4C@Xg%95J>%DvSa=(6OwpkFxh zk*_=c6}vaC#ZcDtuuB9xHO}p~22cSBc#;hHwC2@D%pu|WPO`!ydCL`69916`r#7m_ zQkg&%(0RQPWK`2?$MvE^Ho2&7r5HFwZ?l4UzA;F30obS`cG|IaNR9H`-eUs^e0UF0 z%t}c@h^6jiyV2xDn8{#0DWbc!<%5X-m$Jnt1Oer0zMB_LR5Q@lt*6(ZMN=Mp!n4~% zDRd>`O0})1HKMbQ1eAp1McIci&#EFiQ8bV@1B=rDQGF7GAWqwtAlQH$kPWzb@}~67 zL)uHxlw&#t*&ZuO5BXx#kbY4kD?^b zv(O|RK(Ev?7l+Xy=}8)HHpl@ax*gd^L04bN1Q$I~$u`IWg=WJKg0kr8)NF(E_y zN$KeB1}f>#oW~i1^5*-#DuDXh0eAAB7)?h;<~!Oih;OkImAYpNz^ox^NlU^v4vgW+ zw>{K~;1n->vy?Q-9Mj5;jvKnYBawd&iGLoNbEm2)yWKDD=*ZYP`&woy%0zub7cxR> z9<&7R1E|u2V>_mR-Jeiy!u%6b$W)zemgIm~)Dl&Upk8%?t^(JWQK)#uHH5oQv#2>Z zx)Lcs+o!1&b=qDRBZOv9sH0^sY_9;zZMnF>ITxLS2db*z=vUMA(iUPzk8O2;ZCM^| z3{(Kj4+y)ZUZ#5Tf(@wB6;{8G>E$Woqp!8dVg-jP(`#;dvLXXiV@GClXdT9(|X>2q1LZ z^q5(DOJzKM^(lh%VWHC9kcWMDW?+8&HnFU$z|aUXps@T=@8;g#qIRDz>?CPpk&@aY z?J_S{mR~diP>j39NE!{s?KR;<-#|6Pg}i7FE(Ktzr>{o6c{z;qRnHQ)YU^$6<+4q*jy4E`# zxXxTNYoiD&Y?u|2v5)HO1j>X?BzyJH`fe5N=d*lhE$3hfE)w-%(OFko=qjgE%9(_j zeJJUfk&GxKOi>G?lnaHqyYJKKYvuk`8Q0io^sPw)$_~XrI9~ZE#e5iI1!x=V3Yte0 zl^qp6|53RgvfOIB^@&)?i2nKlwLcK+Z*}WUs9QOFYeIal)bX?9zA_>ljUutCV9X+q zTQ?;RQ}Xc-q8$OQRz0K6GI5z28YNOz z(N4ENOuw)(DP}BP9rGlr|5A&5Nj)VLXQAXSmr_5OI2?h}HC;X;@^EUq|mGwmbbD%=23BG zXkv2M@m#T}j3V3nD>0~XPo|`{iKJ3T`km2@tXieiIw7ciZq_aJkfQ?Gud9|k=PNt} zCeEC+wUONZkF~hQm$DoF@5m>Fo6Cj64F(fZ!3Gqu^NVp6!Lm!POh_z)+B2?gySgSO z?3vyPOZ2P&={gb=QT~x#h|HMItiDJAGfNzHoIMD4(YL|q2>7Wf_N>+7MPogc!zc83 zE^s2dTb_A_{G+gIhoh@ni%qGxfs-Iy#K~$71XsUKS>sY>Q#GY>9%7d2fxjpf^*!G5 zykfj>Y!wR;Nt3lBwul*a(oW)dK0&>QC`h$XZu=~9NE6c0g01{oUQcL=ErkgFk}6yR zOK(8@z6f8taIplp{KEfcYMt zp+*g;B5s|vp;7BJ)bxEbPh7=3rA5qNNBeEVyo%bDkaRG3O+vE45KCn0Vl12d-f)U9 zlOX@LcmMt4N>!=KHKHq+^em$OWVnKQ`mmXVBjm7{BSMg5DI(b8RYVvk`cRpyH}Bf@ z(c~Ji#`hAZf30`IFJQM|db3P%80Kot)c01hADN*Dr7!tW}@>_?fbrh2`{KU?)Fx10Sd?@)R;L;BH$O>p*Ftf*>$1w+&MK z<^GBKzFyWEih^hA?4q{6aW`H7h#*tWabm4EhU(l8n1h}|_|0naM14MrBz73ce3 z$NOmozF_wl^w9BXxq`_sO!U0zxmr20KlASPDT)lKP7wA_(Jz%kl%*+{?!)l|(V{xS zim5s{-S-oX3(H8Tk&fa@PX$RTxOOuIZYA?zjG}GuX$!G8nlf@|VKis(Po!m>XNc3h=tV=+Nl3ptkCbuR zA>7tfo9`Lwje5371f!c42(!;{mz#U<;r#(lpcRziuxhqKkXQ3!|r z0UdNoUk1ogndDey5n`)H(cyM$UvHi)c_3Ypb`as@WSC2=c;By=X6_CnOmByYnqI0s zE#q~;-k({?rVF8~oNr80VyGgpPr|uFi|0|!zv*sRkG>@YmcUz-Qu&?JCX1W*r;d86 zW1Ix~-25ru16B$-i>P>rp|hqfY+ow969Ii+B*^r16e9VO7y5XSEsu$6Gk{~|$;}DT zyE}NBcN~&@#%HMLN#cuB(4Q!eQu*Gnn&S_Mm6YxT@T)M;-AoI4%n$wD)!CVQ*FUHd znK)+MiGRn7nWAn~+-n$r)BZG0nZ8hTt^3T2TvqW(qr$w?pga;9flGlkymf%;iYh-B zBmg`)dQAx}NSw*qv@@`ort^`%U!4+#1|mnnYz{3Gsqf)3sz1GIGop7B3QC{JOVS{9LZHB| zZvfUJ;P8?bWuRV1*&KxmE~t-%aBT$0oDiA1lpHqQA1*wgm$m)^fDX&Hjf>V)mxgoK z(@PWq2cw57Tr*jv+nX1>YwK9L>)YsGs*M;JCz?&UGgzRon2oQceK@!&&y`FegS0*nvII7+Lp)f zZg(?{T_(dbidQBPb_sEo$h4%vA$}zp=XHy@NceDEx9cc=RWC*B{^eGq1SaUKMG$Jd zh|CrB$SM1T-9S{rbx%dhD;|h*eOI#DcWi+As+{cFAFknn@Q}%qE=7%OhiQUeMu`!J z2##6!yc%X!M?(i+7Ss!m%af09{>zZGufNGDI4^q6oNRbdv-NJ3B%1!ZY_k6pH3~IB z31v3+qZIMDmY>Uc8=5h1e@iQ$y$TQalN&~E|2RQ24ED}B^utEzsadL0cx1=@;+oN25A4ZUD)E<56@iv?fM!d z{E+Vm>#2R=`Ezq3fnfVd&QFr!AbR@frLpv=Cq#%$j=#yR)z8Hj=fn8YIzLBSf$AF5VXS6LHw z%`RY$Q`iOxzGy(3d|Mn4P%8hb?`1l*|L{x_T{M+mcHWWk11f< zSIOup{3U-%<}&PbdS^BvHMFfkVl?m+$9M4CKuZ^;DcBCW3*FPl#@(9dkoUE<5-JHB z3L06X_*Cbi0^v=yB)0t~={Nj+2YCOazD>0yJUQJy4IJUMa^67~sbRf`*lv3opH(Zb zhn%kPnE&it9JYxju=!*q^7(xJTic1EjG)Ya>j`0stbz0AMG*Ap)E5`aX&})}==BA{ zsczu_9yr%tj=yxFDj|+%aSQkw`7muGUTflM7$Odn^85rwLWktRbfz4W=fxRPS=-z- z1QmRx9^68vi<;a-u-)71gs(*LNx@GK?LbRj{-MW%y>wgk2>92%Gg$wncgE4k!SNq7 z&rn=QCR=~X#pUxM{JUZQ82fM1;7k*AaJ{rJ!aE(sk1T6IK+p<_v0v^0l+p(AflF=U za{1RYsV!|D3rvnT>WGLd2q)!Lmn`SB@uzO(h}z>=H_i}u;~SEfZTyY)g5RS({j2Py5#7k=+6Od_Q}N9bw*(Gs?1OlWsiXcqE#$q^PmnpfES)C#squd7gn9va}daV6pA9JvJo-I@UnJzA{5%bS^TnKxuE|n#uQK z%AJX|H9q9zY%AOg8X@&+aKr4JS*A1}0HO#OS2R)5+c3xPVB2yr{HAx>9osR^+`Vk@ z-46hsCr`Qwgv|WhWWC#ZXxO9NzFEeFBjNx#5CGs=jp+_4&~~M*B=zKM)(CGvk)PI76E00?M<0-2TTwx|?BJOB z0C8TG7%@{-te7GV++BY@Ayd17%~vrC>MJ5Qi#cC?MKHk_u024Fp+ryvs5Qb?B41QE zW}WxR6t|PFD6V;Uw=*?+r;DTs1-yZ(R72|+XXPo$ zb=(fv?Ya6s3fa)G=8w&$Z6ftNWn!W*(oK!<91E5doWhNbKJgrCid&!+qz*i6=ZrOd zvFElEmui(;hDCBW$g$7Em!R*>vL)0ud8CElu18>&d%e{+Qu9FhP#U%eI;0a)8p9cg z9Qky*28X#Z7h_PmW?}Nm0IP1K{(eB;QxMBCT?Z|C-TV|!2W4l|IJ7IcF(um zm~6E0EZF@I&>^dt8kX3=55M@93jTC=s%7c7xg3q1-^3p zf)rhUlESMp#M@?lZaflq95goWMOp=4*WaqW527@TO1ScEoj?6b5d6=rkj{w?k$boTPjYWG49-^^+w;G6G-cGdQo{-F$_@VDKguf3u* zrN=TOY*s;a0c9^V=}PjG2=bs2G|i9^GmTQ_OwO zy!7xPc8J7L7s={atR5=ZHn626# zm`5nJxZ6kRy9KPgpQ>`uw(1un<#KyD?mn19@h};+?Eqm}0zk<4ZwcFJ-AS58(44iY zq=731v}i?y<81!)B`Ngy8Yq%{4f2Wen8yx*R6=Yj!@bGvjM2m2nYL+M0XlSr_!PU9 zOSF$ca_QBq5?r;>Rfq8p#rq=i>6s}W6QQJxK);M3+cz3cdD;^p3Q1Y9IGuuKiw_T7 zjeXu!v@&dHhK#M?SUTP{(=d&RL!!X1fbT$rn0?ca$d`WK zQ3q7R2-{`jE%^@g*MJJ|uh7E(*6e@Qku0TNkIVb%FgrgDhwOKT{vEM%=N;>vqpwQP#wb{Pr497?4-I! z2Zj`E;<|P*BU+KFbt(aB`&H#>({lS)25>C@C3>dQGOxsHj?~8Ljlv}Ut9Vp3r@X-_j{dPzXYr2o&k=6Az&~e z-3U;Wy0Zl*dy)}oZ+P5~gy;0gefKPifJtz5WWKautXM+;I9v`YTV7Lp4j?x_t8hjO z+!pMPqYHs}m(C!nRbJQp)7r||f;Q`6_<-@{`B9K5g}3%+o#eTTggV*DY`km_U zG3Z)6G$L6uH_(9wUO6S((TT|du!>t(qQoYga~>-vQfEGdM z;pzL?tbc#Uw3W)n6DUz8f5{*-e2M5s$CrlSnICQAEg>8Ng0|h6P3mqvDdrKkuay+r zB-T49^+5qKZiKt6gNe-WUq$E#Dl3u)A>{O(9H3D|U3tEpVwq#@aZbHdJj$b1Vo$On zbHza#5>jjAqlyR00q^;1*@#^mLu;c{Wi4vklDZRq85ZTdn?QD7FqinwqH*=(nxlAP zpBAl)7b#<+Blo>ZLT2NVXj7WzrJCm7kp<}icQe7Kp|pO=h~*#1$idCZ(#+a|%F)gC z5ANju7PKYCNLlycA_P5T=qm#fE`gT_wjIN+LN|kaMfU%KUZ9?Mxd~|bAQJY2`tY#h z>EJp8hA={!z(g_{4{sR+DzC*5Eppq&ZhFwz$K*?L#0n;3D;;l|^k&fBm?JZ;{QMyx zJQi*u)=|&P5+4qcC+#x1J&F)LD^40R{L%MIh)iq5fmM3{HJ#lQE6z(zf zIGtrMzTxG!f|_iWp48c#j_vz)s)kYBRb={T^~D|V;tJGGUS?F&H8Z3hc&cY=E6 zn0thVcn2P6Y=|sYiJQI|MCnyS@0_4-6wj#5EXx;Q9@&naQ{aXm8Bhph5NZ4Ko9@` z^#6QK{$@Ecm87EAa1lCQRBY?0h&Erut>M=;DHsw>N&rufYaWupn7j8X`ttUx^Q@|Pw~BYH9>iEM|=d+L)+`jS}@v` z%;@y(cIpU0U{gPrSODr8y}TI#RBU~F~B}D za%#RucI%-eYThZF`+0vT0iXr@Q5hSnxi*YhlW#GvLu~XbJ`n_wI0N0XB)qBIM^C9> zs2sTYj%~xm%J#1J~=W z5dfL4p`-XJo1wDR2PJR=EuJ1N5Kv`NZ~;0=LhNV%aacY2)SjP_ke8)6FlwqmX+@`x z&LPHz?`qdTxzeS_-bzP4D4NM)UxWQ#x~H5jnOo6xi`AP$HY;m=dN^ZFFFS}vHat3Z zBGDm@{3Dd~qrJci_QPHCCs17rgZdU|v}-1$t;=50W(h(Nc?!b<0I>dZUHpvi z9ZennMk70vKQ)pWq2p9VQYH@d`@J?U=qe+qJsFgtpSG059#b1*Y0Nyk`S!;qM%=Ug zYYpi4EN3COt?~AUV8=}kki!Z~&n%_4}P$1dJUGC0v-1Ua`*@>Oab^2jQ4Jmkn-r zd4)Y=;QALa7Cb-QX9EzHx47=^#M4i;_#Z2{!QXdZQSsnIj zg3h~j)2k^qrpQ`JS(si&Ix+;Vb|%wQR`fOeV9flH1NUJK*vJzUb1RPeb4a}!f=@o* zdL27^!;d-ZOHKo!>~tDz7*!uKtX%`jgv8VEMtXj5FKjEBL3FTUQ%_5g0Z$CWxIB^` zV*e;yhZ55(z3eH+3ilu@r3}fpkudXt5|i-S=VDj=e&uQ%`Yz@9rur zx?_K6m8j)i7vQ|>5}+->EOd!wKm2<^{iIsz99KnPH%XOkDV8fO-xF3VGl1d*d|dIBW7Fv2ViixetoF z_sNl?U{bw}Ld{FjPMgP2N#Ns?vrO_La@|xnBV25<_vn{?H*Ix;fvIQ#F;Zw`#Uvm9;F4^WL^+-vRoS-j*DB?Yvx&N|ZB1nNHo9a0b6g zFedU%F-B6QhY{_H3fQ`a6=&12C;~BN@cTEpsMZWR=(KjE&5wj#e09}tXuctJ+&K=r z7{?82o(rfPLeUDb;PdVNm<^{?-qNUKBoT_;s&1mO%rYzc2pbeiRHMTkPqvn~IC_-c zEw^R2x04W<41qi(yh30Rrq{4U>|zinq%k5N=62oqv6|FCB4pXDW9T2rv8|y93n@*S z_FP>Z15mj3+C(xs2k&4Sc*Iz5&WW227pP|y;c6n9`gXh55&b?UWfY6gRcB5^`V#3K zk(C$e3Y}m5V`nW4weQxCKQfmn63S(b^(Rd(%V%B!oX=~& zS5%RlQJHVdS-6K?vl|H5WY`@)oSda=6b1aJtHLck zKAHc7GMJzAcr^dORsDfu{>DQUDvm{c@+-E#P`Jj!8g9G*tx3#i*t~%LkhBRLwoi&{ zg#G^N@vFAHy%Ee^%+g#GE`)%=1R;WmjMCyOorOV94>Uq2huAWG@jiImj(8Nw;xB@U zIhM+K8EQBT@1M>(CV?)C`+YO>A~yY?QPNzIMYu(MxTRpf-jdNZ@N#z_wq{iwf}p`= z&}BHAP!<{U=Xyug0&st#`iOe@F2+ElV8IL)fyas*Z_5D7#u0nF#>Dwzo4fA=x`^XH znRObY`(oz)%ALGzjB-3i55Q2+UnNWQKfH3Wew|`h(r^zn+(L>>OamW;oUVxc*kH!J zP;4HoO6VOPv~QctU|;{{49OdlpFNHK9_;P5pdsV>$)QLUuCxM&ZoWqfHPtG={beJM zTdvzQ{%1aK#Y1$OOfzXC;k>#yIlFl4jLqpuZIne&gchcwMNS;L)Fw$83A@VT$|PXp z9S7QqdAQTW(}k5Am)Z63yV`}tt?PA%$gC60al>i7x(G`{PFRAG+95G^LW>d(p3NB_wUCYF1GV>cDF^Z!mM5tU*~* zc15Dp)RpBA7@BRJPHo|RvI|R((EpBuM}n@7vp$ta?sKpEC(2`NX8E`HSN?w`+g>P= zpu-A@I|zC}d*H7?D^F$1qJX^tP)57z?%Cm?Ae!s%FV4;kIhF39JZ;s3ztgd);^6i& zvHrqrP;f%2@Rpl|&Tmr~Set}>tDrR|`B~GQEy!9rZQ)9?CFIk)LyM!I%coH>Gq=olk~emL1AM!QQSBUKUK$R6ED_#cti z8tfb#P@381>Q)m@&jfhR^5sNd8Jl0V!tAbpLg{y`KOQJB)Zh*Mm!R}74>11kpw!C7 z*@())&D!7}#HBz1&`5%xajEdR*%mPH3t?LnW<5N=-H@NiBD{J31jlHX*hk zQ9(LPLr$h#tyFR#FFQOzBLQ1EF3~7YDo#Z?K`FiqnHbq6|pC4 zQHy!rk{GG2DCBdl73(D7<`&ntg_w+2){6lmymKDtmR`4M#*Msm_Ga8RdvE>*{^ zjLT>_>*w%1I3;i;6aYU@jNjmUzv^&D%FvJRbhlQ)y-t>lGEK7D1-NS;^V~!RKCKH_ zx{@Z1(z`n6?HV$r-IpWSJ==)Rf=S|tH?l5)P7eN%G(ya06UI*^cUyd1nX`_RR{kGt z{Uz9n=L^{4glQ8HbGE}a1$>W<8~)30-s^8jx2&3DZ;+E-Du$UJ{Vo;OY)sng*BQBKwy%cA#`7DEBHZE$w`K~7HC5JfAsQd5g;g?D zIYC2Gl;NRaB9$k^j+TZaWz=MRis_I14&85y=?_``#;#^GUIW!ji!gZo zmbKehk9)3di-f7^<qR3M{ypB*lW$D9z?dK68EN=pxA%qVDZh(~`WU3A?LOcVK<3z4h(8 z_yjTM;(pjc{j3W51CbUDl*5@HU@TGx8C+`MtCVk!sp@H66@{a4IFEm(ng4YtoyQ+7 zkNhcu*w2&-<8O<>#>vsv$&u<0Y5a}r%KY5l`#-_qXIfZ-An^<>;fw7yO|2DqZ=;wP zW{v5B&yciEH)#KW6&J((a^?64fA5ic0)KrEN#MvfG$X>fhVzVaTvwrb&-HA}Bg(?F zqPAQV|X(*o7ru!7RAdLPybd_PTCYsdUCUnZ&+OwpTc{D+ESy#1shMfG%t% zpMpRNx-?V0G5Tat2Wc}Tz>+`^PCV?}pl^{Gul28=`~h0RsLJ|cm-x*S2`QjK1Glv> z*g|tM6u zD*>d5qlI_&RRhROY~`;5Ft7P6WyapJIs1{hV}wmhWc@esn1{&O{|>HP@5+G(KNZpC za~0VB|E$2DJM7;qgH?p@faZI&hRqCj)uDxq?Smlg`6lMHBq zxiRA)wz2BJhZZvO_wv8&hBY) z%cO+kuN~=c!4U%+Tep7-M+(o9a z&iO4k@~;>EKmYzlnHp5BY(7&`?-x2f00Kr*tRsQEx1X>85uYL@YBBllVM8aKV_6+qq3F^-ZQ@V zmft^Awf}IXRnj73(2?BhKJv&a!CRhz+x9aCR!4VHB$I9EqC2{hJXzr%lRA-Yp1+Gsc<;( zps8d!cDup%ges9K_sb0LFmhF~AzrHfO;pEVi7C4dDUh_cy*=mWEo+o1x21AR0UgJ9`Jrd-d2^Qj zP#WDPHQ)i1>ICd&QU~o5%M=KvKsRPW+4TndV}Q^mBLLFa*uPevf5g0lZ!;GAR;=h7 z#8kwh(13QzxTiMSp)KcKF#3h`BK)G9-CcDYSG(0f%F(KNcPO^dsqFxx6KZ2tua<|9 zEj+&{ShegN8w0xn$!m!s#>;SGBR7O3E-kNAJB}w{Wx}%q=QRB*&x5nERBCKFT*K%b zkEtSnKuF+T2fkmCaXwN6Yq!Xx>&us3AAKEo=Q6Sgsxof!~=2jmSWV`j*r|=yV!;0U-&6T zOl$B_`7u?iScv@vY>tJ2o0AS}ofbKWEMdRy+kMRdO#FcBjN{Moiq+ent|!7>XlSZ@+}{{@C+muTO5FU~ zi!VOEZWB{T@|wfC=z~dw3-D!R+^y{vgI=dZEr&xCEjUifGH&79YdxV~ffE_fy+L7J zfU99@R4=9&g4TN3rG%sJj zv-6)pRx32jpJYU5ti?=GVS4zLLSCA#!bmwrkn#A(n7&M>gbuiKr9?|#9=5F9&D>oC|||9P4YY3uK5+baO$ z&yTu*MPY4-Ol3*@rk@g}KguYaP{P?EnyqinWMdV! zEO6=oyKyt{&;kIY5hp8^+Y;25wHEB%O3b!!6^PmEi{PH`#tmF-^#Ov-`Uq2i>%6L{ zxC@#0eE)oL@L2L{*GOT148*Z*&3YPl z=a7epix4Oz(9`+4@_iJK%n=cPfn3(Q1Ps}n7{R|X3~MsS15MX}3?D*-9-yG7D}j_? zV}}vOR+B=R?^|RE4NQ^7nRA#mKZMmSoKA@_`!dYF5ySAPpcyeZ^3Y*orn4K@ud{=Q zC0$0^edHT&va}!FZ961btg)8V7gri!;$W1sIZ|%U<0_HI0NbOy$AaHAz(@`9PYk8d zNALidC~6n$W+MVp@Vbk>hwp##|Lj(N^rr>UAe&0l^R>-rb7V1pdsEx==HocHn{ zFxOnlaYaW5NB}$XsaTRH)kH(%O^|SX{Ib3J^J3fo_o?|`-5d9Bp_P%9t)tsNh^-84 z;vW4!aoRTU?m>8S5P}umXn_zTwsDO{^$CzF>PbiaQ{AUB{Z<9W|IF|^+LZWjVVA9t=zi}W_@jReu|&O<{0)Gz=?4~xm(`3oN^*V8 z(0v36BPb}II{^WaAp19bLeuWDXv6j&rnLtOPq^&)G6{C)S|6mX7gED}AWJ()K3DwY znXTWjNYfDlLNAk3JayvUYM9>X$DXXhtWLALq(XP#sY$FAM{t`^ghQp3h4(0%kwcJm zB#U!qT^FanlbXvaw=RB`x7o+_ZHEA$!zyvYjvj*oNzDOda?B!vOJLcj#S(QU0ZPej z$wg#AV&|vGSsjdCFMZcW(S`vm^Mz7iQXJhg+l^Q7Ba4BxhP|A||b~Fjfn4^@nWn+9ctlOGN{6s6AJ%|$QaLi$HPsQya=EtwW6Dj(p ze(bKl))=ba3FQ7b{{5_YG;?rt_y=lpQ{ebo_!%#Pf2t1CKb_`xbVo^Q;xl;x)A>MV zZvicT8Q^wH{RmQ6R9@XsCuS(%>B5334e#gqp$_5KT-2=|6c@&q6ZG9h3?(ut16y_E zfoyWMRdvi(jT+JVLbS{IFef@;dcZsH7)@KM27$}?UkM9lIq+4=1UR1 z4XJ;|ON(Dv76?0q~W=5|*$4|*!-2C+vzsdfd zO~<*=Z0c!Ff(HN;`T`E7%(^({RlPg;&; zRf}eoFjVObRY*>j0W<6uOlce@1%KK{=N8^!FGeI~u~ju-L<;83I?YxtNg~QPJAncV z8;3+gZPb2}79D|iSpnkQ$m*5iPo-0pjw~e2*@jGeO7nZO->n;>_8)}efMr4vY^-ISENJNUjjRzc2 z*F02BnRODrI2tvwibV5?lN_^2LOdw6E~R!;kQ|HpipBU)-)Qc(8Ku~oMBR)95$vMG z%7a)W#FhlKf$zmG<#lQh>y&w{R*_4a@h4em^cD*T##)K|cpMR($!eF+DZE%h9nVU* zANZ@V6VhYP5%8hJD65h=6SlvSv+^|}J3EXO^uA8ThPNrH8W4y%5&PGnE%B_sv*wzf z*mSvfXnKAav)vz0?4Cb_Mow{;h0S(RH+O!8U6KwwI-4s#*A}%Vk)RC=<WgfGx3}#OsmTjv~7m{{&k4zI;yzxmbU4UkZMkx@Z5_)(+Ih)m#Rlp#hN`+&N&+6 zZtZkseT<>3>IJu|a2pgQl1n4N({Lph6s;<$I-XWmOi9QNHC9aJXL8KrGSI}nbX|pT zZ#k4samyEr6x>`J9m2D37Kjd#t&qFX`?Uy=2D$fo4${HA`}3Q)CB`|j`=Oiz?QJQ{ zmUa#=HwRR)ZRl}*pn)08FM$z1$MmxCufs+0S%Jv%oGW&~2`G1wQ+u2JX>hsgJR~l3 zIr8e3P&8CZ-Yre))dQxw?xfelyN4j~`y+LO+P@5B?XOqM8&ph_xb8e@!!fH15BE&8d3tkMM zc*>r7#0v~@aZZVP3tEQ-6PHq!Bgk`~neT1PlfU4?VsGqm-eer%E=WX~@*N%8Yhheq zRY}y$aF9B{swdjlUezC*4cWXuoe*Orz32>{dMQM}kEz$sC5`E=6e9%rHp;KcpF(^^ zufRjJX4XT)z*%XIJq9Zhj|)5xWK@&?GNW1x8!?e#+zHKK&uW>%_rX!3naYlk=!}OR zUxM~bQSdXtf1p)uDOzAM7XfR&GR946r1Tb>O~i~f{1yR;8G>lvsy0X1mn`Eda~$+( z3;zbRA?qjKU?=^obGQdw;P5_&=M9NR7Qy~@hbr@~e;$PWBGGK8C6GNkN6rc01etrJ zP{7L(V`33n#{mLMc*ytFmy-MFRF-Nk>Ea7K0>h%r^StN?uQ$>;rjJfey*P!NCv`UJ z?L9~z*3d55TdxHhai8?*Sa-{aSDn~p0g@#&1aMN_sIr6$s)(6fmVuOc0*km)O&*{3 zjDl8l<6R*WnyS+Qy`SBY$b?ri7Er`clEf1O!CDEwk{z<6oKe9o`fh7438o%y=sXEF z@n*VrRFm9DvYb71;#JeB_l5Tg#O6Zu{RhMJG#$4$!+o6TdAV0#0-N0XWI}%PXDOCfh& zTk-Ygk;G?u2F8v(4FO2IR43P_#MZ(W{duv7i_{7)g1&p>kmh=`CD311IM`^t0?Vzge zPnr$I-G~ZTX?>j@vJ8%3&1@R`{w0wq26fhO&nlB!QDmFdqIAt!*fw$vxXSi5JLc3q(@k1pBG?sa3c(k+hg&BX;H;} z6w895gKkb{AZXDApaCf!nr)ysz5)k4He1HtI+IrBAf+Gcz%ruplU7gJ%1ihyed~5@ zewZqf6W8-eK$tZ}-&3sjdz(yUg0nU({bY~gIt zcb;fD0vQq5rROmc57O`74CYb7^Q~&OP;l0eKVGNrmhH@ZJ%!niNGTsB1{X!5wDUK( z(rAbL&Z~!(%wN@}`ZxCc_{yl+H`-p8iYYfDv-vlI=s({k@NPUbI)Hw|8oyt$Hx8P+5*a z9klHF62I`40d&9bjD^Z?8Aw&-D#i`diwW#2zm&N^E#6hdBT=Ezj>?6>D?co=g229w zE?|4kC=M%7VL?fyl>5qmv*x^&%z+ZVY;4m7t9OdEe|ErCwQ4qM&%Hi4KlN#U-&q*D z%xRQ&myu-l3^Eu7>0LF;wOUq8^`T&DT}Lup23f+OP>xAbt9FLxiUmr9Ume_I8! zHxOKlE$X`jrO~=l0XvvI2!U6Re1M)-uW>VqL@jrj8 zjQ*~8bU|54W{vlca%M@H#&1K?{3YZCxOhwugxkC&^WW(2S?QMBE-uo1aX&ihEQWCK z6l2|g1XjBkA9iH2Fnkix2*!vP#MV+#>`Ic05{~n3U(%x-ElVH@rzEV<#x`nPZg*g{ zJ0a()J88K~NmD>HR zgO$l@7po2 z>uY<$@XYc5JC4k*zK%Mm_wu22qr(FD23|rI4J}D&iWT2){kPjSIY5>Ch!T@P!shZd!37Nv0eR!Kx|~>R)_obK=J?y7wOE#P)fV>! zie}m)=Y%!j&sEMs7|E&}^;NqjO$bfuNY+` z07JuNz3n9j{MjlUsKZ}OIcd`;x{ZzAeS4ixK~6o#F$pma^Mw2X2A@-|7C3*A0Wh?} z!noE^6nev{6_h%%TmrC2bw>B-1;4sE%Zr zE@DV!LpUgs@>=L|Yo=#KDXCa9&Ci|ll~`f_T*&`u$=z8T@o8bzSl7|f*3zQBusMWo zy7eo2d99LF=Fng0lsP=jQ9GYh&aSy1e=(T-hIh-n#S(6H0BZq$`PKo+m7~+fuJUjz z;zu6D)8eb1$=%}RF4{p+?1M2=YLA_a@%$)nn|pVOJh9ec*q+${x7fHLJ=bV$+-89# z66o_EH9M%t8NS({k=!3A-@jGR_NU3|I~g1QEzzpeB;OxL|3N!m($~(VL5(ECgB-5D zDU!4Z@iCIq)ps|40+!{0}*pE+psnf7UGtq5=T?R?6Z} zIXF1#{av5^xvIwJ5h3ztw8siBLHKz^!j|al&TS>_{#9hyW=k)yfAPhTMh+P>1_7J1`qdGL{Kss;W{5LP`}mrG_87tE*8B$cW^osBM8a`F4EuDIk@P-;^(O8 z>7u07`qd1dcFj)UD}gqt8AHiC1~TS_k>d+PN8C5OWEF+8>+GRxIC_C7{Vexzfw9YS zH`M3D*6t$s>r&u80u8#8qvUfFXGh6jxWA#$h3ZCnVxoh>md@rN zZ>@v;$ZA?y@v`ODqZyh5pp1$~{QqGD#UTotSc)6h{gh?C+2SY$Qy z0#32$S5}Qc-L$hlxP+gRA(F`AKLrgaio*#0Vh5@-3;ZChb$<=>oNs+~>1 zgnP)`RVOOv?ckTP-cxEfj=YIppy$((Bc`SLf@n;v2Ki-Ye9ud4zH4s1Ow!8RxD<1< zx&=qQyZ)RWIXobCeq!<5LTxiEet#Ve|8b40{UI3bw)^c(ZRaZMhwlZ)bUar18n*Xc z5Xe(7o)k*Jg3pL$x$gip1{T`?#~0NN=E0!XZ28eYjkTfPt?^B;yzg(>@43z(-qVH$ zsWsP;cDQfIrL6tl^>kWPQ9kkd$pl*%_-n(~!^36ua`gR#5ACkt<1yY$D&{j@xMdt z9uF}+XZ(FBk^Frr{UeI;f6nkvC`O%F0l2@Vdm=BqB5oxSgSo>gyZy+^OeC-+BN=cB z7`JpW{P8=}pD(_mi~+^Lvt*>!Fv%oSQNr$xLKG_CZsYIBn5w4%RO+Ts7sf()lkc#IO10n793AAglC|ztRUE&k=CNR& z5OJ9_@mU~-A=tybyt(mU{~+r9i^u)n)o2UzVxKa9mk;{48tuRH6S!H}GBf=b1f)s4 zmedeGLdajwWH7x%@d;IE#YojiK8o;E&Bub|M(a{nho-I@S;as1dpX5|Jv_OXzo$9% zG{u6&1*j#HggLPxyNhA71^Ux8!KW8h%RCYx0OiEx!FC8ZptWqI+F~X;TO(QE-MO7& zORs%?JGsjN@Nl<)g}4+XiuM_-PWUfmgo@;%FJQ}bISA)Hr06yY7|ioEtYExzmKAWR z-$i{VzU)n|j*{f*G{Pp}Ln2C4nyu-pW4F;JR|TVxj}0Bj<2-=}0on^CZi<#`^T$iB z2q3kBJ#@9|07*3zpjO?+CqIIw2yI0-ax;Ksr6 z&BCV6#lwkWODT)8NbN|Q3KdE0cQT|^Q z(CJb(MHyQyVKBgs81*Dl^$=j>uO?LQ{8WyR)^|g+X@$vJLotq(6 z6|_28BqWP!f;I=SAbz504N`X#s2cFP;9F!KFc~Sov zB?c{YvkQqjG-_14jpU6Ts&rCy9SL*>%XlO%6w+#0vEIWfNk5zxNsWh){`$Hjd8!z| z(L?fU3AM%(boT~kfw8oV^&9qtE^qG=SHa3dM6h=A+fjYuqA^SR?d1nJAQXFRu z6|9*3qQI}?Rk2CR@F7qtY#EuSRKvb7pq&=r&d%w{QeZo7$dkv8Xbm&~ijk`)WJ-p$ zhpPa{wrq(J**ER#>V?Wpjxp@QNu*ter$mQFHHlBKZSC6A>n-6s$6}HL7e}E53N*L% zTt;238KrtgA0y<;5qM^o#Pu@4Z{&GVF@+B#y+^?{T9bGi*t*ONoX@;L)aVMvm0<>+ zYq^7q8aS+z2V-@j{5cGO7X&MDGy%q(YLAwI>Z&$dVfvi8`7nLC)c?3jdK{3}d|C_> zyT4>eo5IBQfIq!)KJ^P@u;mi$o4W<%?)7TOih^FZBoj>?GT>{Fl+)+nUkooG-H!8S zpeb~wbC9O}OS{#3QWtXxs>py^Th*IVTENCI7MFsG%VV>P)toP|*7OFg4%QTaS4Vcl zXZu_xXQkPFkINzPAT&tw1&vdDt|!L5E!4U>?cjSf#0!d8_1*sxIfs$)PM3AVp(886 zmiTZW!`Vk>a#i1d&>z=3ZQCIK&uvn0bd$S_e|NI+-wL{almht=JNdteKr#RKO>C6G zT^xo6%B0`#2*F^?4Rfi{aIP6c?2)+5@;^4QY0 z_TKKUqA+>%NQtAydj!lm%FR7Vg_jCf1*$cB3JY4JEmWtID^!X3Rtp8Y(t0G6le-Ln zF>J<`Te;OO$io}XB18fhJ_a!*xtE8Qeb^ds4xB%&!mvKFou5~b(lTVx#S=1803!3~ zkgA$Hek>j}=Hx{*-NI&}RY+CKM(8FGtG$bhfWhjCQBN)@i|GVkvd94(+NgPw%N?Mi ztGyr(bB_YCh=%j55j`!} z-Vwj1h>P|q8ckQQb2k!K>Ts(q-&UkMey)K_FvLcal+Ad7yJ zFU_~n4&_Zdd7o@6aB1NE-tuhAQ5`>#7cwO4kmQk ztR;9YkTg&)$a>;)A)$!&Mb?O`1Pw%SjX0Pk&>XCN4ef6Nt17oqoxiXd{xyu9;u^Ga zLE9->IYu1bT)%1>q{6r^o?mFU;{Zj2co}@;8j-kx^6ET*XY{7{#kwrm>MDMTbx`iT z<+i*BSAv-Y8_=zWQxW5x9J#uk1Yq^38hTNobg^WqqAhJbDw%D+D!5tqxI>%6=B1hY zlYZP4`E~kQn0y}C3*JoU69wAqy!i^RA1`u`{{NnZ{YOOEe=`T0{{u>3^cNugODyjn zbvFEa{C@(Ec&8cRf*4@<7k0|-OdE^2k(A^TOGP6y_YKF&Q4eqCOD@xP$=O9OH66+Q zX`)=5v*kUW3VGt`O^jNUr#?#%%u-zCTKE)w1(M3tVn02iT)URx!e!X-7Q%iAcYPxS z{eflwBhXkq8=skO`h4%pQ7)@(`mc+6Zoxu<9MTKLq>*Bs&9rGru3i{E*SkVtoKt z0jaXP&9K$WqGb`gz3O)1l6n>@+EsJK^r#_=joX-GmfB);4@=F(K!Pmm1dio088|CO zPSCcQy(GXUn4%MoJgY3AiAG?0OvsqO$d-Dw8#{dPlChnVpN-qTF-+`-kE@E^O+kCJ*-mS$MoYs*Ugk-zD~& z(DgXrs-t35#pCAci4~Kf!1z}XRi6+)^VGs=q-u@&D7kc$??us1Yxk1VnA3sJzcs=M4#|8Iiko}K%2ahz7FM5&wg(*{xQFQDK~HMOpMEyGetQE6 z5r;lMJoD=5n7Me=UD}zgzC|!|m3v;*_ooRY5TCNW{u^5VpIPkxQYq_SdP1iEowJMC z>F65wU-WnTcS4$ff&l-H{!jjxHL8D=_1F;p#Uni$v?^%HM!Kv6xnsaCPvnvyxnpu7L#sG_``uB1r^`$?fSgzNGz=qU{raSmL;t~@u_VCd^KdV zqB&7CR~9t3GO|~xOxUcHN|autD0i9${yM1ib@atoUb4_tMKj&N+11hU>nqN~-)ASy zs7Vjz))0*8A2Kw+(U7?DT zYDqJoOpX9cKGWBYzKTi^N?@LnCU2@|P2Fh6k*%>c8MPj^q^)BdCKc5;bdK0}L{|ki z?V0M}qoZAw=~GD7>RTKamFV1A7_tFV-i!#PLUT)8S*YOagkjIB#q*Y1vN*Xj&fd^< zisDP1V54lWFE``9(*I)iE;ubN=~Is3KP;EPDHe_)Kt;Vva2QYw$S1)tGvpHL$ON&4 zXYVmHNL0sPXD&O;W|=1aEO3;@gW>s3@0P2L9Sx{av)&_LQzJg=C8_148#F)zVN%S9 zyL6-50`9PAu1VGJ0#gxyz?O7^zI@tT(KJn^=FH(q5`_GDo~Mv07X;AA$ePf3_s@{o zHdVz?>{)E1sTx)O1N2@aWL-|(PMCQ5tpUS@_mLZlM7sd%yq@2RD{rQmze_E3L5~h> zNtN6zz0FM9K|{P)hf-M*oVq?XL91NuAOL}(a2|>SP3MKS2a#LbKK+MZyY~+VFMhLk z=?@--Bhp5M^Cz#R$6bu@(2yz>xoLS)ob_W^LVWl}9@lzmd(@T(NT1lahl2dLZ|8~} zbtXPaqnXj|C}9~>dL%m^FX=sKvF5cr9Zre+{%GdLwg4s_vooJ;35+9=tAscfwgB_E z0whXhSOKRvC!mWXwLOv`tbVM2K18~L+-s{AKU(Sbr}|BP$?Lwfbi<>7yHGVfe<%}( zQiRuQQ`)3-kwPF5Z1Fd_cKwt2a9vs2)wXoT%mH`X^Or1oJdJb^rdc3L*tDnPJ=y?O zxt4*4P>-{8^!cK6EDdM3QmnRwrrHo_c_D*2`f@;H^9m4_Nqf^f+UJ{a?|tK1M$9tT zuD078cx>NIEoRTJiP|P}z63RA%!8-%#0?&>MZNR5K#_3M=M$s}m8A@xJmqJj&!g?X(CQG2Le2jEZbo`p?^-X>s|- zk%XjdMHA}Af;Tbw$)}2sZHdI;DeB59wKJ=Gs8w_<$1v=dq{oT@q}sW%kCOaZO02sc z>+d*Q-4LFI30@5i_JQ6I<=K8+RVjLlAJ&B6gRKDWH8o)6Eo}1d@&8E({C{8*WO4~5Vi6D+ zS8ddS-5ghguf>n!QF9q7Tab8@me5#Ws$1P;?)#Q*4cZkZT$ID&#^{Pwvq@%}`}@g+ zUs>i&d0c>uQ?8F^J3irYeuW78(Eo;U|C@wa4h{4m1_uC8#r}ubjE_{}i>*$+Eqst%D_^x1F?f!x^XKdg~-6KwFl)upbW9#=#7&6VY+iBw8L zJn!6^zbLU&sV6ayyLE+VM0}w@6E0BPYmO<8n?Uf$0h)u=Ype#PngGzz(Gfg;L+JJd zBFjOI2UD?Tcr-oUwGXtx{`I@*)5}CZ!Yn9GAv)alWiTW|E(87X@C;my;%M;1sd^iD z5*y0jTkJk;!bEJx=oo{bXiDxIoREk+!$~%WkS@bWVzQzFjogwWMel!|lsbVIt_D#N zp0d#cBXJ8p_3@GyYg08iSKj1S81&# z)hF5Q=F3tDVM7}(nJdR87~Nh8JQbc~L4F$~3o^CSZHt(fKSY&KE9dH^CM{HsxWehh z__7oLvniJmHJ?MtNAg2GWIUZBH2|gb{SLzr-ca~i#%qS6O{?a_+(=jfL z&z5NkXRh;;EU^yH?*0B#)-@a?c*He>PSW=ijV&JPAImaaq!b>3P!=jrX8$MZK|u@x z9f?JT7309$R9EW<^$;Oshad~JJP%_d zG%D(wKHq4-yA&0dQVitWb8FJo%9HyMVl_7Mt8pVFwS*iL4uX+)8{jH+DtuAprCy{- zl8Ka|u(^zmLNvEwo&rg$6>(GL8W5gX0O#KniK$uiN9)y#_1{by{Q@V-Jpy1jqU*?g zCFOX*6*l!R=-%SQ;`ShqCw{?Tmo9P%#qHlTrKu&Wiuv0BW24~HiZyG9wk;DqtOz`pQ^T|u~cVuM2wiAVTp$lh^KnpmREJt>vo z>-=frbYh)F%R&4o&~c`rOlfzMsBKptlZe;QLC;MY;61mA`;cV-%h~7rdOT(e_*g>h z9&*e(Nl%x$=YRNW?o;9UYmFI@BRb)R<=Lb=>n`#Tm%Q^5oCObVVtcJ%g&fUVDRLW8 zc9|HufBVsfUp;00Ws4(aZr2a`vGI;wb8YDT;tyb>ej@bT2*tT+qKDt*ja4K~_%6UqiA{_5k@1fsEdyBj3C>M$&Y(Yo zwY9GEF@j6Pw4c7vQ!1*?)@sBV&_@!r82D7|=t}cwTxj zc1WBQZGS!<x) zYq69h76+HFS2SHE^h@}_PtPqPr}9D#I>9nh?_aF$9&v#Tfu&a5%E{7Y=VD;IR3B;A zMy_%Oo@tD{94^d6M_1K%)AK7esI#*3TKrXP3KvxBeh-~TpZyXDuUw{CMC#H;Jj%B( zaT?q(o)Q6DQR_WNQ7wjZIuMboVnPQpEi-7pjXD2@U9){jr_oS9Yi2~pLB7>|TT7~H zn^2A#4_q(v+%vg})lm=ILbW14Q8f3zUK1KarE14&tIEv4z9-2W9N5fWONY!{)GNqv z+F;t4&^)(44wUsDbo%C{TdO~g{`i2o2KifjuFEWk2zHt60Qa`WG`4s9y!Rjwr5W{) zZTH@)U&B%JUK zxU|}H@81{iw{7^uK3ki5_Nt;24jN}hJ#B!W5`Gx+gyqh;qJmj1*Qy;}86SSAm-AU(2}hTxbFFl}Rz>?#FcD{Y7EMB|CS&Mx(7ajlAo zrd0&V1%Y)fa8k4pl=+Z9bM=KR3-*s^Al65_#Jv>oZPT6UTbS|Fz+?>yF!JJRr##V2 zxAbgIEva9(xESv6;SYV5TpEDOdTLgNfV^XNc}?TYMMtfrtk9q3WkeM3Ykm)YvPZSr z-Q)j9mY|>KL$nYM0Dznf0N}p_E&s?^t3>n1X{#0WC&v%8bJujDj9$i0i+#^TBbBSB zi)&_OqcLYIivTH6KM6q0U$J@T`^9G$m|wB+%9x$>6nP-*1@{*FaTLwc^^|USQf38w zZ~W@*5BU_@`HA3op}k>=6zTS^hf0LxTg*u2o;ba6(R2p-=CO%ZIgnm`ZE%9FT?#;E zNV)ZbVH=A`zY2TnBHY<#XKM`l?tLl%w*A~Ns(jjP=u>LsF9PW%c@&?bV1e_8z98C1{;lV(pO{= zBP*nQ1s6yd)N756P|hrqjcc>E(%NCIjJ>Iri;npf&);mCDf?Pmoch1FJQnw+ZPt$P zT-&y00PIgqTQ%k`{VRd-kYjFLYNNfd{5aL{2~wQI&cLBMs<3nHjFmX70yU9R-Wr>y zJV*_uO~1cZs;1c4)1*B%EXxNy&b3}BJP6h;Ur^rtJ^C@@gLRg)o3`WZO!-_lQCv@l z^Y}vWHP*CR+Gcpx@eo7?_Uv8h z87p}=UP)Hd5=Gl0WL{B)QrfHSW$|IClKQxzYMx6n` zF#_aK0|%N!0GPolN#xNWzsiTt0~W{CzkZGk2x@@f1gl-=hVuk5a3RwNFplWcnyM!v|5-f3z}EegjQJ0^7lI(lByqbu=}k&jkQ29`!X8Hk-}} zI|{RITv@oKUJnS;!2-DIhaCJ0vPv$pSkafCADyCoc8wX(4Acfh7AQp9(cNqFp5F8&te~$AH>Fi3!QCl zD|GfuN^zGz_8=4vi@QeQt8@y!u~O=(VmD>LD`?ggB4{U}b6gcA_~Pr#`liZL_qxKK zD=Ylbd^uKaG#r&V+*q`z!TlRt;Mlstv_vOvRy%8n^7YDkTEFA*%@m|H%%297HWr^D zY5DzpTUvPd+ipI{6vK{bODGb+GkEXnR{(b7zR2$^UZZI3`NOia6NT+SR>Y2v7XZip zO+QZ?kV`$|0b;e92})yV!xL6>PDUtoq%1*k*R-F3;5cULVIfyJCK!Ih&Lc|{Ia60$ zIQ~_Ww7FkDJP@fSN)A%kzIdo;BJ@5vDkJHsDk>jeYn>5wi$*V-?X3#J6oAgqVFbV^ z=Whu6UN$%I1m*__$EJEIWAYBPfT1*>7^J?Jcs@~u!eO&LuW5B>$tkNm!!Lq*2#q@{uVQyyTg|X%(CFfv! z1t6ov9drrB6LgIt*N=-YZ9$GVeh1HQb_ZhP>Ic4S_pK*(9}~-fu)TL+P}c_#jsw5- z`i05=^!M%wV|aawKLD*S*?`u4?f_ZY<^UO~vHP*bkkH@^Icl)|oh^7wQ?qk>pLaL+ zho9P?ysP-LN|VC3yw<<>f(Hcliu$(7dDVajzs^%cL&Pz$WF_?~v^eM_?UIq&$}3RJ zT)Q(8yo>$_en#e{3-E~gHYDxJd35~3y{)j^%9m0iTkYZ2*hNOGJva|&nsNU_G?hM+ z1C%Eq5uzTjXOI(S>G^ST1^tPvR-g?tLT4;zA(Xm#OAh#in4%tHS3=kEog~YlG9~J1 zPWEVJOJs}wQnHnWoNw4=tBKhg_UwxYva|&b-tn= zZSUF&)sxwoRlv4Z^W#bWF;Og@9)@K!1T3+NV_<&GvIKTo@XO!w@B?EL|k^ceO@OTUluVU)I-?FLAu?8b;IrSIe#!m zv{~3Ht2>ZIw-rXrdTPxRuv79iawSoq9O6Q2Y+#cqY0Bi6Vlu{EScH!NmDqJEXWm8F zvpsLJRKKWrzbR&X)B~tl4^GktyIn275<@($29(LA^#P62Y*02RiXS1a9yx6onasCKA{h-l((f16Da;T& zdSWSyD`RlOMr0$*XG7E&(Y< ztyQV5s5#;}xVfTOsjO987MSe-Ow$@~~ zz7N_s!;KJxrRx26h};&DXG8e#bFAM~&Jgx7%e4;*k+Oss&j%L4ok3ryup1SP?-5g( z@rb|ma(CMcyCT7|G@V_j0DpP8V*PDsP&%<%_X)B^WIZ$WJmrGw`_(hiA~oFl$#;jk z`5Zg1rh&%1iOK}(h)@FRs6JDxs$hS5B_zk1SR{%*0@~FsQ;T(dbRSb0E19i+KA~AO zo?+vy5)0ne$w?}K(y`<4l-;GcN~3Zj$Sib>#JVgbhH{`-N2wG_`KQ=Qy8`rVbG9Aq zpuu?nV{T5bs74fIY9LPx`K``g%vTnBuB+U~R~Lk#(}n{KwD%#yy$Xw^+gYPISgasU z5W4umo^`)sD26F)HHReZ>?fc&Ha+`UdPUf4hIH5~2_L8Hf6U|82otlhB_9Rj?sy+4DD z%D6%`Rm$jVcRn`!2F%SYucy4!SZMrlOa@RtbF2 zpLEI`x^_4>tiQ^^D9Z9z1aJbJZZ$;|O$!wESk2WGMfnU{tBmb1T#CPgx|%cGMTp!S zvI|3m1(X}k5p-NDTx4wMVF4?iOX>%SVR@uGrKapt%k4vnajee|&Rr94gnEvcz?1t& zKfs+8ThD{Dizj=~xp7P?_20m8Wk=qbQ{@ICpsND^Dr{nR{VBtQYsTzqQ%2iem*||4 z;+M#je`(nD9K~u8Z4M6Xun$7&sG8?{^-K0dvKD=^<>?Q05I*YoQ-}?YYyO9&MQ(VG z9U87hI+jAw-tg4*1Em3c(@&Y?;=5fOpG#f&iSUboI_5rN{wH{Z3o_>FE%HG%jW;X^ zABsu&x_^*T)d`@)Kw!(H-5&L7u=x6}d=jl6cIT)Nv#&7kIy_5egG#wU?z1tBJhLwT z8zFqyB^KF8*~2ruab>Z3GS$sH?Db%{EnXMh(GQ95gf7%iBIR55QzNB>3ziPEumk@g z4)8F}G~Jh|8lyj2uPzK{P@S*8d}xD?6*0HFQ&53EXr#06x< zM5N`!=xmJtzdRSJwJ#I5MpM3j$pxsZJWr?pEvTnTsabEx9*>|&BS}kInZ+WQCn*2~ zM8m>~+}K>(L|;eWy3JnN0pKXEHefrMAChv*<6FDc-q)Z%d(+*+ejVt(l|U?okxkV5?m1;i+5%NA6W>yxZ{vR#OZlKB~Gl|FJ&ChHvk;7oN+>#X8aHCdKx*`?eW zo6L$0!!->myQ$wX(ZIj7wY3k+Ym-o>q}NVSs7~#I`32o0Y@?D}&clb0p!72#e2=J3 zE_QbGwGu=H|ItFV(%1X5QhoXYL|*H_j**MF_Hr&}*P!KbP<3Y1xna}IG07ySrr>>h z{+KtZgl|-Wl;Ypt7|cUhYp+(Kf!|jln7Zcdi`iD@BvrXb!pb3WaeWov8x z_>tce7NOLvoa8QvDr7A&7IizdK&7F9BZU?Xi(&^$gG^(LP`+s>X^=ecx@C9AzX8&c#X>`GfA=ki%}{N5o^ z!>q9fANVim5!4&ja0@liu}9j<+EUu+T{R4sd)8G3v+qF9_p0)Czl4T4GPTKq7lK3X zbP#XZsOrMSA{=2z;xPYejVk)2rK*~ZHjzI>!VhsdsehwJlf*UQ;@B9*#vTigr?;@| z*>=-T^J!AnMNWdg0rs9H`BbDVnG?Koc{Yw>tHRb~`%s(tZNie79eaCyTxX&0eLkJU z`H|885v5(yW?goGt&1;to1{*iKZpJ9Uei^P_us5!;_eSpuHPJWyDSf!6zn@UJBDD{ z24=1%SL~pfjFw5Zc!MWO3g1ezDCx|PFz0k6C5eF^8XOMI!Ex2OppZ%fZ#|*W6#}fu zouOBf1N z5MhsLqM0z1kNSFW*`@>iy^psqn!--@$5p=vEWI1 z-E*|%ss8|e)?l#hoJ!0TQH--8e z?6(Y;2ET1d+xE${E^T74<8uBVdTyv>bwY#V=jShcc7Z78$J~8>R)34uNA6ntMC-4>;$0)2YboLoyCpu%?7y`1Q{Q}0TLGQk>seQ8) zLGk^DIUThW^coeBq`CzBrCBzmICw|gA4gL+S8-Nu(66D~n(BxiElU9Tl>BX~8;P=6 zI+=0Pp)x=EaGK?oa(v9BW{^|UAo_~}1D_LxEaV2HxKD+m$H#p;I|O+%tz7+;=?5qZ z>%0-gg)pVLIQ!X3I*f!xWn=O}5UOlISkEQmnFQ|fm3G97K=i0au93INJevFl&E6I( ziTP%(&2)Ht#jERT4F)@Dqmqr_~Sq*3h*;co#)(_KTV4PcDh%o;W2;)C}f zZ1Ravp~`U%g$uf=yGKI&Cx&^7>1 z!NH#EL#}EWFKh4?$Jeb@Oo2-SagYv9Xg>^{4%}EQSKb)DFW=*ct7}D8-t#?$+D}C` zn`3jUD`Z}+%YBFVngUxtl~b>3jX`>88qI^JcYM(P-`Hw9K}w&Uy-0U95JA-tGU-}2 zg)D8Hz!v=6X8Hb*Yl;mX=-HzI2MqVl38oe<`c1hye-*f9#YycIGhD;U2*;Yt=EQT9 z1%cixl>L*qb8xxXtk^$^2bS^I#fd^fiV23amvE!&^vy=dG`cK+NIu|ve9V)H!r=iH zv1+5K6BIM;L4l11iYAgc4{)~Aot_ttnehEx8ht%2V9}{#SUy8p0v9waJ|hIQ?%RR* z%PTZ|Tp8053Y80yiK)7csv76{^TX9>`1moxG3`?BceP0T++^zNgXym4PeOWR9Er8p+If~+*~C(j`(5^8}dFs(DCFeyk+tWMCB$tYb-rWveR zdSOBha6fWrk%+_f+g5Ng^-u8+&eP&!(TT9>i%3rkZTfypj(Qjg3r+-UqX$x20e>(7 z6K5It9o z`U7ZUnptI6J{1EIOXwj)C8L%e=wWcahcQmETVId`+4PztO|a7arIt(t4>var;$#oyFE~Nf6=tlRw!r{ok9Te)EDsd z-FF+UrpsIap@+0XY4)vMuL6lwkIwkcRo+}>sEH4b-mQzmP^N8sT_9=PCPaVxVazH| zl&BR2Znj0=iY=;pRbl-6l zNggb_uFK@w6jMl90c)0Q2z~GS^BKQXfhN0)f#@9t5xgfqfgE;@)mM}KO{9eM$v5P0 z2V7}$aRHNJyiI{g@%1curZlD<<@b$}aOYoxIqZBH_632(k?{D{Ou}NR zE;IEB4110~no9kg1B3bFgLCWdks)@L2>vw>{MfOFb0Ww*Nr2wnVii5rIP|1*$IMq` zKTh3P^r->i8Sj&WP)(n_Ay8}K}1puoIZBa~shQRuIRo2v>mT2*QYap^aZ12om z7jw7jOQvb48ud4!ScQ2S-?k|xkiM+YP2^OgDA1~tD6^Tb$xWsKdb%WfRw3c>@}zL- zs9E)S-3%!sompkum8dgv?O()UdmxT+-hN4>-eJ%mCF(E5-0|1qvcQey{#uE=WR`#; zjXi_tcI4w?7(ABPi4dMRmdqh8fxrKhh(J^a3-};}*RWg>%}^s$2>{lAW|^cucsdoY6@{5x%eIo<&r*Do@gQ^zx$7{39JPFK4GY zJ{v!tBwAdOlW9qGIV7v5Hp3I;dgig`^uE|WIE%Dc68#*lc>B;y7UbtXB!A3lv0_i= z>&wx{{j54RU7`SRKdsTA9#2nJEnRKEV~0#Mz`N=3Fssm(VsZ$8hbApm~8JCGQG!Q=f3ARxXSz#vKA(Yt2CCNy$ zlD#ywzNaYy4{qpD7OS${Ng_X<+Fy@kq1kO(MnrB+K^nADx#zK0O1wp0n#XzBo^KQy7L})trLAplC%@#8+u*C0dU(H0->!KagSZU4^0`L5g7MH;CVmPxQB|8%odDqOLxQBB%A2FgYn zst&MXi<#`TX6bQbUw!Iv8bV&U;1NFdBfI4p*761Taiq`PdIKosVQyA}-4V{c)Dhd3 zTAtYsS&FEaMLe;hLzY18HkuNzTnb^kvq>vtKJCYY3_Wq+OiHx#AtF0FFX3JNU9wx{ zn1&DWiYcc*F&1DoQnvuF^v>7Bn5ZOQ<$lWv6Sfww7%ImS@R`-Ssxt|5eI=ZOf_l5% zDV)O3dbVwV6{Xp${<>WkpY2Yz#B?VX!i6qzdwdPw$iEho{E|Vl9PQw4%{OQj5uBx;9<#`bD`OHn zG!jlqfS`fG&^u|cL@kKz|JLW|O;Y1CSj_4~o<$Kj1Gy+CajBO~>x)nVhZwuJoXudF z<8(vj1m6ndaV9iL-mH>P8Aer6hXF<#(zl(%>~acxa6Pjn!lXsOEL@STG+6uaJy_xW z-N~#J#ix%478_PHnn5mx)Hz0HFGTy8#2nZPbY26>N?sRA!%WHe zo3PEPngfY;WN#;xW*c^gpr`vsmREkFa!wQ=y+ZOuVjX<*>{J|aFth>o_IM?p$-dZM zs7w?It9Ti8>xanoi~Urp-r**l)M~+DiE(Z{^p+C2KTMKkypEU$2JFz~ZfEG~?4$6VxmZoF|==X4z7+RHAFI#eWgyXa2bBi;$> zz7-qL%J{jy1H#0uSMQ6tk5#EYLLlwXP0qjwrk3f~hY9Nw6MG*Ir>3XT{IRW=7Q@^rbi!w|k306tb z#LBeb6oYE3p%Q(~5iWAcz!NwpSypU3Pe{l2)GXO>b22Z-h`D_Zf`eWM&1wLLtZ>D5 z8d0BCXOZ(#v9VzcS@Igia%f%gPscC5)|%`p@17X#oc**PY){L(e7iG@q)(GQPthlHFn2O z(8P1B?irCDSgmM1)pFRi%+b^wJfe%VxHj>ke0EsV7qPJ>=iWw-?W19q;_SIR0B;#VM;b zj9&Ni>txG~Y%}8>3tVK$QkY=Fr}?M?Cp)x=+kf-xf& z6>4;%0Z(M0@!8nGpaiF&eUcdYI!HLeR!MJc>lU~Rg{0S*CU007ICs{c?u1ow9CrM6 zDvZ|b)>fXV2JL3Z>zmp_%fZzr!2m}`p^vltnc(ub1b0HomhH;XBMFNY^PVh$n-gLV z8Uk>Phv#QjPV`D13^f|m0`X8{HqefW-D_GUAF7@->}5vgeC1Hx3_`jpqtNUYFyN~h zeM8`twY92(uc9|$_U!T9rG4(EbQw~8B}mcKQiY^aCr2~Ob|?hL9omqk>2u7EYKqpF z18^r7%go$)`yQ=3rH8_u?!8r>#9v&eMzXaHa&xlNxR&(D-cZw7xnCl!=oG9uqfO?& z<5q~U=zl*PSR=rWKInI3&ygpcTeHNR{`s7YXL-d*v{Xn!47Q=a)nUim`9;-|DVZvQ z6i2PW9vZ#xG*0laQ0dvRQBD$~8s=(G?-{-rZMleRCo#w6#G9C>N*k44x^eak^^Pv) zR>&#)hjT1q&n9NKHMi{znKxWOWv%}-bU0!!Yg||Eur;w@6|IT;w9U|RZXa)!l|7Ij z@BCul##JN5wrLc?h?(H1EvDwQo4MZWDq|1A*yOWw%hGhBeJ0WA+2qJ0eN5{j&_;SA zkzLxUa0zAQV7kq;Sl2tR1FBn4bDkO4xQ13aXR_XOIX&5EQIvLZ7R}p`nSIQc>xzB5 zg}`G9UuP88RSfsG$3k$&OUL)o=+C{_FR}>-lxNP2mdIYp!;cc%U}gu1UDhFO zEY3g`4y}YRIZ6Yq3`}t&ig4m#aS#6lc4RLHjqC6znQuG5*Gm3DLqUQc+UN%6#DzN^gR~lD*Aj#J)W1|SGhj$rgy>hQ@-LB+HsWU%fPAU8D@SM3|!YP`3XIX zWQI`%mPWI%PV?_?%zkM}paAThL*6;GscLA8 zn`1=-S)eS(f#+f`=Dl2nC0_2YY@4@7Zu+ij}d6RwC}hLW7*1jC_9}K-><=%CduE z60#?T)CKb}5;}1fMSl6umbr6=l^d^4#!BMT*;@cj7g3?rQGRpIRQDfYAAFq^Z(L;% z?=5q4j8M|X(-97@0M$x0zbh*WkPT-j?&z+=90h8}O&j+#F0Iz?w60sj4UF}>2OfIf z=>VrUzbf{p7cQ-VNgb35$}wPvJQ#CA{~SU`iaL~iy1@cU_`z68dq90w5g%Cb(AOxn z5l9`OJ`I&p7ZcvtF-Xl#Jgg5z0yx2&i@!S{<-z_My$k;u_~3`YM&9FoN+e}xsmYYe z;i($eXXWNmJOMNARI45gtUg`)AsVhM&*dnD=)BSb2#uQdes?yqGG>tCqS0p{pb)tw z?U^Dn(t+@o9@+hGI2n~aLeObEJVH`lWEbkZRCUVdxjAuOxvWY!d`0ZMh8+>1i*4#a zjqhr4NuC8sxk|QR=dN~+m+?R-O@fjF`{ubB5l-#^LgFG+(9VdC6{!0k>+w6pXQ^|C z!eL37tYTdfNCep0FHF!uvf@eCw`uBYf93_AGzslo;eh79LXjmcr6IecQVepT!shTQ z+n?6$Vg2Fax?Z-Yv&Ygd?-HQl27p5=Cd96}c4!EI1 zz()TNI*b0JM!%pEBYEWl&ysf;&06tYPX)l)iZsJkclwOn?H#j29Y$G!_qZc)s#5p+ zAcV2f z`e3A!)7jR>vd<8`cTg{3nHpRjp;k$RZ3Al>F(&pB4xEH9X$0{qAu-%rh3q0%$^(Rqb0{FZUMK>P_TZlSGIrG54>MMq}{0P!i_C) zSuUye;Jo|S!H_L`v$ifM`ha_@1-bvuy4%Gd=zCOP8=-0+F%_s{=cUNKZ{+TxhLSSi z#)-Vt^u4^w+XqO1To$O+h^>tPCC~Sx1^sag5KWlSIy=hvBZ@aAmQM{sDF)~Andmdh z=;(u&gN*;1U&F3%9y6iKGv7T!HSh#%#AuI@k z%BP9!j9~1J_@@ZyCB#7dQ>zi5xP6bV@9tM@v2uq2jh)?N^DJqh{JuC{UM~4=qmt*9 zFo(r?r_1+D5qkkIO2LTszE3Ij<=rRUCd;yJToN+%SlnSp5=x=0P`;sm5#OWECBdGyW)cDBf=%N+v4mALc%h-2)S&fcB;QwWmG)n5}kBp}h4 zlwjIESawHDNN9Br0W_V;+?hAlCV#Kx;|0$M6+{#{nX^Sh^D3i-)~fbHjj5JAmw|!; zKGUNQU7%-L1v*6wzN4j7hSu-0=@M_^kB3Zx-K`y7X8kTzk-015?;dh`%HJF`^|}$B z-+?x3Z~I#LmH8WEuRY|#wxy%)x#FvOq}bR*>#B%Wh<<@vT$iwANcVSVG6Ja$a&dQ8{lk;|Wa+$JGwpoeC?2cv?s4*OFzt-T%c5FaxhdXu#cAG$O799i!HJp~gp6Y)byN+<&5wFMfY?S>Zr%hi$@;q5%Pc|ZvE zA+Yv$2NHyH7-%wN6jgN_5;k`{s3;Ty0=T-=>;Sx-lo z<$%L;WxdBcSrDjvGF@V%ETtD!e)pfY(9-HqE&-y!3*QXT_8WmS)+5j?sEk1kRJoD@ zIZ+ShLoT5yE=x*O@fuE9OQP-aL@ohJGdqM+No0=qg-B-RKIQ=K4xMw3r3T7=U#R}i z?-Zw?d`uG1BgCrpk_AnlLCSqxoO8wEw%-~~KezXS(af^rE4pB!%is22C}ag*B!F=( z92o`lq?S?W)*0o_gj9*08uPGzwHCI&3gWt+$ZY=nj8VVZ7ZoG-nO{ka`YDPl z&mwn{EQs`j8Bs48ZiGA@wabPKu3v`*hoyaX7b;?e!}`vqbJpNle25%sqUr)Dx-sy7 z_kD7gO=;0i9ncWKeqK4;9jz;z`2UN6nLvpgbc_@{j-A&D{~F9)qEyGnhhCFLW#$DpVXss;}s!iNJ zur66J3zvj52dMHs`D3rjdJ1l5=64l~JhC0TUrOnKKNX_*Yxibi>C6&t_SeLLW)vrS zBqyVazAS6vPb5%ngs4`t7*y3LrOjXT++{fIT4p# zdLV;el$EcWIIeA$oT~)veF)aJ_fjo2oYbjL8O)9ywLD#QCd+w(U876OAaa5c43^ZY zPTj7RXvZah_V$`p4J($GHtLZIaa(j%Kh`Pqw`wgkP-UqpaIVCWr|ngD(j%-mnErzj1CFUu^z4cUl6q3O%nd0~x|*!dt`7L}`|= zBtiOwRoCm!aSC_;9#k()5ytS)Z_|ct<+-LxIH?yE+@fW6UPY-!MUIs=eFjPeVc1r>z`Tzf1=kYu)VkSrq&28>|oc6WSsKSzNdSiiZ1D5higG zRtA>89-?aHgwePZy~`82W0bN3+CuQ_XUxuWZ^(~8ARiUgq^@-zebn?Jx(ZFe> zXk5?jkD=r7Zch)2A5oP__}Zp;5r65~q3@2dP;tmip2}Z5@T4%3Jk1rtx3G>3V#9C6 zUm(-f-|lqQ_BzpmcG@SUV8F&dv%2FTM5m;=ppZFoKo)SEetCf)`oaREWmETX`jE33 zsD_!%@k{qws~^l587dHX=D|$AhZzB8{>KHOH~?#4-)uZNKnI5Zocja%ch2v=OWt=W zH%JgdWtspWobpNq+7RVUhm(-c)m^0USo99kKqgc7?h%Ga(d-@uoN0otao-Asaq8}m z-plVdskiHtN$Cj@7U3waw!iNKBy@DY@w-AYeI}(eJwF@+N6%PlwH!g!9g)1015K+= zcL~l&5YE2|SIp0U`$vbZf+UaCZr!%U$H|Az6LyNnSY=9ynH>|nt13f=?3KXa7>FyE8(2zL(b%z&X;U5llgl-GD9|F zyMbc3k^ea$iwJFBH9{^gD=bKjG3Jm`&TOZR6WFvk7T~w};*JxQp_aCBsU=0~(9>(V z2B+QX!qPiPh>(P>u-7s9)RB00gK^wz*>Kf`?z=nm>R`ISKYMieQHo|DtKJ~(upUWu z%RkOI9N4qR!_Afja5!dkhIcQuUqD>Ir4`*1(vBVUne1?#5DZ!uKIs>J-Cs^sBqF^M zQ`UU^*iY#^oT`6|Bs*2jJ>e5g*3X1)EB)jQL~0bQ8nr?*iiAD zN3>i2p=r@6Sfb1KzrF_)Hd`+0ywyB8YUK5D{LqU8Uqra7Vi$|9Xm#J28wcyg-JQwF zi|;bASY<(g`>mg!4;<@PUtomL(m5l}=!4>Yp5E_QCJs!SW{;&M<)48#JUS?Mwy!r( z^?Gn4@1=DTdgJ4*@eR_RuCS_a=0OuF+jlW&@fyIN0NHeSCL#fsXp;F#564=gjp_Pd zdcnXfC%Cvr-bX0lHzun$5BoV%HLvPAGyfW(X8+RX2Gz5Jee{iZ6K2ID2XAalRqL>H z9A55Nx{G`hi#J-7Z08nd{`DBt_U!_tRIRC1gJ0ZvH#>+Y-CU}Ua_?fHAR%k*G_?W; zCv?7=zX@p|xPk@Vozve}2QE zueVSm(+(SF-sG?^T}qVDWXJn-9BulCkLQ=eJ|Cr&cc}RwJ^^c&a9|WXog`)TN3dph zZSUKqd|Wb?%Q3#&iGL9lnhj))bI*L18c;wpWj@xz7Q zL8Is_CJ?LzO{LA=muaO9ZK5UzIzFqNnPyUnRsmx4*C#Za1gD+>%2x9;7=R7gbWMF* z=^SAo1hn~!5{1Oaj)=$;$hWy#H+xvf?Om@#u}RO&%t=vrH_~af5}R%TBJRzE+y|F@@JPMX(T*294#(tj%Rn$+Q3lDj z8GipXc2MgCvx*xc*EJPnR**HXE;SuTxO|5$eJ8gm;y!7)1WP#t{TqHfw(XNH7|EJa zdi!P~TuA7*_M4G~u#FPs)Ftc6^CB8&nj5rGCkIKgT+~xO!({UQtRW#m=>~sDX$;<8 zk?2nyzu!*npx$LUOza0av+>u&@SDduIpySfT$obTGG62IBx-)8j(%XDgWqoE zSxf9r^8JrNXX@N=X^H!91Xsj=0hV^xJDI#5-rnmt17&Q!Ye&rjpk3**&uQ){Sv)j* z2Z@&L0_5MMeY)6|n{yQ~fxz70pqaRawgOMF0VtY1llGeXFCs&CH;@!mc=ping83?2 zt-03XYhD*{5Nj;~s^S@}L+ua7Ooi$RF5xCWG?dHg@gOUFQsGN_iiz#kT7(8N%B<|z z6}Z}nHIuv}Y}9D^%lJ6yOTnjnoYa=E1j^OEOi;>_JwYz^i3XviZ0QIXNs5+j`O1z2{tVjKNMkB=OO10-M4t$d2{k0~iLE z&u|2na_2aJ*0QZmvnNNv0mbrP>{`0nInJk5ug}f<8v@R~REu&rEp>aeRYSCb?irVY zptIWeT?HNTvKHqU=$&o7=Nzz=6zn3C!dAagFnh1La5$Xs|4ATNwZwo_#rHH7__R7c zcO7MmA#3GUy#nkIDt7?LQ7v!QEvhyb3(NB`9M8Opc47^4_mXG`cs4s3U-FP&YbB^s z+*GIKN`(tBxCJ$+4TLS=w}TQ9GiWy^t8wNf7N%ZBO>ENJQ(;L_;LwM^%sJ9Z#6}f+ z5$I6MEQdvEBj^tRWz&IJiqZOQykgf&8FJa2QxRbH2q}2rRH*ce)0Q@C<12CKA8)VJ z4Hvy}CuXq)4+q*|{IOw{LuN-PQlYD@pxs@HLcq-HS~7|aGa!xK#vUp}$@Z^;v_b8w zs?zUi->4Px;CU(6)eGRsRSLR5Bsjr_+AF|NSe zo3uV?po0B8%mbs9RCJovcB-h!JT91t;*(-jBk|va-oYKa$fz%HUJ#+Z3!Fuo>F|7) z@O-sZoPjh7D=Mb|avPm)aRyxkla*kg;gWqKSO5?NNHlEy<+>dIwNX=q$B4G4spL!R z3=1d;V(ZrM+#YPGa}vDBi|2Tk7i9Xu%#E?icZ6buL>IWqv{Z=4%ri2Mu#}A~Styp$2N-Nxw+C zre>`V<6_m@wv&a6Z%t#!O>px)#=;qfL7ji{B`RD;C8)i*C>5~kKnr!|zk{}OJ|cB} z@vU9imI`zedtq-^#U0bMJ20_u+%Y$2hjcFiS%pzJ;Gy2J< zF?`*ALgq@R>KLoAPrb?oPvTOTwd>R}w2Y9AIWDshjR9_=BR=za5@!H1eB5~wdc6jvoePRuY<%aTLyonf1sMe=pn_9+OuFiS~Hlb>~v+NHw5cW=c>-u8! zVfG4T)HMMrocL_Mc)$jtlxyH<86M2L=#bmlD33(3?*7^aH|4zE0=z$VT?I$&j<-~@ ztNy!?_D9J${yNaIqly^v!F4&wQsWe4;Oj~hcJ@e)uD5?#*}BuDKw(S%uPAMKX(dnU zRx;x28}<>nvvX=2aw@0Y5q@Ob#se?s@&}dxE6~{Azd`*S4*ycF7NN~u0^}s%mUscm zID?C5usY7zLbVwrzDYH;G~hH|M2=ltkq>-60xH|>F#02DfW9={F5WOiqipCs-g_Y; zZ4PXk$jtS*6WQ4lB!UFf-%CPC@SBG2a`^#*?)V96;u$26Hfz0 zYV>tgvCL`KAi%gt*HnC`Plq#NY^!`dv1*9N`V_c;uM~QIU@1I%^98hkyY6IKW_A=I zXREDAg;{Rzl}XMyB|PUdE?ut`@0F`XLb73@f>DYU4Z2In?_?uV4i`yV@47aQNE8g@ z7Gafb&Oq@GZ}h_Fq4!2GJ57F2h36`|*UQvqiF9mS6F#}{kTkVLFibkZ5C%|;c@2$e zZId8nI!COR;_=Q-4Z2$J-{O{DWP~rM1ZF^JS>OzpMw$b;;L?bLnxOcS=HJBkDXe4_ zOT0&fvBpO%F5_n2L$Ozu-I;+z<>qbxR4S`LyvoTV*|dp?^EN>>gT1VVgZ!-Bd{%D_ z)h4QU`*S(4mBQdBB?HMK>uYRjWNPVkO6hkHNT>4@El(0#1Ip@LNKm9X4S`u%f!W2B zpm=PeFl0<3&@e^7Tq|<^UB`JMuPBU>BAhaxz~nwY{U?4$Kj6beyul*U*)*j0Y0H5U zfT{UMvU7 z<*PCI>#@A1Yvz|AcX129l8+j(QNA4O3W)09m?P4aAmDbbiFnC6tDB3!l68^}-jZG9 z7sOZkCZvGHa4yQ7)l%KTba;UC73!*iiXK|i8og~qZWj!bdK%7ttTQJEMEJxss5--)F248!B*T=fEV!en_vI9v^ z6$DllWqGA{$fqRYEbsa5yT8VUW;DXqDA2*`L&7Jf1YmkA7zwHb=SYbtjw$v^%0%6qVw(3N9B1#=?P;B{4B6Uet& z&|6JXu!&0FQY=6G!RV9%5l%xkDUdVOCSR&UEvGaj{~U(2d|&R|+%P~LZwoZVXyJ>J zZ)1}1YINLclNNP6xbScG7c7;C7}UBLH>icXPuGO*I>Q$2Uh9eJV&00%;jxq6uB-OS zC2hBzO_I9sRgS64Rm4?Ugw;Gg$cFVG{$pvj5FQp1U-Q`<9HaH=B#-$J?;%@_OFi=y z=qym_( z)w)TszScG%n0VnjZw%Uq4EyQv-e`SQ=vzlLYzUMBo6EmZ0Uw{dHkZNMy0){3oX-~e zKG}El%%7G6LK$BCL98%)Wo&Q7#Oj=*W`FpO8#Ma5b9Yd_=vet)tZ#0!Ut_~uQr50Q zWBI;Q~`1TJlH1E4k6`smTOk4542@_+D>*dMrU zFIW9$Li+gq(ch%zDQ@H>NQIu!aa{j>OT4q(?#`^>AZ?WSB|~{#0u~eBT$ZO#!#fx3 z`GvvR*0#d5mH_0=>tbfqU)4!TvA1UW<6Wy5kqimYdZ<*+@VPB;p;^gBT-RnwiAYzZ zcuPq6;NxCr^}9UtY%PN>&zvI{X+^M@55Tf*# zh&%DrTS2Z>An;=dOq}z8Q?nn&lye?~<#-(Qk*MXgrpsBqqTXa^ z_e+)~=$|C(ONS)vt~Nw8cZEC)LN~qveSt53WN2@IM$^8xoGuT5ugm@G{pdo?=SVC4 zNmlrNSd`t=6^%x?yJrpV3<7YtX0*Q*qi>fPbyIG+L!BWZp&f@;GNCRubf+O5zeaNg z(QugJIoL5N3sc4Lr#@MHhyha+I8jb(y=P zGfRfPP)=n7WP+|Ck%lY)$_Y8v+>Q&n8Bq*d)Q2(K|2J^EAS}%1Z_=L{vcz&$ydaIW zNB?@x3dlZoDZDHQA#I+*le||O4VCB##8jJaF5U11M00UB7UQKwnDR3$kv*-@!6pZo z8VN!j6cy`}YSl@*M^$U>z`d4DR>zU1jX$LSjI?>AgJLG-j6U>mm2!MdJAxu_yx zeEJG2hd*&FhkFnNfkD+%a|%5QhvElSFQ(vNufek( zggk4!$IN7vSIK{!(#0i$yBM0i?np>_3D&9j5Iv=DN==57!RhUDM6qPLyc1InG2q?8u19sSb9I;7rMn9humv+ivoY>`*}b!*~E+p)ENJ z10kLrZ(uQM&h#~^I8~m9tsDT(yC$cOBookV zN>XfJV1^!wXVzkcHbSc!-!?bU3QnY|;<-*hlQ+NkYOK0yG(Ny|V2AR39% zkJdg7C5$pY@e#DDc!JibFAA3s6z}W3>L2eTND&e+x@*waj7(5-XGnp?xuW@};tNKpbBtD| z#w`DIXGn*IGP0dA@F~p_Te>1;#%=V_q>Vz*aoD59?cY;Fo&*#N|E^S%8hj>9gjc+P z0NHJV!!_-IFm{@xQVRA#6dm5Z!%`X>=+# z71%^sg$&~${)3GxhA|z4*QAW_wyxjLlDgDsb_y`6 zKr84l&e4s7(-k{KNlouBmxJ+LE0kP*3jIF3Qx@EC-%Am3qNDK&s2f%guu{807N{$) zY9c^v@gHTUTPUFg->0Q}Ak4(-rIL2bKEA6KlA@P;MEMryzz6bd9X#j9Z>1S?`XETI z(4`sRlC8J69PLai-;LBcwswKpxN;okDv4a$$L<3IHy4Opf!1W^$KhXI#XnV#QxVI? z^BgnT6AF}y$KFg`9n^yKwHy0FjOo*^8^bhI5F?XyjHstR@Z*N}6>Y>69m~cunl?C@ zPZ>w9q6G2+{UF-Q3I%+bo*{(1f$-aCXofq1pY1hW+-gb@)>GnVax3TYSL?m+r+z^GchuJa&_sLZKOnf;KOi{ee+N*u)i<=zH~9|~ zxQ+GytClv>pu!#=n z`I8(2rC?|sqNr$FgE#3D8>iT|5j{mv)%s$aP0^!>kG6^aDpZ~uwf@ut*euVRHh&+w5eU{w zaHFzJXB(omuqy_BuuLC`QOf793xiC96zuE&h)4I|LB|PO-xESi!n%M(A0&@VwfWpT zEmg0UL@l0*0v0l#U%zHyftL9c-|4dZ%ie+%(nM+@Np7xJ*R|7+=F^q1E1{|~sF zb#X(&?4R!N{=v)tE5zRaGO@ITkch03$p1}r+6r1W>kR)HeYanhlz;7IL&m5_I~Zp; zzN#e-dxv6Rl#&1afeUEdA|niP_^_V7dfG~RK-eww2ySY=uG~`tG)|wg3z}ci4SN`p zGvI+=J>KC?S7-TOGjniO^=0P{JT*)csGF9!w3?q>312cc8Z#|mYM#cDSqB5_ck%>z zT(Ho+%(~kE7Krd3n>(~0QPzDu4~;~x_9$Vo(54Oy?lQ&Qx1#mPLK|WbH)Sv`X%R}i zY>Oi>FzK8Qs$#J43^AsLCSlLG-ChtMkDWyGr(x-u*-KuR#+IL)aiZ{hJa=5silkxu zUe*rHg7m6CFugJTOpn|-`)o}3P2rS`fWQ0xR2~zDzit;;K<1z~ z8gVzg9D<8}=G7a*p8B=aKKRlzg?_lhU^*yyRc6$SU0URN1V*hVfL)1>dD*rengy~M z+o%YEK%Kh;?0s843i+WSwah|5a%-h+uWHm=(YcA*sX2gjLzS0%s8x-i3>6v(Pce<< zuct-!@H^RYOsX0Vv$D0E=ongna#5Ko`$m!~Z+lFW1@;U^F)Un-I*i70g6he?QXK3O z6~>gUkp>xcE6+Xc@hG2HynCCX9`SEqZJSYPB%KtSQeIhSp=XAGK#Swld=fuO+On~e zQICFEkSB^y+kSp{+F`yT(gduwbh;#JNmRHl*r`JrNM)q6y4GPWJUge1FnhxdxiW5;s5_##sBg&fSg=mfPnvr00`(m zhyQ(d;yMXNr~&(z6NwB2MEyUT{C|SBc2c*p!Dfg3zShly7dXhx2B3d1tWJf)tpy^)bMYWSf)5+aqL8)~z0P#LlA@ix?3C;qk-sDb9}`FVkLSG>!_@s#-ZCcAgZv zEHbaV)Mj8|1;^2y>51g89m6m~m{ z`Qs=;oBw0n0%-`^?z+DGbbR_t);k+B9ll`f3=gjFtG5_Aokf2almMmz4C62$`E zNedw!p8nH{uv1k%`1I7&tGbKsPKWssY?Fa|0DB4}eZzpor$_el<^np{>|juh=+grX zb0@eO<@&Cy`v=OBTr%P>ADjmy81|M@X_#lC_7Q28F(da4Q$tE_In{@<35>~-93@btkjdaq{`u8ZoVpyCcY?LAb{(Y^k zEvgb46>c-vUw9d;+!}wxk_-Nl0pG4+RsFn4H=q*S0al`T?x5;Bor8}-4$~PknOIx) zH_hj(iKYUbG98ht&CgW1VN^DLg{3shba?L~lXN>|Mu)cWDoG{dulh%9r<%)Niw=>2 z%_bH#nnY zV_N!mg40?`D*J~PU*b2Sqk?6)5qGH-ef)Zpb)JX7QuB`td75~G#BVGqL>&UfpCqGJ zx5jpsX5khKg)Nbus^Vx#Z>$h!*2g8^3arq)U%IaXO?jR;%hPhMhJdiSdl}uE@Zxm_ za=3}X?O&XEB$$@w^u*_jO3878!XK2JNm2Gk{Ru~N7gloKCoo&3%Bu*4O23R2n5CP_zeiI9kje0H|83_veod3xfBX~&8lny;Iq}L`3 znAEaoBJ@@|O_~&n^leM(dY(U>q57bMwsw?Hk_fa^7}Kx8(Lj+V6Eho*MgN=*^Bs*j z&!j|olYz6=xaoMU3uK{OJ>1^xzWEj=!i@8uS=*(SD@=9mcdz0G6KRS8jlkC-P|5zNXyd?w3XvHnrIscLq)cI|-;Q+!do$aq-rL=dv#(A7`T%9c?qK@KL zktCehrzpY0{$@YclZ|#&eoCG5tMU-IPp6*Hkg=}^7xM`vTeni3xIr?({4rbQcIJEy zeZ^aKqKgwSPI=#J@*&7fXWhC#v{n3jsmu=wjFSjg(POmVzx_`2CU6v)$z# zk)>OmTygX;F$D{4$&yF5n;fbk*PNl@O-3;T4r3RfK|v30EAw!U!mIx?K`!W~6>H5t zODy0DyGj>T58xp7L888km#)cIafH?lxc9Zo1+DG(ITPgQLArRP^XpmUNe!;;WwYq^ zM)j_Ns2%oM;}t;!K;EFW81#}R^JI&sY=jE}6*W`@4!@`(u;F%HQFAK!xoO*< z>r>x6V8xf(rSDZmE)ckx*;=dHwq}qn&K&y?30BEyah@ALVv=$F{YNn>_~6{E+F1EofVuu2MbJOtdU~G) zP8Q{m=kGo{wg+a6`ds6EskaCR9CD^3S9CB;pq%rhb+Un;J}}RsJecl@qqV|yPoy|U zOvzSwyYl-Bt$yO!y?o%!ZQSY2QhON16USM2CnEAZyNh0Lj8~eR(JAAAGKhgO()Z%Z zyVFxNkNd2`r=$C78*NBOXyzkrxLTSG40-WM5kGP%uWrxTVded69v0rDdgsGXmo3-? zwhyk@hzYBNA%6nSxrS zf5RG}`Eek?!}}B-Ee)B>*8}yw9+BafAvTNFLn4g|hS}USc3sh5;=t_XZTc+Dr_23bNqNF(tJFJER>7Da4tn2!*&=2m+5{!1U{{-`)&N3 zJm`qspgz-L^o=X|=9@VI@AQ!ve-sX6#%2`OXskrPOAnS?+)Fr}S~h-OUR2U7iP2^W zQuCpg35S+vtCx^rWK{etm>MISjcV(#qrFZK7;_e^w$(ZLV}s7&uvNMg!vYcwr{D?R zQ9yG0yp}Zq91zOSUeo?V=t=HUPR~3rPa%ZzI0&2i^>t}mBkSxZ`mGQuZ(qKpg`$U;f5o8tpiZFCOAP#(`;LScbHQu z-xdsW)8WGFh5*JLS{PphW6?HbLZ_^-ZQO(QLT425v2n=`^+#N}?B$T1#8$xCzH2BY zRF%$B_*yX0${x`S-5|+Sqg8&?L*l26qH&%|%8XJQ9QgpVnxJ|<6b+{_vbMMv4~q4aVXaoBbdNlF*5Q{6)R#erM2c8}u4>CIQ}C(F}SKEv={MgTAhqZChGCD{@crX^xN}K=P2>Ypx`i z?&%P8yygB(g8g9!_p&fwhAG=Ie!iQO5of9T91&$uW{fnZ-`hm4|C=N(x9p~B3-GZ7 z)bFs^Y}9%!%yTA9+3vlR0REg+TlDZ<>`A(CzJHC?tPQk;?c{*k1%1@nKnT8%JfCIs zA^g;4y>a6!I=>3PPx*!-ZOD8&yBbMS$apjJ+LJUles0r@JY6Xj)LCTp9H z1rPI-Gtn$sk;uvAs+9{{xr2QS>EYa>o`rGCHAly_9+t0*#dM5fV+kiUxy_yEW{`!=(r; z@(RxbNTQ-;$L8r4Xs0NS&BY$ZM(i~Y?!KtD+^$xZmpmpy$ePdw%PTVPv~s9uvAnP6 z+^`gWez-Q}L-Q++u~8G%9!gjLA^p`0w%XfHH7&gGro@QD7{&%UX!}$#F^e*@Jc`0_ zw%lp%1Eg1SMFaHjeqX<%=7Uu;$KHw4+;E|1HJdt_ZF6p^O~(LtG_wmx!sQxR@tYh( zLF4_r1!u$zjaq1w@!4VX`SX11zi^gE;R%UPv5h>u#rBP-QtPBbB(FfVeGEJO*0Yr% z!v0y(xBMk`-VO!U>0abXRV&z@qqz|re^ShIa9L83>ZaC72vh{ZY70TOB_`1n((fh~ z?;Yp$CckV<(1~?_c@hs;j(Rc8Rz)BM|NikSCKd=eytqE|qGUwaZqGtU@~SA!=wkiH zR2J=yf?a*qsex1l6j2e+uz&Il2Y*`V>4DNjOtd8zEQ3G2t!^!VVKoYn2!IS26>3CiI6A^5D*X7|9Ig_n>jfC zHw*U)dm?&+e>W|lI*~^;A!$jreauZg}H*fp3m#oy^ z`LzLg+Jz_iDb)!lu8I)zxT7Y@kaCt7@QI7Y$_6ei)Yr09_@w}elUE(p+a}ot&(eF8 zod%FyMT+#J_HBLm92t$Yymgc{8|;@)C|+9Cx6B_0@5myO8AUupOA^!u6-FtGk59}v zokKHi>|V=kTC`%8p-BQPRycrRroOc2q-sX~a2#K9#T1tAyumlGP@@_t-vWq*1AnPz z66?=T`V#zSuuSdz;_iKB>4Rg23{A+vco>BXD1^zT#zSGSN~ z_X!uVMP%#~KBx{2PBjd+Lm(;cZb$F#Pg2^(LnGboD!SRC%@i1hS6`08Hwk#>7|N4u zf7>p|BV+{pCD4SLs=#&KCG&`kz2u3MdVicjR3cQ$;$c79j@?~1REb?b)cK@=G`HlR zguC1lo*Dm1j+pbB~k4_!yx+0Es~*HdCKCfy_=hazG~32w4hizR8str2%Fo?RRt zNBxDWb{V4~Azfb(0v>&5|o>Y=~`9_5)#CVpvr@B1h1U?gY*x zwE_<{Yq1Ax$KgFwa3h=&-+9`x$^0m~L5-ysmzJO&t=%FA9+SxzG@$cjm{~X3=>=OY z0sC1#rW!!KP2S=cqnBd$yt@-Vvm$B|{q`a~z;cG4g(ohLxRpC9Nrqe7SWlxtjNHzs z&M>vJFgCJjw~e2z8tEVz(GcFts`aX)eA5S{!s>W=5z4<(9d@(xXm{3NO_IYj zT^)NR-q}Uto45_xiluh*1f39d!$rgN2ZY9*H*?_9B+u^7vC>zcVC8E%TAB1Y*`Hgy&3##`w~iJHI>!D=GBS*7m|l@*@j zEl2ZZ%eK!%BNPyq!=Urs--^#&!cBZZG}R;y?g;DEc1ojtcgKzGwa(`$Lt89%X2eZ1pJCjN>rxwntqq!m>8>ff|dE;)V z?rTH9@~#tpeauf6V%|}>HG~o7(0_6WjyQAZ9AAa`p3)>1ceQ^--vS`H)sK$%*uFsc z_@RK$!W9&M+`O0$i!oc#9f`-Pej7!3K)ggZUY{RPU+F3_Zf)D^%Y?@xtDzdm1n4_? z7dYjNr4zY9o9d`12xe$fVjg9mt5NtFlW;qYUiJ8bb!qxWFB>_$tIhAY3h^R z+7KHSyDbRACtNESL%xr1$9D*4=h0b)WcKfJ5!K@FQk{fcQKRql0+N485Pno7$^HlX zO{pi*9*&i^1Z@cpwln~Z|A(?~jIyjvvaYo4%u4g7ZQEIC+qP}nwr$(C?Mj zK^6m8EmRnulrd-d{K>Lec5XS1b1|h|PjEEeip;@fHSUwLO>^jOVM!oMXdfx~o~F%% zl!Zvt73d<##{LzQ?zxI`addXL;u--m!t)nT}W>p(PARFV(`}QJz^u&$dltQ;+nPorj~mCC?2)3z!S2-wzrm&LtJn9kkU#B+FAiQ6@z;8--J;? zFiLn`x36K$BKGl&c;K<<+W{)ex;+@@$+<)KepKo_&d&lx?bn%O;u~kFjd?#|$hQ1- zh?>B2c^W2%W?vrQiD9e6aP?gGW#F^UkOWl|q`aOK)_>=QSqCvgpBy%fj z%B7p~4HTZ>PNC=I5us`AOhXYJQbAy~u~`P>43LRcpdA4j9h92W%w0dSjlCi;0{Nsm z#bO%64`o|#F+-4VYpiT3LF&)AqrRM_uyAM>dh!Z^jou?sp`8My;GfFhT$G8Z(qzB< z40iFG2N~BS{73AkPoRxSbe}4x+iC)@pjMuu!4;!Ko@|V0vlJyE%~-t7lx_Tinp8++ zk|RwxT?_TM_CShelK!;@{v^W@X+0|w*rjoxA{TXR#)p7I)4Xa0y2at{;))co~g`MM3Z(&*_W`kyj+9C1UdyGWPaM$T6>$sUm?JrV4t@ z#)||x-*r}L>qFdP<6*6t{IsTL%UXGHA=`&l6PqSsiLOfQDqOHQFAK%9NiN*jg?CJ^ z-P9^v&AG)_Ved+u@Bq=xB#+`8s|lxulfZFYVG2?+u{1ECQW;y+H0J!we7soGXZ&UB zbuUX<=s|VggXU<3#P`fyD*~Me%>hrmu3_&45i8R1n?vUW`H<)R%}YtDLpN2xtixd! zJNXV04e^!seymTB#nF^f-5tR?5bNSScrr~kB;?`N@vOXx(v8}FCDR%E{{Xy`|?48Rwrj2zv)7jXStrmQr7EGiQPT?aMT;C|X+P-Bk%&aTA zxP2pS`nIy-r>ebaMC?g?hDe|9=3(-KSJ-L}peb_8NNRo!au3byBv2w37>h&Pk$y1~?5{C7KU6 z!~k`dg{E$5ew=s@5_~{H`t)8VbrF&Z?fxg0%~Ij-92{kJb~#>h(?Bu(yqcy4lvnKv z17Hobh8%vy*Fi<|6zX3>J?J6EzV!F<85#@u3BcQ5Q(6_XC$R;0;%#%lc{8)y6!>>| zT0+|>cRW!lCu3!G;pQr`ADSqCaKCvpMgzp9G38qAS=aXQ@4P0xG+(M)odx%DXvl*{ zvXf&=RS>-k%rwvuTyQ}EfrW2GLiVmvt3Op4h)&o0QmbyX*LiV`akFQFEZ=p{rcUZG zXEg+CfAQ<;6U+Q?!WGW8Hrh73 zlwg@+2bM5n!H#dEgcG(1yH^i^Z1W=uyi$%tCJQ=IHT9K$|Vn< zOPg=j6hbvd2uAsUhdZ-W52^S|z`$Rexi?!!&X@MUOjh^s6_QY!S0WH6i0In!5a)|H z{s{U z`|>nqt$8c^xtpD0?+n%<%azF~#>tt~V1g-bw9ZD2=RN8M-xZy2kG)Km3m<41oJ_Kd z7^UbhTKzI|J6+acMrlVKbQK$p6I{c0?eJK2{Hk%~8?<^$U}hWLh%A+XFu3HL?*tJ& z$Wci!k%{T=+EV!Vc=^(iBcql&I(;?D(Pr-x&%gS>#4Ad4$O|eS9gmn%pqH(T^y6QG zTl3}eygfDqG`5w$bs&?p&v9B%9R?!ZBqO-EEw@k;xrsN}BxH+OEN=7teQZHkQ6ifH zefwto6<-wp8ov2UJ0YVJre!ba5rbcRBK&P^s4^~*_<-vL3|7%9;ttpoU4jh7m=crj zAEgC7>0C!g8e&Iw(>b1jJx17>)r9@8hM(>8*7`)d;qRYKYd0pH)hU0)8{w9Xby2zA z|gf1H>Fo7LlitbY_;G+=1S?wH4zNaZM02Nna86{jJVG3Py zN=Lt~>fBnvTc1$1-PM^|+0vEnTeXN2OX{6BiNju59^n(h z0DK^fq7rQY84nK48Cl=>yjI0fFQzpt;u*kx+cZr^iTX@~fbu=jaZYn5gf6-MkeO8f zo$7SFWl--&{+;1u2VCj2Vy2gvB0?q4eJ5+!;~k`t^CqtWlhTYM)8DS_vr=<43nAcl z;b&1_81*7d+dnKed6Q5C8>abu7`6&YvW};-@6*?%IZIrCPFMcuLItx|{x)+_t`bX;a%G=#p*rInlEH zRN?v_YGLO-7hCX_|Dl4t2x;Ewzz4Gyk}8&imqoEnXYx5B<(}o`!AjmoLGE zvm2QWn>stdGGhtG)h~C(Dc>Zg*H+Jy6QIAG zo`B!SbviG9Y3%8nk{?MCvht)u*3DLt1Z*!j5t0kt*l3|tV>p$JjO0V2>vRL+b(vSC z_zL2BET7!bw$qJEWsSeZQGk4h2Y3b$@ik(vjt$7zk&E zU2>(Pu9tMdCM2+@pai6By%Kn=8W$3!kw?s+p=_$;Z@yb4JcoIAxM7l96}$QenL1gP zB0!)e$rz3i|S}CWj=}asUmL>q!6+?S>Y9p zo53GAA>vR{X^9JLgxx+469Zs5k$slzhz82&$fJZb283n61Ro1KaggNkP85`C`+77R zd$11t@B}2tC7^Rqp^~!tE3fR`=0m06X6FdZn(}%~ahJ}WyEigkJ+}F^t~6-xQwT{s z3f~ON7%d*Lf2M5W;qkW{Kv420$F3M>Qd;27m-qOjhA|$$0(iP|)cNlsH;-B%1&DuW z(`dj2qgz^)C*LfSIzYi=kn(wfNyjF=<2|W58d$QjO7nYfa!T0?ncWIbs9j7!(>cGU zqe&C1v{7F+#(ZzbfkT3hm5A1G^_zi!XDJOr)eB~QMzj>32d0rx7QhJ$nv9M8EaZ6vPdl9Xq2>QEx$CX-OBQ+*~-?TNjeS_$B+_eUZSAtDU=; z^^qeGSWT1hdVI3}dF#Okq}Vreat2S)Q|p#eXw4_$k{6J%{gDi5AccRztP;!SFOfKWT|D4Sk!la5C+)sqJ*|nF#k+2z5=vtrK-2^LUYwyMvXXpku$GO8CZMtUayU${Njzgg=oUtLE$5e#i z>?}5Z$op*dwkmT7g=(md?d*hBYhDjA9m^xHxg)0@+{}Vg(>A-i#yFt5;1~ZpCJ3ntQ)MPcY+0L;t86?R=rYbx#nw_K3J+e4PM#-c0$}} zGN&WD*Z%b-(kJc~VAH4)D7L;UN8BL-<)|M0!Z%fvy5&=zIy7F)U@h&BzwvQVzu1A0 z-=2YHRoo%^-l)E6kc=;~;9npF{#C-dw-V3S#20b(EWCIltm!!>6=j$1pL{SO0F^sso-HmX+*NWqpe!w!bLT?E>!8)pGZt56|Kc|+T zOh>bxQ0jYy{3L5H%4!2n=4N zl2P|i!6naJg<~q;SrB^FAGLhH#IVk}r+Z$ES%k{J@;h{RuP|kNe_&O!Ge2q`4B|{o zRgoTI!wRB3o_dTZdnj~J1_V)nRxvlwZdwQ&DoRVwm_l?!6CfZH1 zNd~9IFJ1~##Wxp5;H7Aa?UXa$Jru6x#+`{#^sOTY4J7098&GU*_fsirECUW6o`3C4 z>9)ly!VSh=?sBrU!pks@gV^CI=2Hek4|E?%pK(L(_y&P_&Z7J5eb<0v-GDAVD<8Qw zi#-~({yB|w-}}0Ao7|xr77i2oIAQrG#52ea)6 zn4)7-+bwf4LUK~MYMHb0)lZRhpvhFL*c#GNU7D(VUMw;MQs^qCI_%m;ODO-n7u2Dy zsD1DEiPri8EJN!@DCXD`Tu_rTNs%x~g~qW0p!^+CWZ8hu4W;qox+b6Ec$dqQiA6Y9+;S`_9eB8AF@vK9_zW%{>7< zKzuGL_@me5Nyc*ogOwAVO5R-0-t=yNq;2VF?daDi>nVmO8NnH>jQk*^GOHCwLUDe_A7HPCv3wYj&{mf24<91d+|Zc&!2_t#m|)YVgQ@quhAZwxUN>kN#;brq`o zrv1$Om}r?pcpU2wWB@!c%Mkv14#P>BNWZYv!T?VmW;v|VCnARrJ>xDJQR_ph!UrH` zY*b;u0}nq```FegtR*Bu4$*k{Yp8)Fwgkmv7LKbw;>r;*v z8$4XoHMGgGW15@QBDYb757n+M8eD>FmvD2{-T&QNal%FVkQc&+G0u9wOasIC+ME76 zBx^w6C&TA3M9X!E6UxUwa1zPipLL4A+T%Z8F-!ih;#FKiQAtig{a-AL3{LnP@Dy_6 z1C7@SbWgG_y9mSuDiz=&K5rl~(`>@z&no6X+8(y+6U75@7UC8nhx&GRDi^^X$>9Y& zKAdzHG`{(Bl1~>E$SX))U69rd80NSF{kj>7H)j&{wDy14D>@4Amt4jnr{y-s7Y)Fvb*A_`H0BN?=~{z8zNEcCw3)uRR^gy z;Ob>P7uq#hHh;wng8ft|c-wzQ)YqTlWz=4}9bq|=L46U#V7X&v<*X^2s;^rP$ z>5U}w0%p@({P8#_!j85sv4duO+7!iEQ&p`WlmF15NCTefv3yo`9{8-2$wLwZjeZ}{ z^?WC1@fi9vOmX9wTn}@JLkS|o$1lWj#p}W;BZqXhDk$8@i#Y&v^-~5h71TZXR?lhfC_o5%*zoahm%;xO zC+hlWW=&tkNzzwwLh`Rp!Cz4H7%OU8Zhk3xR%_WG%fS}4F+DL2m70@9GY!Gk%~!-m zRSeL?pc5Jve0v?Unu>8Sr`o+!9j#Vi!OI@Wa(_8Wig4C3>7 z2j=UxT%6sKI6U$?fJvd@Urki zri;-E(6Wx?tRV{>Lr zrWtx@(quoD*9zLrK_)FKDH}R5HVT1HkYR5WrYHY$^dz&rB(#9gH0PuvUo^G2_i~fH zHr6t_7q=kI)IFLk6BSz`m6ZQnjW6~`c!l%ELn`KgZR97F1>0wAdRJBt&?$-}k3=5G z_njIK+Tna$v9+{^fw)yp(Q*tf|DT2fgPSfvfe0wOy{xtIzO;ENjV9C0-_!>cDm~T1 zfN9;L??k{Y*Qb^%fG+2{Eb#cJ{ZtWdrBp<~4_*`^JHU(6wWy^4^yHOYT4)U&ftp#B zsGr2hzVM*dsEGSmk`Wnw=z^z?uy57W#t(7z=~k2jSpc~2DOzldy2)CD4#lYz=;FEr zR-~2bqUiOA%8t=hX(0BoKueA~DZ<0A(94z!5bYYgX6|gZdNmV*diN@Mj6RwXC}R}?$EFklQD@jbm z_d$E=2Stu5U7c)7l8r}y|l2uW9`!w0-ozHNVqy=DTYi`Aw?lta2mur!%x zn<>$C&bqfE1d%H+9MADzCbErei2#u+9j7>8`z7ud0gu5ukF6OPO(N}SI3lcFkxM-u z+gOX>I}%R%v8Uyplo7JMiR_7cv+I|5O%HI*`(SKbY7$`R5~!e!S(X%})iB`62{^Lp z;J{#`^bW^xif2Osg5ymi{9hZQl_w~wlBhv|san7$RH;hR=vNjqibZuHfcjqOC$XkV zTU}eN6VkpJ-=-U5id>=BIvP@X@tBZN zkLq;mA*4y6jhObT){g3V$6xI9jY*~SnS8J$t& z&L%2JJVE%h-*ql>5gE=D6+t`R=B8BOcCwNlv}8UL3b0CR{3U|Tql9Awvi#IZE^vie>rB--iS^ zP2uOf=g%i1Xs)*UQdtJ$S?<>Btnc%>D& zNiu3d#wtN%fdjSvc&%{FH!bEYYpcgUb!RfR3u}tSb2PND-qHOAjo3HGC|NaK+%^=S;C#6^ zvMYIx>KHA)WoIft2CQ^zyfAyEH8kWNt7ckwv{!UMW=cCuNR+*>RKUXwc~PQLpnzH;prB;+X5pKd#fP^C!ZSUv8&yxuigaa zcD%b9ZG!=>NC=k!g_`e;{x1=wh6p#$*{R)I?>|CYdTG&+%zYG*t<#`mKBu#+8E6pb zVgI~&DVF{L`TJDZNDd-s^Hm)5eaRXBnQZ01Q{i95EwYs?rEmmLKdx&r?*%mMOcP%z zBG3fDXsl^ien(G=&Pn(0g~591 zRExs{6<{Bk%{3Lk?od8q|7(H6Ok&ERp3nWVay1QFn6dnJyPpG+xnRv z1e~QwO60B@tQUL#TYc~28_I9llJ9DVU>X`Ct&aF$Zzih>NqOGbqp6h=fi!x~rr&R# zkb<-8MR&U;2lch>C`lfTQdQX!FK+nC4{){3;9s122wz@D+*`&@D;pzg*)T4$zNeh( z0R?xU0)7cqK21(BuBPG7Gi+Zt_@xSlLf*{J6XIGQU|m~KnqaXOa5!?0i#e^;I7~M- zGWeX9^MF#Ua2#5Ro8#5Fn3IiS-o)SQ$m*>$ug9?)7P3a)Icw4^Z6rdhk-5&p4mnPti! z`8M5<%v+V@4F~jvdb7%~N*0MiIT&;Q6Y&EiYaW|_?0IlZOox%b`W;+|ztHm-+8P-< zevR7yZ{G;#FFH3i!`HA~)vc{5+uWqVi@B(knG{M4iARgO6uliS0tyY?D-p)Bp%fniooOtR;txo<$2vX2LEzoD8 zh~{D5ERH$^XsR%*zzhKt%l)>iqJ@Wv#2KZh(Lp_dj|%I-mW7i*+gX}r$Hk*LzIi%X z)-h}_x>{KTX^jh6AH+<*o?R(woZlZRtgaoGVv-ENtPv2}@Gue59MKL4b2YmGzkrO} zY7yM32z^~-w&m_=+p}xxz0L@>tc07I(PzkOFkM%XsK8E9WGP}1k08SUJ)eGVx9X&I zTm|oNd@$WR3^1e)E4VJ(v=?+%B1guhPM?r|!J#OcBXH?#Or7S=Mg_+4`1tRxqN5sE zXY@eYZBORURoWzD(dY^1yAI{>ZnephSWB+@u$gw6MN>r+4y^ED;gM^z1DDRqsr`jk z5ln|x^GRo#$fhICKqTAW*Hx+9i{wSIqn}A*GX4~@Ae;QwA7ppzlR^Re39dUy*#;`> zJ%1H)GGWK-CBiEBp^bu%cosgct5{FV0Qa=+N+D3lcK;|KwWa#X& ztgc48=LEjJ--(sglgHs1U8=+Ye=o-!M9Kz{f^h(zs3aBykCc3&Axpsx$J%_B( z;1Rhji494dK4b@7Ot8)8!HNoKVWV~8A4(k~j2gV8Pt+Y}iVdczYe6xIdybk6U%*OCyJ zf!ml~Uih;8xqMmwKeYD$3>GwVajsNfQMqgz2 zfB7H((<2YJF{49$AthX2S0Up+>5>2U|M)8~r?Y&&#o*uAIzbS_J?xhoh$DKTxGI=| z*+Sw=GsX2hnmY;$pT91RwAE9v0&hJ%78-{F#BPt2gsR4PEg+POIW52Q?6tr{1R%3_ z0}v|FiYQFG{1%~F1lWqAz<1JB`r-t*;Q?(>k_VUt=pQ3Z`+mUJ$iSAEe$9%27QB4N z_~A{=E2wi^iwc{Zu35<<23nxHO;2+U-B(s5>Mt)W{?;XUxU7+rEW+ zW0%I>D!9ZSzrneoXa#0&XcW8F(#aJs&^$Zb7^`mn!_dE)L445n3rZft`gdRY-;U6~ zph!)BxhZUlB7eCl)Gt3#ZX^RvY1u)a%grbGMH44CJY2=+_#E#&(C{z znHncm8K4#N`jG03uCBXgxtS&+**lVp+j>%58JjCmVUX5jEQVBdq2A#$ zvkmWl-56+}t(CO9gz6-*G1=2hW?ED>u`tzVh2s<}1FT~nV#R>vgoqNm>iVmvD1&+A zDK(QdZf)Z&42xrwd(frsw&-$Ts;`F_&4N=Vj@GNmPkniMVd@L{(0^i~Sl5vh-?bx7 zGVYd$;^N;lX8Ip>M_5sMf;NO~8Q3i}`{HXl3!M-3ov@n8$dCnESt{I>y(W{sE3@+<&oBkgs+#_UH{`3IUF?wsHkbv`N42!>hm8$hlCHiWMfE$t5lS-2q!$7wNc<-Lapdgz*Dv!Df9MH7O5 z2l;$ipv0sFBM8FtCPzU;6`A3|_qQ0>=2bbpetuK-U%kp26?y?6iH9d`(^LD0>~kDC z$?Jdn%_&oMc1-h&brN?#z0{Aewa(E@H`dT#DLurs2zRPmr855>8xpcAXYReA3Ln~) zkdGiizpbX3g>LNg$8N$&F^+j(cDk~%^4QqVJ9E^X6|&o#0@C(eyIzfYDCvj%t~Ao0 zH{Y;!4&TpXZn$d3mcdi4Dq|B=g?%$02L}?_p=HtVpJfq{z3DC0aUCG~!tO zTmwp#?1>`;rp0J=^2C|2cl8`A-)4d%7M&}Q8T1)hd<7XPZI!;$;0X)}!Qp=oW`h-%2U1ce@Fx1dF_@|EBs>Z8|=aKo>kMso&m9MJm z1AXPOigxZ>5A9*B?E=EZvckgUc;VK;Lt4&)Ps2`1+B55VUz^ev1|X=d5Cc1YWk>d& zET&_s*-++5(W^N*?<;9RB8WlSdK3nZZsWziY5lH4M*{l6TnM}9yt0h7+Q?cOTZvCM zNDHF79YR4g^QUav^p=IPMzZ-)G9J2{l;6IT3prA1kzv z;7Z&aA38{tD!Hs^c@&BO*=*sHz^6#8lQE-Rhlidot!LXXVDTBkI`GR)J0~mp1oYG} z6dSH=`Db1d4<8?fT<#~X-{a+_VE|{1*%9i3O^Ab5OqD|?QbXK-_ju|04G zl7{gyU79;l3yVj@v0lX*M%L!hq`MZ=jFeyQcfq2kT_hhtA^l8Qoh!5aH}>Vb_2GSM z$=Z5)yQOo3V_UwpTk=*!57{9p36$hE;+upQr<}4y_RtHg{X=TfuCWDW00W`Hb-1Nk zJPXW7sw~$nIt!7OD*y4_*oo>X{5hdF=^?^WA5V~z!%*w=iC|ygs`S>0Inm6{7m|9jKsN348AI`W5d) zmuND`6wcmV+8S7aiNDWJ%1K_*R+Tk&PKd z32dBp-H{1QKk+tv(-0>0E7vd$wx(UxDL`6GSU)I=H@OUUBprTl<;u_FeeBd5+TFPm z-j5Py`_IF(M>h;yX?|!#0bFj)!RAo!iO6`Y5?hSv@)#?8GERDClUqBVNV{ohx^&ee z2-Xy?AGvt7KL@n8GbmO*ETXDxpT^3#Dv+J~XO+U~a(($pK@WnB%S4q+HXNK`C^6@$ zFq5EMl*^6D3M^CI=H14v7Bi#KaG=!Uu&gBUe&F!K7O9I9L%~SF!9>K zCFzyRer$rP&fEB*kcj}HAa|GU^PEJ;X>~8LU|eBzoMW-C*CgN5W-kwmc5|F(^uZiR&6PB zv$OIIPG4Z-FSQ+7Pvi4K^%?m|^a;rMZT;xi>M2oMJJuk}u$!DlOV8ytPZfg5Pe!65 z5)ekVLuE*t7aF*)18|Gp&FRMB+kk_oNMn?CF1XgM4LqwouFd$IJLy4}8|8Qma?5vy z?Rkc^-*yFp?YQSH=zf{HsCnus(^MyJ>g+}njrAeuO;vdgl%UE*nzKd!gO5boynlM*NS~2>x!|NrjDSI`Gl? zINgVqXx(B=yhJ@ip8H!0wBwTbaV;*$L)lf>Vr)*F7qon?-lv zJ%X<50a)6HD~!dSD6O@Gqq0OhB@5=u3}$*jM9Vkd5SAK#cg~y)7dmc9OY=PFAG~)i z*d47c(>2AqhO{=uQDTGd(+n*s5Y?qxZui(TcB_xQLd zNq&@brC*khKt%Yj6Jg@x=(dFWi5e}bb_IK(b5(28GmysB6$**3iK)3iDHThR zm5~eU<4+-#EMM=Ws^K9-Lg)3W!vRz7QKj&hB<&zKncK{7Rd+^JgJcYLa88&P7`)1! zycy1BkbE4*zoA|uH5GCxD}|(+?-E0QN*FzZo5?d!=5cj@U;7pExEvQ!1d*C;glqh+$8iLNN zieh>Nj-Z2vkUC!P8f+>^gm9d4=hx#UoKqeT1F>`FuaU%Ad+6Hu;5Glmnin)C-m7ZF zdRM}DH%#iMl+US3pCD?Q)2|Bj776Qqq#8h^$KJ~INGbU}Zbw+;O0G0rll}tv2&YdY=@UG!8?Hx>OLZ5m_UxrJwE> zOs)40)cO<$?fNiE2@VNmRa`|LF-9RVL@nVyf%GK2N%Od_fz1xzF9T9q&L?5=dMoTI zC$O)wkDNYr4Znn?Es){}`%&DSN8pGI%Fz$%x0-&})v(N;NvA2FFC;z6xh0bp&`t!u zi8*{lKmqNpdn4H;Fwld=#kho8nIS4xlZ?hLDpyY24*P2|={8vpafovaigj{<6J;-; z&0(X!q2mddXhv)nso8k!!jp1&4hkiLK?VbNEw!%Lo?oGOpaU z7CcLv&HwTf@s_+dP8sbLYK(i!T8Q1Tj*bq<@p+N>F7$nbjD4maiU({MCRyPa;C%Nsv<`VQMqryXGW^m@FzNL>4AoS`WXYbzXNLXQIkQ$^}ClCc241X&ZtEkxeV)= z)0V9h@IM*AFG*kRH1)t|7vspRT@&3>$e!-NBy1Z>N6x1zu=b9ibL{9Kv^8R5Ll$C&9ELP6WQ{( z`|H4Bh=-c#0gvgy=WNq?J~ZSWqD0QuE-BHLcZ*?D%phXFvT}M&LJrwLa-!sXZf8(g^%X7(E6^ zQm(!;VCe!=W-kjvcw%bmUSK*5A(nDua;=M|0}lG$byy&|lawf_dGWtSXlC&zh<%CS2KmQ+U~2a-WtXhuPfdWYWqZ7W=86j7l#P^0og0S^Rc1)Z zJXay%dF?<(c0XQZx9i||v%93^MJ38!7-=R+Vg?luo)!8tQ(%VHh-o*<^fv&^A@~Y2 z+}z;Wd5TxD9_13s=2ixtEUEFbi0mp!L>1lUD=RG@qw^jo3#?#WB8;JNs?ne)W*&7k zb##^lq7`^FVRm-)wb??gngy8Rnzv&@Ywo-c4kZr#<6B&A6B{>0X7p%aQw670mB$_V zun~On4iJvmWP%o`szJ69hk@)z8b5GiJKAvhW`%GdL|z4YCh*b!_&yF0YE$<#6ls5d zdFMGSpDtj9P96R!ZZ!W7c!LB(9LU7im#hA_zubRb!vFHiDgLJ@>lam+RtC7WS8S(? zkn5QBaLOiqQ-k!XAg)B=PiBD>UwqO{Yi`)(;RWJdlsD;PcX+lS7G#a+K8V=;#iwQ5NjA2Op{YfT`o`7E~V=r8v*YsodYhDjlS#WmPZIooXsg!%| zLmBIQahv!FE4^99(#=syQ~=uyu68uLS+h#|YOolrvHOTjG*B|b+{mD|81GS6;@5{& zj^E1l2|s3|E0Ogk_@bjm!Igs_OF(`5T&%f3izipi1}~DBd$sy!(ksSf)qB*8>ilE^ zZ<(zxpom~v8{qP&tJpF_cg!HQ%Qew}?FuoQ8qrxo%LZlXgZAVzH}t?7g&*Y6fEVD+ z!AAm!%ZW{1;**5CRrLXa@)wQw;9jbd#|~3WTcx_n`qdpOH8N<@mOhTXd~h|1>wuJk zAFe@w_B7DnTqNCLzS$;X4`QbrS#NKJ;1y@7sZGY z3EwnPZbfs}?n4*p##-%vfWO3+68(bt`x)7-8satd*L-aE%i4|huSWb|q77s#>;DIB z;A2MD-g}5?W)gN4O_LV!+nxd$gn8CU7-KgGW^5+2oXfWky?kYu1KGK8Dc68 zO!J4uI9U;_oI)yv5=!zLn0kE@9mizY3NWY4fh^znIb0>p&@_R_Em)vv1MHV+van$t z|Nauv&A<$oAS>a^i~oBMaS064VDeGNTD-TS9Cl4IdWmDsFeq4Q>Org#Tr;vm@t`$#YT+(0T zlZaalK8)uU5_MOr-lYA*>SC8^#p8uF9AK=NvH$HOW54TH z;{03S}j#Fx=hKMV%3W1{yTx6Glg!S6~L)w@ZE@5uWR>!gY| zDxB?Dm8)8k*$6SsS<6;;pp_XZ5yokj(^1dnG2MPbf^s$YP?S?3xI=>SItKMnB2X2j zEs~JL!wNhL8R>VyV90>cJS-z3>*pSjuDt zh?}qm;dk)I?Z63vzt)b3*{nAgV&5nfgDGbVlU*CquFx?Fgr~@88;GZ*JAp}>5b-*( zDd6iy0QYjg)9U*gZ+XSdJib6UYlp!xwKpx(1q)WtfNA@kw^w9KoOt-qVw!^uwo%Y+ zOO>wdKUph&Z>|-#KEN#rFXT>lLkvAU8j0q2Ww*o)BCG`jA#eHaV*jhlK8gPL~$2KeGg*r>}d>vb|3g70MT=6R90+`1QfR} z@Sf)pCy|N{Th{JO=T(ufy;<*)+<)XdaTyE~o8<5Pr=@5;7u@NAwZU8BAh_Rp-}O;% zCSZ^=UxBXuU$8I`<+je2f*fk&y^UVs2G^~RbY+p#f)?XLGcoWO9qCGRa46eI2g@&X z)#)8-x1?s>g2Ry04RJd&!%bW0b0U2QhY&!j$LV1cAXCvL1}N6scV6pF{c+yv(T%FzaCXjn{VTv7&zIiauCzf2h)wJQ!qG(Y&fS>3b!ea5vk!O&Fu8pR}h zWnG59nsNUsJ0baN4ZweBr(aYdIhy%NR?RcvhgGWj;5YU0F&%JNm0GYg(`m30wn!=7 zcf}-I4vVh*fJ7|ry2W@Ulkns)GtJlgE<>g%Z!~u_8n^A$1D+c>@)7j188aYL544IH zH2fy3Excp5%%AO>-(AjU)WrL)0qJdp%rDX`)^Kn>k_U~=_5Qd_EDFJ>M1Z7+@C7id z;SrI!8x6bJIl)&v-Ac|qK0AS$IHtkbT%ag;D4!@hOTr5!?H_`b*i@_36emb{3^(_L zCqVYFEM&Du%wv|tAiyy_X^k9*-&=C>-`@1-(XBhHRBGNUE^q-(oAjIJ=of?+fHjdE z`w5)RO|Ftp35AMzW77*>heVRsuk}}BGKp1D>f;@sL_A-TlD^nj#UBav8@6j73@vF^ zcy}))@~qVS7}fF~PKcp~TPEvo6KeNC%~a*@qt!1!CM)Xc$x?Uyhs<0?XylrYn8`~8`5V2Ufki>a=Cm9QUQ!ST;*&HwAEe}T%Y9Jg(gNsl^u^MNYXy+M-169_`4#^_>_DY}gd zRH`P)z$jbU^$~N{Va0|y_~+0yCi}acV!&-+rmC1YR*L6itzv-fpzEIHF2b!Pgh^Tr zTdG!&4_-d3W5lPI6k$!!cWtkSi}OKPK%ccU7;KtCpC;x9m|W9uNF>o-pN{WE` z2Rn%ecacuw>}ufLEw%89bbC{VpOAjTemrH=cWb%^t%dl@H}l9(+wpy2@#(5n0pu39 zpP))AaUxBP(F;HJ;lYlpfha-qq!i6Ln2v_5K{9a5M7srHLU;m<0UZ&OgC_@9@^)2j zZ34?h#vN9-k}q0zzZ%e1wGWc%j+9Wt zD%H(l9(}v>dz2RHa&b-a!6`Qughc1!s(ovYmVQ{GvRY(KI1QM*YgD2KF=AnI4%Yc; zWK_3(^#EX5*db<|D2fth=IsgU(Zwo@(gf=Qw;+k6lcLS#)e97tc9og=-zwU_m?Mqr z(T@5ACgRWOZPi>i-vBK>CHAi=Hsw!$E_UO0|2~`MVc2d$ebHg8k^i}D=f4ikUn*Ox z)vRN2SP(yZdJXn?NsuXy2?V`7Ruoo>(Tw$MZ|kpEpy%+o^4y0OS)XzLu!*L4R?m4W){JaJv_GFY+A zXO;+=OSYKz?ezY9xu71RW(yWRk8BNo*V}Z}ip=*gSc5vQUc>@6wms)24x%xmh z!t3Sfj`gL$z0G5kI%P{Gqfic>oWC$$v+2=vH?BO9F9p8Ez<0G1n0p!O2XCHtRZ?k~ zZ_zj3Dqih|As?kvt=KV}$7|ZnkmTD)TZ63}_T*ogKS&0Y}>Y0RjsmZ+qP}nwr$(CZLYHI zT2;5sj@uFUbae0DJK{e4@xSHwkTY}69CM5@HN*H?eN&!)lP9n0x%)gBi|ZyoK0OtP z5l#9)OnbGs*s##TvM`z8o-`)kt95sgw3bZ3dNFrjoItmak~GF){CQm<-F1{FRMDzT zt=^mx?K;JCO0H7h+mYKFMaP+@xTSQ zJxl4y)8v5%UAdAW=tF!YC=H4f0&jCuTVM^38G@J*7(InB&9Dd*{33X}JgzZTzn$y* zO_SC9TYIWZeael3%=n`Qdj7FzVP$1O=^r+nDr4(*hX zYL?IwgQ*aXffBN>&5rF_dLt@Df{Zh=Z@pC}Z2gW|`L8mFnhL;IiIfLNw8 zt+2BIpbE|6kiPZ&KT>jWJR>8dop$`b$3%Yvbt?0ti*_Gp0(sD?G)N;*|7WGNpE8TiyqFD>zWwXjAlJwhe&GXp@A7i!>kG zau*9au*^U71(_6u5!aI{4=}b)4mD8(^pfqyuiEmfxDasl-cmf(h8aCP>S)m_u;HkC@$)G?PkFvSXmz9;f!}6qB{~DvNy(0lF1@*=X9dh z!YBxV4<1yccl#nq97@MeXN3pvGOvF_=?Vsl=2o1>E2faaN{Lkb?T9F{#1+H~= zBF_+fx-ODudpQlcDXXYg;`Bpoq)QRL*@iN25~UlZaBVJG1*X6TQt+a}HH8`D@fnLr z;H->}YI&|fW``?R6gy*SLAmfSkp#kb(df?n<4t9!171V1)#?tt*X1E$-M^G0@8rg- zzB^g3v7`4*2J3%QvyUQJ5`^4KepAAedCXtS2_u}iJL=%-=dPh&DXAeb!`tjHxL&M5 zsGQjv2m^+R#MA{(&q}X({QlBu0Sg+8iITZH^)?5dM_a0#^@=6IIvd*M*p0y1vtfF`3ImrkP0@7DQ32G8S-Fh^cOOQBXUHjcHMLP3mYcG}M+&m+`*2UdvqnOYy*9iK3Y zztE^_0)6@&I2{o^Y6;Sw-z|C>eSl%&=>9;#z?XF^dR*ryeB~q->tZ56Hj*gsG7eX~ zemwK}Uh{*C+texJ7|n5pIiv#=g>K(k4*tpRUnOL+Zl{4p);tL5vm|xd6~m&rrExm4qk=#++ncH>%x1x})h6MX5qrf+ zGLL%Q*|xy@)f+nL23Z@L(lcF%uGngXJZcZ0dmR-zDX8v3H*UgulZr000GRIrwes1= zm0 z;%P5>r&}NaDQ|`%e7KlheXK2dCeQg)z#C$YB-B%+B)FoB;tQ zagc$(^tbTkB*tdX6Y>YVO(FKPWtqqofvrEeMC^X@cN{tSeW=R(0&*NT>P@=8&A2h{ z%71M(eMsIP2M)y5xC4rS^)Bp3&X31+v7fRC{u^d?q?FHq$^S$PnJC%>+UeHjbdR0Y zAqheb|$n>oL|mYQj5rSqN9XC=%2a7R+25g zss`qv#%|m$6$nXvEiU$MpbINr-GNH)Ulby)=syJj@s{N|NyoVzv?E_vevBYBUyV9pt_o#Ptj1f4*M|v`KkW8s!B?ikZdWqY3HAe|i<=xH#J+Z7 zssesfueP}YXl7Qel3a2qYM%L}3A^!v=sTagsO~%?pQie8zSPR0_r%Q8`;p7WUvBdg zZdl+}anq!HSFm#dNNCCu$WKRS;RsIkDdd$&UrzR117~5g{tM!uYhuz5iMW8I(T0-6 z8ijhDeY6$7KCw`<@HYx+fjEZ;VKG0}UUHp_homsnI95a|RXDz=%MO39pD+*l5j|ym>7UzOFAdo}H zUPegRwP)tE8uu>Q*Xl!nqR3%$_j@p|OpeE1LYd_8KX|AFj{*uqRdALQJgbT_V1Gv- z8lAv-?Puif_$8Tin$Y2cxxYzyaqt38A^TuO&PQ$^EwBBuPu10f1xKJK%0Fr4({XJ>z`LSJ7VjW`GccZr!i1=RgPTUfOooPx_`Xlifst z8e40m#v#lzTc^*1!(3Ha$%gCT61SdmM(gJvFh%0)h_Nutn%LQGoi*NiL{PIN% zhd+L-Av@w~%h5xQS#~8t(t=$Xq>pD|#0uOSAu+L?r$Ih?zp^^mNN>LP5GjIy$L3BX zB0oj(b9jDa^8LUI|B}6AHLwg?F zQMkR*9}R2f;O-^Jpy<>M#muOWsw=DkTHTuQT(kM+%ki$NHR*m$=0VG){a+_cz;Nbi$KfwJiRs@EG1Z3)602w84A=R}n^Sa;wI-rwl#gRI z>p7rpS<|KJSX-TW0o3=_>^r8W^pjT9WAfB)kq0I)s=KOH>re_`DOsD8mDMJn)s~_* zs#^IQ$Y5_b;7}d^a@!T+JgYKrD>v+d&rwG_a&zS@tf{-ZUg#VM36C_Bj4d?pn{`vV zf;wLTvt52dm`OCOxST1uVQ?-Kl8vV02hTn&Q}n)OWH!Rv&Vox5T?O!~+Y>GFTiJ4f zZs_O<=H>2-diuDt8$H+J$Uqn9k+dq_lOdCbx$%9ESbU@DWdwQC-L_(2^<|067E=#X z7-`?q8e3I-{-=K1>_{iN&<|J<^#fM?J9oB!JAAo+Cj1b?tRRr7!M(j91w>W(uPbdnVny_0bnc?UHaYO#M zR&-yjBh?gTvSiVM1^e9|PbBhp%~{Y#1?*kf`89rHG(SFOg zSfL($CPm>4?bNXjyKC^K54+8nd_2`kbz`L~^vL`h-7HB@V0FRZO-{-sQTP8w2h=}S zv!Z`E0kc29e`gZ#k6ki%GIr2+vi(o)l+sbsZ~=TU!7q*xt-#t-pkbwU#!->+l==qw zMkR#^gWG=r3nIyCZ!T7e$ORTKENG?3d48*7frn?<@g;s}1U^#8#;}uY@0caSzJ}%YX)4IFI@rBgBtYa zcOFRT(r3<29sidb=f8&K{+$^9Cl>#IkShE;HQhh2{=ZZzd|JTc2>l!=DfYE{wS1)N56N}ZNNfN z2=lYK9gjV3t3~ES?v`G|Us5U8tlTJr8C%nSYhtJg=(%VOE~B>DI@#k7Tu>jjNWh|_ zf)tMluzB#s3K%LII?Oy0>MpqwHG+oJIiR(L5WlJm9_g-@DE^txjQHV86|Acbv*uDp zNA~#-@TO41cma76#o>o!XDSO{EeMY7y|h|ICcp6-qpap-H2k7d9)qb-?@;-3>u>-7 zIQ$nv0Bc(rceKtFOYNxYu$Z5V+t7lKv6=x`hkquSr4nn}@%%bcC|+>}CuNd!3j4E* z*eMp8?+l6L%o;^3-vyb-^jIQ>L=h_xK|uwj67ST2Ex@dl9={=mj`TMtYl*sVg<5#( zEnPYupZe2@5eT=tZI)C2Bb+v=h&s;T#eHVKaJwAoZ)cr-OlPv8fRtypeH~Fu=W=_F zr|BG6Q)aWPyCf|FaKrTWdbW6_&3UycnQ(5UwoqM=uZkqO{;dA@W9aENKDV}Su;SvM z2WPanl=}=r=JcR`nF?u4(e`9n@}OR;7^03H+WHWYi@CIxa3S)t2V&_snGQ`x2ionT z1UZz3iY}GD5Eayws9hweO?Vc|1{Qt5gs7X<@XKkDWJiof!t1t`hs4C8X!rTNt=ByN zuP3_N-woDlomMtVwig_`@*e}`CGEPaMcY?_i9VXhcv`$#1IT+rkq7X3!OE0743y^L zc-OtZ+>`eSJyzt$4|)IZ+r`|%asmBkPK6KYzwhMy%W(Y%@A1D2*KVx8j+-q{uHUF( zD=JCE^5eAKljA4F>Bzs%GBz5sJFga|0>s3OB;#=aHdfl-cVBjZUn%8WQn%dDBY}2a z(02kEDU$RgCfVi!3j?v~)}NSrkLuA9aDU5+)*I}4kKQiUx`Uh+0K{hvkz-we7G&!TQFow@>QUPg8 zY$bT8lT5OS3#m!g9D#jN(K^&FtjG>)m*Yqb0M!JBxvQv<+{CA;jG@6dej`N60^^Qf zy4=3`8Versoe<5h1l%5ns#EnH7IR-!BpaD@uV_3ulPJ_OPPHZUIsozvRj1%-$zeyH zxHs4bBXnFWp3IM>AuEwM>}>{GW0u`<%oh0&r{It{1X)`4A~#*o&}3T`f}|o~@&Kro z!KpfH7AS_`daLq*VNkMlSP=QM(Kr!NzS9pMYSWC5-f zP%32P2fKqqtf=1kYvIn5kuwrnl8l|6SI$>4~mwON$>F%1xx zh}57DHE7eHZ1zy}1X%;WK?g)|LA84v#45A_dl%xzz|F;_7kWvBWaTpx=(yz_o#}{1 zqD6`Cg1E=5DG&~KaHJr%W(=HH*hnA=mS!fvK)0Vn<*+0kG*zi9$p^%*0FCzvb`c4S z0=Q=(Xcgl`pJ|#xY=|7P;)dlgO~?TL2pOs12NQ7?b(a+WBoIUxS9rDV=iTMDI}p+k zYR;WE%fcer;71PQx>6w-o%4b;W@!5C~SS0#&4Eoe?#KNE8ha#S6ZR z!Ne|(A}s&I`XLXr7V2z2h4%SXjuIZJ|0pha8^8XbmkC1Y)&aapOxhpLa$@s6 z*sL zNDD=JgupK6md|a`7x?j)Y$=~3+oeW7)-)d5UWi+=$IB+}^N0~wm`l+pOZ~!%_JyyLKtfW0}O!@~-=|!rau!&Zc`Md+<679?-R@GVCEX!V-U>ndC z@`O%e(s{IL5{SmnzIUcQ3RS7PE6%+nXyaEbH)7lj-C*eS28%g+tHfCZtf?Ddl`SKD zfyL|dNn<6vsqIc~kMD=cE1%b2*gqwZu`^?YokQQ;5oQ6R((hJ{xXh7-4@!=xRqsij zkL!z6>blL>8kL1ZORDPu9KX92*Fl_VEKfL;mzOQlss?(7hQc#Aveg?e)?FZ2ym)&N zxDF$QrYbKBrTn0Fo$V^46DCLx3e;2tRvgVpi!YB0Q9+FROdRUxqXk1ekdh3eoV?AP zR5;EN>hSu#v-M-sf!YOr>9Pdhz-A%Gq%vKi!MQ@Eq9~Xl=~?Hc6N(vFxhA?1=EEA) z8}O@lu_gZs7}!Uc3C!7>VAB3>8h{?j0~uw+5wvc6R}P$d{euTq3{bJI$=O>++Xj~2 zOdIysj3#;HLj13urm6$3t2sm(WFDHlTb~etJS=7;_UpnKt#-b4>XXR9+&O@25ZErL zaDX@PbaSxOu^pKh8=dpXE#;_FM86|OqQCSgQ|($Ly06La=X>=`S)yA;e$ivNzR^`} z08njRKLYc3lA0>D0`G5s{s8Y=2KmSSmOs~4XRx}?4=~hT*hi2`PvefNq_u9y(#kYR zst39BLRUo(QdQ+kMxjH4Igz6oc6}w7*0PcVeHb^S!5p!5@PUkhZUh4LCo(PS zCibR3B3sE-funq8Qn=&|41F)!jwaBAyUqg^fVyo!_Bl4jGsu@=dkP^N9bjP#_XqQ% zqXlW`o38o|%5UbL^*yiHSCn&xHZs2o;9~c7osIzf6X7gBbsJ$qMr{U^yK~Z?uIlZR zyTeII&{=$BtK#Hj0*WAl?B8++=R~m7f(z zUOYa|V)Tr_64+2xaKcHQAWWK0n3wnPIB_Ktx=<1REs$rC=`q&7209z%-ERFzQ_L45K?(q$`d_pZ`CC^)TdY|rw z^t<|uWb(XIqt&^str>>?QhsFXW&1ekofDLqw_vl9z=w2s%TvC*Vn+dV#N4sP?#n~= zDvXw4_?> z29d@#^r5dgRwEuwgQacmsYLLyvq8AP@P!xpfUySmYQ;=l?%hmlt~bYEit`<6G^4v; zp^^=}H)&0st`o8zRboTY>*4%6~D& zx&smGt?se<5wYdv8rK;Ha_Ab|T@7UB1h78CF}+^Mq|DLo;`Tz>&-{gZ6}Pm7`4`%+ znU+Ci2A!$KN?9ULtl5xt7>Q*e3x3jP*b(w8cG-&i3MOa};q1Lh% zj|IXhtwcbctA^oN6t@n4)6OI(L3gNI)c0ctW~L+B)~U~#U|Nf?`yGL#MB+DD{fd*d zEFY>)YAv8O)@<72gDJj*LQsulsKcc09D#S}okNw@Y}ggZ;3Z5}C4EN zc@S}lX+9NS7yP3QC~)`(FS*FLk@#sv?Re-|WFpf~AN=*3Xh%-lxHxb&Q20vxFCLNK zmLT+lA3dDztW)rgRPd!vpTMsX3E{G)3ds0cM|&WFEQ%tx3ZO6rikJM~b2mFRcoODU z`*zT4T$JfT4!6(-9!Er?RrR52)q$i6_2J!rBXnyzQ zA~Z&F%fnb8xBRE?^(6-i)s{)?YxLsueA{$N?Nc8l>WM#tt!!dYOtvujvdlM_nx+j3 zL_F?N!d$)Y5!L&~3BS-X&LI@kRw(+)yQ~GI&cl&(i#`n~5m6BPE7Sh~n~19F24c^! z&3>(?Q$hutMr8@CIf=}GWS*Pm4!@hqYYEy9Q_NeUQ$sl5VyB%hGNZ6`E0BcbS9uo0 zW`QQ4sWmt&TX?6(Y!HC72PdHg*IsqoehyWSvCOr(vV*!v2kdJ-?p`NhlA82+gn zYCUZn*;4ckP}$b{MAGzx*+Lz75%MOZDLAGmWET-Q7n=q>W7#KcFod0X#F})Zoq1H_ z268RGCT}R%$U+zX&<(9#bJsMygBEHn2X`hoMFi%B<}iPwuZlV7T15BW!l8VAE)#eRnWB!jdXjFN}h1UZ!1Y6uX=P2KP(*z zXOEaV##U)}h7mi^qhHAm4*jI)Fc>)!`MP%!8-bIy+W&PHF1HUN_wZJu#DJWUErBvI z_km0z2dVBdyqLAL!h_fTzOQL1b`t>}zFBR>b2Rj}f;rjoFLxBtk5P8pa7{{cHC&R! zejNkRC67cfnCrOopI$yTFS?8HuVhibqHXr)S3x6(doJS6iHcrCYN~Ko17KC`$~Tr+ z|G|K&6RMhNyH|{C#AVStDDc{pb1HZ~ihwqJ(ufbynXGDiyG2XJnAm};I+K#fd}JG$s~#6kWb1Fj!W49AxZ?`@4UkcT zfBXPO;};_^^okGiBe!NvjqF+sERMpnLrP!koMao9rdA-J3AP{XVhsU;HX-n+-mAaggvvvS9UWP_A02P8WiJgsZ&(uf)ou^TAPE*W-HbltGqa9Oo#@|uEwtTJ2$^YX#pH+t$pS87_)wU zjLjYFqLqb#Zra_?|HCm!u$P6kpojM8vJdg>_bKIdcL`zfOyvsnc#Fm)d@YukCem{M zOqOQTjgdaZD75dll>xH3_%cGsX)3t-HQX_2_#jYt~TP46$_BxEORIislTw zEA27hnhe@0cIDli_kx=sTyE!H|!eI0xS~v2p^7QH5x%nFVz6Q;f z;GSX;BU4=|#XP5u9LFaPzf5~5-Y64~BQIU$}O!`*~}m; zNpeM4cbKb1fMy;pXkF8Eg>~x+G=s6T^PHLKEF?k*T+HU_E0H@kbMTHJKVxI|Hj-* z&1ck0aouVIk50l%JJZvPQ0t_TzhcMVl7;)n`V;#0(81jvh~`i(BSgXdsgNLi_n*K& zIaBE!&7W9!|A~d)|C`d|f2NeHR^YZB_%C~W8JZ>vNKc|5Dh4NNs_lvjj1wfHEVhPU zs1SF%mZ3ojOL=fldgDDW*W06$krGq^#9YQ|3zEX^G|X89$_;)Djk*0H<~XA|JN&6p zy#*Ge0&wO zy4!COBpm})gfQ23$V6@v5LqMUUZRTSOPrXT0#}dE5v9{w^K5435eY>4Dl<3!5-v6Z zwP=)fA`L7AKRzVQm!KU<#<7!CBkMS!+11C}y@LB5IsdC^$&GFtoBr8_?d|m@osNM0 z)1GyRr#>_yz@`LkxQ}9IX2q@G=cWH(CWSr}NqiqG)1O=l&y^uNQ6Q_UpuS*~(lgo; zO_0nNC8UwlGcl>=UjZTUZ-Kagp`?ec&W{tPrMF6ys*PwPIm__*4(m<~{TP}2y$WS` z^G^=K5IZP32|qmtzMnGkf3=VQGu>RWlBDe)`X81HwMaXP8iDKk1{9=ou|(wBbIgHM zMDxhZh75GY`>v}Mxu4>5ofeMC@y9W@d(L2VKNKug%pM%`#-`L6((kbwFauS~gFWDt zF$op1Alb60o&IEJu=VTnccTWB3N6fTUYcfibzWRr%aKyB>J(eEnJau9`F3$HG^vSz zpFnYnmPb|-<6mI@GM`J3{_9tq5L z^MtzH#9(mXjul?$eu1bbp@Z?Q!Z_LhX|zwOe;Nl`>QC9H?QbmZ#LqpuXZ)9#Usa$$ zG?Z01a4AdtHUs6)xnEu>_-zT`5%S^$c%7Gyzp&t6DYh26grHXZ$AjPga>>nT6W;#o zaHhY2e6xwUUpXs5m!t_nOMBk{Uh>~aRjT6YS{QIa`nrjcuuoulz)%3>;E(wdX_hXW z5l%PO--aP0JZ4_eZcav>!xn5h#OE~wl)lFO2d$&FdKNZ@(_m={c(}bvp{*ddv9SyGo|GpMdrkFG&6Qj zK)+H-RnDj@(o&cn7AkLIBA5xNp(FX)-FK^9iY|`Rt-PqkO+N6Bq-wiAahYJ&POKy4 z!r_f8pjT2xKx5n15cMvxpyCkkpBTz~jqPg^lp&QBIJk<(MRMBVt+&5l6y)THJ_x3k zCVpdo{il?+?;H%H_|tCV`)MQ6{tvIQ{}GQmTV>N`Qv|_#w>FJUnx?-g3C!C;uc=8$ zUC2m*;H<3%QHk1tv_{Y#^Limd{&APHvB+qg;$5ykq%D=*@pvk@!p%cx`F!+&T{m)} zZt?)$^W&Me?UvqEv@Rj|^<6H%U&SXed5q*6Y6T6gong6;GzfG|S~(1s$AMTGl3IC? zN&L8Pa*Ai@a({YInK%;0plk88mYZ=EeQ;kRqe~r5p&64*g0zbQ$Y!WcDV?o0CLOM| z;;V&fNd+F5%je~8a15W$y#)>UZ`1WRuT&0_@!t!$kA%Eg5ue<8l2j}fDoZGSe%^5@ zGng}8K~{EFIcP=bx1d&OIzCmRWNJ!A6K3n94^?CF8j-?uCOwn^Gi5HwwPVKV>KK{I z65t9Gd$xC+Roy4 zy)}#qt<-A3jq9n_vMN}M@NuS-24qA1@=ek1Q@;=&Qgz zZbBE^>sh6a4u+1NZfB@~9kU^VZP8vxVT1Mt=I}=Wc$CfoEvDpdR4Vu2;+4|0)KhM| z9ahzJ{#sdAP;9hHiOk8>drDfeygc7``{(r>oPUStJ=IVRYF))w@MyzT)!p(#mYd~MBSTJRNF{0+Fq@4Ys;Dr{0u6dG_z9vIMp|Ylq*}9`k zEndSrX>Cmmfq->cy<|nI=k7r(5iNzQ%4oPM#d9&n|1tm&&ClI)3C8{dGK5Uj)!$}s z83&ycu2G0ycLC*@jZ-Rc;m?w8L2=o8*IRv-E(Kc9wdC}xf6V3+qysril31C0)gc@E zwAlOgb^k;c;6yVfK=`vhPyMckK3AgiDN{Z|147k64(h>2x_?@@J6=PPOD(RwZ1^5? zh51+X82yTd+W2DDs^$I~)UWzBdN?LI$wA|Ab`u=ZvYgFBIqk~i^?Qvqb-!@=a-mX8 zBPwgS9oRGiYtF#zk?djfU5;^(U-Ty|shz}`+9=^egFW@^cDD)|Oqlj-xabbVFT`qo z$)c{_r)oKH)1>VMw)%q=8ODUp*L6}zj|~iM<>re}S8_Olmx#1>K!gE8JKBWTYwMg# zzfd79IKr!Tt!r3DL z*lLdl_knq!`1}*w&5+f>P*cBg^J#>&L*~ay#42`8nB|APHE7Cz+Z)QS7i&#aZNjbIS{p>_t55yS__NwF)~3E6p9FprXYoy_}?=m}2dgM@Gl z!moY#MR6zE`kOW2&6)|`5Pmxrk>xf}JV>Vt`}jp<5&wG610By5Dxst?or|??Y3|P8FRf2( zQXh;svO;<>A}tOY$U-AqkCV|HV4K5Hk}(n}#GFH+$hm+#?H{!u33I*4N7No_#2=Pt zowg`$*AO)ZO#Bk~#<%m(QBbD`?_Oh3uIdmMov(51!kKykRfp-Xf5N`jj5$o(ehQbh zpTdRye|U5MU}2U&b<2Nrh0Ruymc?d3=zgHC%F=-JT;~H4prx{azsjeraHx#9y_RVR z(cWzCWuPml3KXg$(4X^S@_B4{auybse#ksUH!k&%Wl`9|Il)S>eYqAGt5+qr zZ~*NxAXCr`kcpkI9jTR=c@b+wOGQ8k&`zDbc)1bUPF%2py5x44BfByYH(R+Z9i`-m zC{R~~utF+;R%iUe5@1u>kCzAPNPDgO_$u4wraYFuf2RsiC;-nZtcE>?C6CIJhuFMt ziNqB{yk$6ZoIMTr$E-qG$3dVRusRA@uqp&HTtxtkOwE^Q z$E&Pqa1yCO{iU7^P%a;jVl*E>lF;>LzglZIy6oTIsWNwU0A`;=iLbHe73)LMi48{t zcc9?Y(b4WDG`MMq(I52M*PG@whZ2 zGAbP>h>MoE+~!{iV=2zItx2Wkr)x;q&l2>&T=4ZX-tixJLD?7;H{K_U)(ko8ZI-|f zPF(c*G0L8RmndE|MM zlbeg%3P=c{NO;E;agUROZ3)8fg3?Ey30D?0)2dfBjhS68pSp2_C{aNV&>n9UUXL)V zy)xNVX0^$b1Ddmj55$;^YsCR!yTo+ZqNj1!j7XLD+)^zEDv;l>!*iTmNB(n1=QSGl1XA_gwz-~WSv?9G2snRSZH2b$vJCn#s&hV56lgJ z0>6?+NYQLOQ-5YV9sH{)F8$55}f6^!_Sm;hq z|L}wif3y?-4mSFidue1~=tyg%@1*}9q!iQY7eBQ&+Sg4fMpK`L&2XhxJPJrK?PT~l z84FP-T%9Hcu>(o;^rk~d{1VaM`kRLDXUb>!XYuE(-$g>(9pZBUmG~&^gFkh*R*&O8 zYcP`3nHJc4COSBH%phGblta3CIvEY_Z)GF(3`@iYdRmcqy~1ELDH49H38MlGS%DGa z@nks`y556ZB$$%`(sGmbS5HF6dA0@t6%q{*DcRuxDQH9>^=!uEep+fqv~l^F2hd0b zJf!Aj2SLW5P`*X1LG;eC#dM^0oL`rLfo!mmVrvF5iV@vLy}0zR^PpwjUgJK8n6g1g zGj>#?@1y+)V7%X|h+MHm&q@kalOSxk{z3v^j6>Wzze$!P5zme%yx%O$&?r~Tarm}NAQ#gCO8d@n@{QqFnC0aZzKC6eK z-Sb6iF{`890i*@7a*RIAFz}EUgfHMGe+*ul^?NCFG^7S-eRLl~xx5lM;MK!(rQ%47 z5-Qg^uGkDTZx2|Gk{bGFHqz>FepS)G4bSnb& z?1PhVq_i(cQ8CFP)T=322ZRNnP-xbjfQPs6dtMf?iaEihXq}I^YPYs)fy$1uV3*XF zl_$`^>2%AIP(^PiTzak8oqXZ=h=MQkpkwc3Mi!Gc++eT|6Ngn#dYEVVlg%HPD#(rt zWWvk|#OsC{&>-uXmZN8zSWOf%09%IfL5>)$u}w?v5mfHDZ!s&1>aSmxMgUE^Ga?fB zxbBE>-e@uJx7-X^f1iVPPO|e&j6{yId9IA2Z@O*fZ_c1@={&heW^s>^fDq_+Z^}%H zg5EQu(t#?5;}s{0fpj2blgKz0!q)*J!0YV=XzS|0U1r#Qyl`KPZqmVRnVuR|D~Qxh zOQf=NstU=O=K-#~YZIM>RdcSpoY3JuS9rAmaG3JZ9k?5N?DQmCBT0ti)gg7=B&x7X z2&?`rY?t*+*u?O)j`PL4GH!)^*Cf}&eA#XM>|6-f52fR56j5NUB&f4yM!#^`^E3h% zL-C`e3gQ4d8>nEDN#w>!xNUDB!Fs)29cH7^wsO-H&psJR2kiQ^)FhKt+tJ22fCXsg3neBtF^%Q<2howPI64Q#&~` zC`X7q2FOkXwLvts)jhIXf4m&Ld#}-k>^Jvx+kJv0i`yGcy?K=wb5w0J`z&X3by&iI zE6jA;M5f;y>}N_K#gKP(bAT3CN1{o~Nf$p`nL-2ngrQZ52hWDV>8HD<)y{%whQ*2t zvzxgJP|w-|vP10DP`7li2p9%`ohdbkM%YOi*iQz{ib7aOmWVY&Wk4TF`Qva8k7#9( zk8;7XrgTwt!PdB5WeuDiwrOs|YaHW4C*nt)qlgjKxWa)vl2m9ZAxcw#{bH%bzt53M!K5hPwgRU7QtB_qS-_ z@HWg_Yo4JT$PDP2>r->T8|O;mg4<6Xo_-dbwu78aS<)k@IwNS%=l6jYcDrzTPA5E3!6IgD>7wev)-* z+u5Od_cl#asLi9Zn*;?v9yK_eSHM zs*k0Go<3XF;U=OqxaTt^sK|A+wS47C>vd$4c77pwlJzqPQOtjn!}08+EqlTjNFW$# zl}ugcF9RDJ*dfaq$Ii%WUMr$1aKB+QNlQ9d2)XB%Gs38ry0CyZmsQpv6Ul{; zdt!FcLl-yzROuNIm68%{o|hG6cm^m+QX}Q2t82p2!m29Bok>-61^{9wdLn#(8TTH< zBKW`t)PaUrA~l&~i#V#tC7TGDO7MlTf*mEup@$fQCv1nunQ6jn@kxYp&|IO;y zr#rq;dac%DldfQ3OHp-1r)K`uK(6$4g8yC6=63y}iGA&^7O{d+gsAIC+oL6@4~h16 zly6Miqi5s!7w+M8bmw5a{32da*H9(Oox2%v2ewajx8u`Y zhqTt%c(~)}Q55;i1xiGWWtUgE^cG+m^nzECMKFcwkOVW9jW7$4S5_NKl4^kApc+I2 zydsqTHuCu4I!(HS*z~=yE3o39M^$c3!Yzo|zH`6dM{8CMg8NYb%?nV?eBI_i#mEA6 z%2YV*8ohc{(wcG4hTJ(t za$a|3nx>sqqo+o#!xRbr567R+F1OFib8qe6&-cgMbMC)SVQa6mLIJsWU~t2l2_`#V zTt8lKzx?1Yo}TJNn=4Ek^UI0Lbu;y#Q;dfKx|2HU-o%9Zl~Bfm+z#7Q0HGMbxAxuX zolOuPY0GJp>Q9#33a<1D(JV16HCt+9350(5JS)V%$rLnoU5IH3;P)HteSI8<2y9Av zCn)~N6}DQtfTA)q+d&ce;}h4>11x$V5NCEvJ6{10naP*D5idTdK9e<)V6PCIF{!K1 z9q4|HnNX{i$JDRP#ke=<6|-P!Hz<+qA=?hV#7sdLsDPx60(&|SB1x8F?{kTsPn;R% zR!*NZ8tpyVDU@`DNp-k8y;4+Je<6uo8BjRWCdI|)@ug% zt}bXiW1dy zg5-F}h2$fU_w|)W(9ESn`B5$nF#|q{Jv-;e^b{+v5~nm92_ssLRcAG7@^2Jq7A?TLM#gQair?yCa(B#<3Oe%;Fg*#3IfZM5X4}>jJ>9U59 z50+gh^*jjbZY#jA4eO#M0V>l_(N}Nydzi>jV;3$tBD-{vO=*LVDU1x>4`=@D_muA;%F;$VK)aH`!j zhYoZ|;N|`}b;US?DUvOF*CGqAT{Jc;+E<_qf!87r;*!;8V%W%>#7vaXc369Am-D#FweHvm z@%fk(#liJS2*p#AG~AG+W@>6eL)*a^g-R=bM-~dV4tld>yl>@RH|BBxpAt-RaEpql zssRpU+Q94NHD`Z+y?yM)SX;$x>#ghgj#^(bW1G;x9vaR3vCQ^tQ;jb;o;Udxl=S6k z(g1Z~pJYowG!|;a-X5WiKFuZNrT4;*hlKwLFEu1RW)#7N4#@#K$xs4F zA7zha__rvdYVd(B)KQbbHqpXQVh}z;s4WW!=s)%BTdzDNG6x_g! zPt2^x(@z?BFf1;&KnTor4R=VQE^p*js-^$c!Mtb})Uxp^Wp%YaZtIydp}#DW9f=Br z^X2Z0fVbo&?Ak&|{L9_T?c%O@N`uHqo!jq8%gs@(C_Jb(>leRVi5OY?;-#kcSgX4m z<^!q&i1mfjxmF(Y<>{diCDrNGVga3DQmamr8kpAouHy0HVIX|AUnr{soZ#vI!`V9q zXBI|l+Uc-kb!?j*+qU1>ww;b`+qSJvI=1u1w(T#c>Z_WXsdMJc%#ZzVSMB|0JrsKP zfiRp9;E34h0BfSMRbe2rh$rPJZmMwZpgUBWu3ncWnuB*uu%l`xz>M)p7ZL5uQ~uA* zqEW%>*~Quc^6Jf}la40B;4SO8MJnO&G5S0r$0`;jRYqSHV=x8+ktq@BH&I-gW?jr~ zEwoJgaG9RTrU=9BM4-khhxDbj4>PFc9`3MT1gEwi2SE&CUL`6TVKK!<==HJd{YBVpuF>H! z{{*+|4}duO4xUmq>vU9BI*X**B-2MrQjDQ;{-bDB5a~F)$r-cyATJyXpXz(cn(f4t zQ7q|mR^@b@m+QBFhF?n!n-h6SOC$P=1{ppVNy4j z>iv7lTUif@~B1|Kw+;XE6 z^@Ze$aEcZ6lmJwS(ikoK5s=yw6I)LA4iTJG;T#qK8#)jT_V!VskBswCtaLJUNX&h- z{#Fqu#-Rs}{FluS`6QgoiQ_%M>bJjd>CPTfhZqcf?N)E8y1DiBf&br-rf^PTU}!h* z0c5u2VGJ&ya=V;~RekE>?@4V$DgQuvG|Y(~xqOM`m{Ct{2-=~+Rarw(P<~BM9z3gz zhxtU=S=`ocoaE}B&B2qhO{?PwwrrJYRIY6^+EMR@6gL~cj@L-|$>)vj+V!nSG+m39 z;OCYRQ?i!)jR5lM*Z;gq=gjg^%k)js#C}^Q{a51M|LHa7^dBv<|FF6<`fn~eAJr}S zHAW=gX+4L1fAXY|W>j;fCCNT_eZ;jQJ~eYk~O*-R+=i#xY1 zpQix>6AsKuQPTkycLVIp3Z5hElDwBKDRcbbkewm(oyP%=8%PTzZJmCZk)wcEbh{Mc zk`x~4ZHgmlFgVE72#eqL+qYO!C94@)A}utgvl^P@MgF4?@Raa-qZsxW>r8@XQdYK7 zWU2aS_LA4qgz}KY@trs%O@}Bj&4TM_G>%B$?qpA~u@0bueR|Tx)smlSqNa=ms~aEZ zIT|H`x}y^?WUXHDdta5`I^WQsSUrQ+3?T0_I?hYHu^VhYuEmRxq+5M~OH$%Q-%EaB zGD8ud7Ir~8Ahj&}l&}S5WMirK^AcUgS64`QwiFPl z)2?5Rg0eP$NCb-k1oCKOlpgJ;tpwzsz;8U||ucp_~uP z^o{pvqvoq&eyuzBDieq#BE6Prq>l!ry})D&VU}D_m1D$*_XWyReZEP7v|%E&3eGM6 z!!(RPF;qq>OhROfqQ+ZBkgj_+}(cbgvt*p-WIt@_OfSF~#!E;S}l1Hog75$_3y&R$b4{|0?0$XZ{|`|ZjMfzHz7jQCi3bjh3n z>L&*V=@tD6r_PG3VCi3$*5nlDClN~AP$vqch+QMSVa+XNE?2Mqvz5!HDXTPPF5+d# zlpONq=x3B24YV^ClhuO0rU&z3gI^JE?4 zJT^A=hL8979c775OyR9VhA&(taJqAryN(_#y;?tWx27no47>{%$SnfN?KiMJ44t?N z49&~ur=H7~Z8`XwaM@Z2Hn?t5Q7XI66}cN?N@`nOKmQkH_@B8h&uHJl`9<<`EUGM%JcK8OJNe)l|>cs4M&OQE1|co+CPR4*916 zBYe)2=ecdBDKR2Uy{EsXPhafvpu5@?X;w{!9P8*GKB(UUH&cfAhu1qF|IV(aww{&W zDGtu6BSdtS8l8%pwrng|34S=r*z!EfBVNl_al%N`jOh4Ic_Nzko!Zw;D#b^<(ZOm6 zMKRNz;5=9@Nk;U-%{jG%I>*~i*$zYzRgb`gxFz2B5bQ&kujLH#NhUf4@u1W$8>Eoj zJm2b>eew%`ZJ~Z$1-5fPiGA{<#l{|O{pCqFb8=wC)gxga$JaDxr;8?%owtB%M@=GE zM4ugoKe78wFL8g1j)B)=9BSEx_yP~svpQrwfP#!7sbEt;L0c?`Bw0KHGd3bEV4b}) zE}GU@SS#;i2FaO0Y}$4#VY%Hdd&V8%FeDOB#-$dZnqn(aLTI$c5tU}O=AZ(LUmdxB zq~siktiu7`3{OFE960d98#eFum_)4`dRqc2_7VR&8oB zoLsmsF0oVpqt&R;?YtlRbHa7oqjSZTJkx7|u+k~y)J4m}2Y@+(Vl%*0{>J_2l;Rb6 zZIP1mZ&L(QYbu-Rg0d9_OvIw&{bkENDA&o$B4u?xUIN70q2GZe&hO)u0J~(BB9SgM=t(UDmxf}r>!8M`uV zsCGrytJg&(H<>I6q%tXFg1v%yiBW8?J#l~Ubpr$vOrol`IY`0=w6)`Yh$Z)8B5A}e z{9;3qwO63V%jU1fO0s}6vPm?wzuhN~wo@70U|#vv{)hE6%z?^>R~&{KK)Vhep@^YS zCXdv(uUUnrD>iY1);2Ab?hpw60);bDDR>kCAMs1$hmgpexf&Z4O1}~4bU`tW0>}v} z1=?5%oXh(WBM;MnW_n-@l*a^nRxC>5)`J8OaxXnXD0T}Pv!FzsbBs-0Y7B5bD; zYaj04K)FpDIK(Cg`|{X{b=w$DYD-#570~A|M5_I=AK$}Vv%_1FmI|l@?L;B@S`1;g(&(o8aDo1k#z(tx`vh9b}BS+83DV(AjALiPWqO?`(9Y!^3B`uF`a)aD(uiKs-IFS}7(e zNZ>HzKc<0HIK?EJ3@6rSO2=XGV7q0W6rJc>5T%4cM5C%uLro*gieDYC<`y^|Z ztHsySm`=37Y!U`V4I{f{WUqTN7_0XSuG=u=w&K%LxdwSeDZGy$nSFeZ4QGsT?$zy- zmvN+<`1uCw1V5vvP03P`Go+O~dNo2$b*Q-rb{Ml*zx6p-re<*sXdJ9E=iS5>P$WS}Du)gtJsoP*(`QNZto3RUI-o z&!dy7mwE8n@5hI)XM~64!UvgTx-~oE`l6p$Qpix8qjH0XV8K+ z>}p{uXB6E^N49Ur?61~8SZcRdNHZ#av&ycRQgD%6<=QU2_5oM7egCUxmD}>1b8VQ? z@2$mX=H%xRYGvU<`H}L#lY`?O_71lLSM_wFNIJg_lN`84mkwsIr zU~pot=w*ApSVA1;@^8)JlKQC&&t z16#BI1OIK-WX^^nRwT%)TWhQYDQW0bBP63g11rM%$m`h?r~L{o9Zk!(A79=dA7@Wn ze(w(t<90@-IA-&@IH|thXr6`BoZ)=KWU$RmClsCeJ;UBa^rqH?tQTFtms#^SsA-Y< z2J4R%Xwx;U&5Pqc?S%t*<5?ZS4x3!kJ!CN)OHvqv%j3pbh`1YW(%c z^xp<;Kd8?Ly_Xwy75}pu?8nJdySCM)&sm4thvv}=Ccfsd=^|w* z?Rnz6nx5K4H;?l@f{vAm^?th1K=5?vH=S>tA8rIi)aQP_%eIk^&C;@G=|q^54*FSl z-h(9K*yS4`e@p36T#s*8Z3u7=u6p4STcS+GnScJvZV-jo4CN3|lT8!zZBk$~j>g=4 zQ$iXnkyBE<}ogILS*h@68z&b>!;fhF&G$<<@NF;$VQ6PbfwDYr^eZ#TgE zDA(BedgQ4kG?BAh72FdH(s-IPTJeU@-B{er=;LC7!|f?0_5lA**izWGPaDZ?T+={n zmLLWXh03aZmKCw&4%f6O8~QP^{y|(7(Fe8wshGH!yGVg-0#E};z`3s*D7MG_;&8a@ zC#A_(MZW_2iR@SL@yT$CJ4idq>Pjw5T|R?%9N~YA<@-#WhJNG~Oq*&9y)5;7zVG>& z2x7?XRa+@vPtFnUjH>Y%AYgLRbfQB1UQ~*WC_yg3%3h9AjhpU=FL*tMJA&w8rvQ_O zIIzn}(z`DfSF*wAMDtp;0;Il!H$L3qxrMd41gn!;oufje-D{7swX_&8?59MAppwlXO z*fE9{Z>^wE(=x0!F4@l=z2HKp%lQwGNlXr8Mw1|3)gd$9-}sb-Fx*j!+M)-rsEBYrkJmmm5PBEf#B}xXNc6%26wmX2mxTex_t2Fnd?0rfn z!ut-M`-+4L!C91h!f3Qj!_5bc%N7A_HTmVm)lt2+@{CGHv=^|8iNc>a>wDZN{?H!2 z{!h7TRx3pdy@-l>V?QwmLfru){iWoM2Q~oXVYBz+jo^Q7WSo*ZOdm3Rb3URVApHLi z$A_VX87rNEv9XEqchO{L`@f^Oc)P?KXxr1txoS=J(*hG{4>f_F3Np;g$eLEw1I<6H zgF~6UB(bAEJQcbFmoYp=Xm@-Zra70-Jv+oXa1q|0Z=k{DK4bk}3HU#D_`g1K{a!cZ zn>z9{@h-?Lh6^tuAMf~hb1ckiKQ>Y>=`OD3jTcJ_QSnNT*`!;UE`I3(FI}4TY|R;{ zE%{gT)@pK+&z!Z3H-2msH}~qy2&YWpaxpfy)`?Cn+OEu*np?dk%svk6e=y^0`o8A& zzHMe~eNkwV$k`l5xzu$e+zCb_0QG8DJZmOPaKEamwpt}sH<{m5ZQBPgzx$HXjC^XwpFUjX-#s(@Wdo| z9+=P+Ura@lBb=({$tq7zG3Z7`K1+2+gdYpnO*=iD>hS8BgqdvA)b)o1mm z*4~#_w=d26)xuYF4uN{{msjM6+OzaK`<-3#R#flu*W5eZ`}lS1HpAUkieKeN%d^!> z>&F&$@5LwA7u~DYS?k#rm*3fk&Gq8S)!udMtlg8FNuyhHZ7hun&X>)j+ntunbv4&J z?dRQ7&k2BR!IbM`Z`^MnwM+H+=H=;%rHAL)rYZ(4Is3EiX8g^<&v`$Zs~hq7Tgc~6 zF*mJ`eme3vSCxK)P@fdLT1}m0wyKx4Ig{5w)-R`qiB+bfz7%{d*%iw%S1@!F_wylc z4?Z79l7F(P1T@4B7}bSgxX5%OzrwZD)+=_|(4L~&a!vRW{#DS{7U#xSmTGI=?u>>q z5LDKh`o@NrE<YpE9{L9pssI{ES`m8?;HLf<7ylLrrh<+j!pN=D1Zz8ck$-Cph?e zCb+6aRdyMl^8sYvohlV%mLg13Tntm6D$O)5=G^2b6lKmDryjJ4ZZR4A?a z8=RrK*vQaTg>VXMlLHGpUTR`}I{ufhm?g%9ZDMg>(8}4J3$66|Lb!|@Nd_PmKSi7~ zPY4-j#yTtlxQ;ZqrAW_HPT#7lmDMN6cL3C&B|E36apr6rECUv;=X4VuW8ikHW{u%9 zSrMunOeV3dY57kU*4;--P;N zE+#bTN_y|I!W*}o(8LU+Gj-vxvDkuS#8p0RQxbctEctrRd06auM4=bA&R`o$YHFr8 z|Lsfu319l4zJvID7Xo$>%>{gd+sv|H-xOd>xWzW70i)Fhg%?{Ri0z_4WSvQrkPoNYe5dF4`rsANG|R}CmOOp}@GA@S0pKkE z6n3AP^U~?s zb(0ca7uhm+BSqt5%A}vdCLmPoK|8mXvslaQb9f|oM@6aPLvAbj)z#1|Y~it~*f2VA zb{un@c>72Zo;X`N%})Q|xH->d-|LxTpz%HUT@4eFbE^EBZ%Kqd1f`)w!5_on+KE?A zD6q(GZi*&l;7|)n%^=_k`DaRy{r^s<>ARUe0Qd;I{awWo>w)zq0@0W{vOlP=n|labhgjHpcuy-;92p>fbr)-CPB+CK__6HP>9QKMQ@Lt6pa) zygY#Gr|a!W<+-HssrLd#vcy_2hdZ&fYa9Z8006ax#1c9MaH6kLT+b64mx)H4(P)AQ zK&cUB4EzNqIbmkGj()>T^8;*8UX?eDXl}lBaUNryDcbrKST~rhyL7*)y1fq+%!-(> zWb7=NoDUa;M}JtQ$*)!nbn7XaVjz$-RIgn>xnnH9sGfYPC2;G79l_nVprNBCbHuTv zFmDjmVySUVUbvi^z09LCm95te^HI{qXmF3mYXV8ADarYbrL*Wnucx}2L%pTIsmzO! zrloGPq|4G%3=s*Tr+Juq^|N^5PwWwkpJCx}EY6i;st!o6S7O|lZ-tDT!v!AVxqBeG zt<}|w%5<@3%}PaKjuqeiKbMhOogIu3D)G!?Z1;f-XLAz)t!HMn4^<)o*bY05ELSb&h zCkC1Kc_?tK%9B`zo`J69=(9eZIh6neTdpX*QQpcNFWzxni(8=*JT9I+2&{~rGkuU~ zEg!|W){Qw^BY`z?8~76{`BrvMp4rPNfg`R+>XXbS&irVoN&3~D(HKtG^SHZgOjXE1 z4xMlVq`kj2(CEA?8z$4F4vvEs$VZ~<%<`_BrgxiUx;bW3JWdCz)Hn1zt=qxa3>{qy zB%i_X-(uMETaBUMlDf_A4?|V}U4po}kxV96^G5t3PbpKK&C$5kKsUXvEz&zY0+x}# zyM+h<^5?-Fu_#)vby|BG(G>26^@M|HZjVcHQQtwGP%q`ne#VXVEuu3fL>+v5_qKyZ zZ~((|mHZMnU*_Fv{Ir(0?`|cB-riP}U92}d$r~|0=`+y)B0m4WQQt{<1b&;B;za>h z0;L6p%Ps+#S+8&>gi%NN|IH%<#j$P-oFfl;Z?Jf&O zc_GKezxMoWcMN*wUuL1W8M|;x8M^;g7X>}2=-nwH^fK|o&ZI=(H8Uz-g|xkI!otP1 zc^dw5TGVPN_fYAxbvx>OPgEXdZ3e-B_!eI0vua9E#S&e_gH#Mg7Fgq>D;h(fSXyTQ z;>vCxr6F5p*Hi~ojg&&wHO1K2pa z)m5N>Rx2u#DRW_ZQr9buhDyB|_b8?-nD|pu9-cR29jMm)byH4`t?Vk^m{LWnQQ#EN z93)&#R#X)G-{dl&v8oas2SU9w(2qntXN`D-K>07 z5OZ6Utc)qO%sIt;cPVgBT#TI&lG%ROSxZHGDE0oW^pT0}OsV1h2g}9k?py#~4s?n- z4af3Ye-Y&YM4>a1?Y3`TQ#Lfb86h$4K`}3*DYoeXqQtofa_fx*N4uL+-(vUNNdBn`4QsJRg!Fq`ib;*@42! zqqA0dA}t%+hHbSKecV+O70CQJMoT?U5*hJ0FYXxhdil++iRb#iry{~Qies5zB)O=$ z%B=#ppc?Q%EC$HWtdnf0*Ob{neH0NU#E|C5&U025^ApuR6(Pvb)>Ragi5QLc6AWM! zS5ECW)WT38NwkX=-v!vwn$620lxi@H>H{?i4Rr;qkL#X=>8vcV=80IO(jcRNma4OI zJ!Ndr!SQQJ&hGFF?ZpE}SQ%yhMlt1fLVUtRW~HakDir&6r+M^fwg)|)&%CM&oW<4m zNYgA2v}XGHwj5WBKSs0q6gkSuN(x#c$f+BSe-M~aYg(0_muY3u!tZwOGnPEz{ZNI< zZ1130;1$oOu~P7%kQOx9;y(2?38cdLwLntc1zVt?GM`=5yD*>>t1uyc3P5g0(BaM3 zj7`g7|KW7-jL`+{NLLjJL%xpPGaeHJm3X{slbT2!TG0UoR;=QXPwk*ex4R_79bGx% zGHOFV#Enc2!8}xc)vOEw$tzf76%T@=DR1NUx)0fFUhFUVC;KEgiZ<#B9`Z^mgnZ=a zkK0o78)X7=4%X1hGu^q4jhdn|(KFmpuPcXR z^i{89k2;gU5H{Vu5>=2_8X6Wt4Hi`s5j%{O4AjEfY+$&Uo6Ulb&3Btjv1mHL_00u+ z7nw9tkq)I6kqWX}*D4+uzbQERFAbr9x8zE3s=uloCE8Oj`y+>&7GPS3E+4r`^d|rY zvqgXa8eOaYIe={UUbTQB^`955huI0AG$O!rVh+`pm*^7Y&p29a*Rwgm3pt%!|0fxQ4X;lC(Qz|MYi_=RLI;d~!*|9(wxR&&~ zjUb&HMB^*LlQx0G|COxFZ)9DdA;kclB3LA>Yhq$zRILFKg7{*IP z@tcxmKb>#--u=CdE-t}k#M11ih*WB?=PR#~yH90yPi6H%6nK6MI=UvfX`LCcL)RVp zS(V^+C_J^L3kLgXD>8zQp=+60R=4x!F{_iiVW>-zaAWg~K%vOhU`o@(2IGgGD}lt< z?!c4I`sn%SdR{uV2C8?fdm{xXYnKr=0@IF;L2XmE(0WvQixZTRn|;M@dys2{2VWV; zCEjN4ylP?~fj6qJVzf z=OxUkm!piq>90@Tz+bP}gCKFA5{o{*jxTr;I}FdrFt0bnrPRGeO{krX+x-j>rlv3b z$fiO?wm^St*ISDC^$2g-UkwEyF88*#BPJGcKscvrZVVUaOFHLQ#BRLJu;-?)Y4&F{Xj|MS){7>Q?0&~yc{abU(Qb+NffjRuGjUS9? zaj2#2x>XXT<3Ojm&A5IUoKto*ta@4`=ptkOY1?tVyrBF>rFZ_@!meDRzW5=Op>d1De+wEFJIjfiR2T^^LwDh~F4V1O)k{=gRk0-l3n zaiHGeAoKtxnYnLC_kkjgT&O&E+I$+{26bi$;W{?3G9Xw-x@*XA$7(>s9Aj>im;9fW zmoD|#lQDm_P$txN3o!B-9UB~M0Z;*AwB`R4E@=98o#+D08eK?VLSasiFYl6}XkzE2 zl)z(}j>+(wkKgn!u^+mW6;5vUes{&VZFMD3sqZ9JO7g_Yc1j;)D_ zZt-5daa931(2cd%Hd;ax*nWDiI;@^ubL#AD&k^RCu@0ig=EyzR&PBqWCorWNSb<=V zrOk^=-%iBtLuekBejA`^8}^#DehDLqPtKOB`2O+ayknXIY2>}JaOqqzWTZNz4RH^N zv(T(zReP%v97cEQh^2HyUjY)ct{_Xe(>mr4)#i2nZptaMzAA^MjK>C5;XY^3TG>Ev zBVuRX|)E=09IE(O=9iU{`(T9Z7=nS%h z!c}mn}1FS86N?? zuKL_vSBXLP^>>4E`6EBx>+=IkrL1)g1mn^38n8K;HD?as?_iukh@ASnApWioqbLoo z4L1R-0<5<9ojoO%I0DsLKd#HZincA=Cx7DbJdr^-9mH8>z+r3Zc}_Jf}v7;P{G3P zcu^^)D*=c?35u%{7BBOiyJT`5AJY=e-PQK^7Dev~RbT2^gCv{_lGYNHxM3_w{Un%S zj2^_oHwXh@F8%oh57aEz%!-0>hX^>PONSCP__115^oT>n_Inh`$Qw7IU+kciHi$cv zi$zvC8FBw(Z~I)p3~v`r<5nPs=tqBAa=ZkA1v1mr!!yKcnzOmnRIJX0UM2D6-A2Ya zciMhl#dv}q%DXP{Fst#GV$+$iJ;fw0-r$Ihz$D$BGIejklrkTq-d68qwb6umoka{> zKF1k+yoknln$V7#7K2D{-K^R{e>II8^0t)xnymVpT{K$|bz1*Vf2DJ3b656*evlsX z^6m}5Qce?R@#J*yZ0^^!qzsh2SKZzw!r*nrHMi%F3`$-?MG}AyKMZ|1JMsq6-K}+s z0Qx1soVjV(`47V?Hx^y`m)fBl^F)M~sO^BCOfr?@(8 z*aD{1@rQK0WG+q7FAh!+)*dzLD3SjX9^ zfSb5B?KpL`lI9ia7CW3TUFnM&Tq#GqUFLv(ibA}Ct z;q9+^V&TB390~1Urh;$*Omzd(U;su51rzJWk|KwfEopFLVL3zNeLYTS$?e}t*jk2M zc4XuIJGuFuv_%V33RAcA-Z^WjiAqDhqE+hdG((H<10h;F!+E4kqDdSUg76F3bFn4` zlulT>ra@n-T-o?Rf%D4UC_g%fn(#Ye9`#)hq+qIQXOoFICUx2x=9Yx|>ZsO{_Ca!} zct+!0+C-vidXoxLsTp>(bjz?7B4xUWlNj+iy!6ZQ`|V1at>1r^GA6=|U+I5SX*!vd zNLop!JFGg>H9Dlb825#84dUJwB3$bH2nyqqQz5^*i6 zRrj$Hs!WX4iqR#}7Jp9mRo(GNvA?RV(+$0efg!l(`}WnZ7MxUbx*?ApbDENGWO(8o zfRn}Mt5@cqCid}-DOq^?E%Z-x?OUS*VRD`mSz}HKa;f(%38`T&Ue@ag%XDY>CQbQ6 zfKBRK)6q;4J86%#(IY_5?yYKEZ9>FFa&Ezr(rU;UYx!@*c7X#gYJTh5XvV!UeC)M@JT|qR0iY%4nqzc+{*hp>lS?R@&s$c5O^%Znz`v0=aJ*5|GE1FgC zB0YOf@m1{PeNyG&usJMo3;PviT`e>8KhU#DeEl10oM+V^Q_`spRFdY+(gPjE#yDx% z^VjPg={nXa`DN9O(AF0Vs7)oC;TEZDmW-M=D<1r9Q!S0+o*MeN@?$)j!+Sbz>(^bq z8hmB5GfwXnj?%ccRPRW0DO|eC&GWy17XLIwaWcLGaN45U8ku&qKvEnHUL~{xhyJ_m zx56ap9r|`9{cocREQ&-LZ6FS>{k=R8SHyZ9?WCLS5E_>-W-)Tn>`yt4M#Ts=YLGJ4?vbHkmIOrO)axID~|)W*rD8fZ)tI;5mHLL z|18G_&bzA-Hc8Ao2+Wt;cefB)j@^dbk%Ox!_aAgqDtJsOQq@9qGTy3&W#dmVDuN&N z6z!ll&C|g1hadUZ$Mdw^x+1&XETI9H=f4|rxz%MjnC`j-I?^qiU^O@BnmopDh;zD{ zn?39zWnwdJZ2rx!BaSkbR=?|LEz%>5#LmiSkyB1qkL`j{=xOOHYu&Zne_t0bEKSX2 zWup+KsmzU*A%<&n>NLJzH(Cz}i@0HZ(~JT1KtDSjaCvT$32Zh&t;^`#azBYe*#K6tRSfMetbj-Z^7>|q^IkP=WX zP&V;_3qdPPEf|LZ#3Z=WQEWr%9ysRgE&9RKINc(il{#(4t&pYflmcxpRbXCP)7yW3 z>awY{h@LWb(+!rj23BRyC?Zn8hC*p21Q&Q&EaNt|iD!Ig(u0Yp7hIBDJ!gFo)e~yh zlO7kg%s`&SmBC*pTz)xCsZ!>C^9nbuUt9S;VC_x%KKTNtxobRrpX_#zR)lk9o44!#Y|Jr5ObUr(45Y9E`X7;Xm z8ftrlimjbe>V?U`d(XLGkevHwvw}0$Fd`@7hB|0hHCogex1VNz?C|7^_0h5_f6kx6 z{R4Ht72t!Ao)bUuEQ?N~;?X$U{)2?DYLI`Srl)q3vzUfp<(^H_he*!zWbv>@96oqlyo%zHQg|5C$9Y zK7ZlCw)8~0*f{?mrlkf*(?o$ZYYRbk^GlJ4+u&}}c$#?xlsguZZ>F*E+$`ZN=V)PO z#2@kYlI}5r5!UsqeOh8~|m z!Zbo5J$^5j^)O;D3988$>~i+aToQ#bY1O=lKf$Xlj;=X#j7nLGuEn6jNpYH!4M?(Y z&+m0h#%`t(-)z)G|4wV$@b4KbAI&5Q7K9xB%_~wvaw4y&@r8VH%9M`t_nFH3TnDl7 zpQqgEP$JYx3w)AV(HFZ2Q%B})C5g%!Yn|KY*I zo|8cOnbU!wT-R6r?KYZEM3EM(zm?JFjPuK&cZ-`>7|)fBgPsfbVmsp|Dsz}=pef`U zj zr_C`%eO4azibN;KjkDQ{zz5o;%rGdz-6f+-WHDOuVH{7vRNdb*`uK-r3FS3ha{Kud zp6t!Ck-nlbH5FN=&Dk>{nTBu_RF zSO-uB1GtL|syI+xw-tZHM8}R3Aby;5dPE898tcDUBdaddi!p$CO2$8?(~Wtz8kyw6 zp$`(&-v+`7h;-vO_JxcmPtXCnN63H2f&WVK`lxt%V{=9c7(AQxO+#Ts7C1(+VT57(VszaT*+rhp)TjZ>=vv%n7 z)t2^bzyV!|?WXx|v(00)4mX6do;aIq3w`0n3G8c{z{_l~r4U`6O%yvC!+LFhlDzN7 zgaVf(|Aj=F%N|l6+`!E=-Gu)|?C=(M8sHJyLe-=+0$b2Ln`n5CS{EgWD;it^8s1NAXA~&}zEXw-|tnU(> z2{+7+_Cdd5yqchgXPqpc*X9$e!mk(=Y-eH(*RbeU)}u-7^*t?ss6<#O$wPqdXfOB8 z8YuqT)tdifNcsR#!}n`1{Aoxs`La?_`(p+A`s}IukXmP1aN*$K2@)i88n#MZJw3u) zybEMQr90A5RlubKhjH=q=HdLCnh}xHgX4xt^7;|cC#IS+C-Y8uw>do80&zL4;W#>k zJTANXB4LNtvua7wS@=X_6{X?S2Lt9I6?d7qAzk!Vxa#L==WwJTankA8VY#R}Bn5zC zja2znMoHH9Cvr*sgul17{MLokppPJxVC#Dx%PTzn3gN+9DSmf0RlC(Xm9=wOamt*K z%E3VDtl&E$O;{_=pC!xVQTCdL&;03w3&V<0C4^UGTOk*@$YY zTsxV@lO!^Wa!{>JD@sL_q16smIc3|>YC0{U32BqnOZ~PYVf(kwJ@r18;p^H~=V$yH z_UH4Z7f%A>?9(EyMz+#HvZm_6{j=)s(^ciE=et(He3v-iGnNmYVf| z$2p&z%XwKTQM?>qZ{FA3EAj7~cHT<&+Wm4Y5)CEBeaSExOXMg%70*^b4qH#&yXq0Q zlkhai+y9(lnV_}Du1xmt7VhuAqjhs~51Ww(?AUI8Ngfo%X?(qWeqW6^_44LVd`NHp zKU0`5N89LPOlGAb59K`R(s8a8C3_4S;^S}f&25dTsl;Nu?Y1*hL^`4KYQ`lgOVQFN zMm2;LBvr$Z&CLo04NA0k zHx*$#m`9KO!ffX6HH&rsbIv&Uf-N87{9?=*XsxgD2w=3q@ZR*V+4?&#sD$yO5`py0 z1AIoaf!Ce4aY0aF(Ustl9a_}dw8^PC+S=Yk6OM&_4x_D8MX+W}sYUGsmC zZLNMDdfuO}597m@U#%TC^H;vUxrhWu_lIxkx^nlo1t6;<`sv`~&Kjmu5$b9kb&ey{ z6odz z;v{Nh3^J3Zkd40aU$*+K6KshgqQrjPclv#_#zOj5s^Wg?h<`D7acJ%$yn|OR|@xm8=0dVWk73-;aF?wE2Z6g zTwAgwLL%kZB`;dU{{W@w<|P%W*PB+Z;wZ$#@w7d7dCYg?%BLSpK6KmBt+= zk`*k7Wdr6&*SoR2I1ZY7lVi%(^(`>z9|0{I#Y0#z^_X^?gOU&e7ycM)1FemDr=z|_ zm&M1N8VXnGaRJ}4zZ?WUxZPudb#mMuRF8kj$^*c3m^t;k{Q|eT)7RjUQr%#keJ)N5 ztDoaR+i3Qu#4*4mwL$X`;r-ow6rVkXrXg$C(M^q`!8;XAv&!D&U(-sH33q=)$a!*e zt9b)T*R=OvpoeeZwtIn=Eo{Gb-CPcl{Sa{Xt$p2l|l zNEYY}1L+j9{YP+84yvYxssz81#f1^4A)=q!NevJlQM+*y!}D6eY`Dl#S@OarU+cl< z(_oo9vFSIVVxlT?9vsiHTICs_&)2A_JXl-Bdh|ihj{v|kbX^V7JHcIw26 z#(Usc*3GRx4OAKGXN+Lf6`ON%tEP|>XRjj@$c?5&Hq2}KY)u>?6Fv10kjtvt*!w^m=3cDcQ_k2$pVmwLi{vS{s_}e3;B!|7~tG3rC zNHr9(1V4r$*B|R9-zy($EZ8y|XUK(F#$W;NHF`q2oz~rEaT1}}Yk4Uq5jGhG zng*HZ=K+x_aG1>f_>DRl7s4%iji_^%-iwC^6W25O!!a|?@dK{N+-@c}a#3W5_S#xE zT`hB7fDx2EktJwXzzx7(C-xlMqSXJS#jYVjyzn;58U0rEx`eP!7%>!6+usW@b0{Q;8PC}QPPfoa1qEpI!jrHxP;49%e zUHg!`;VtwQ^ZBq(v?2cSh3v1Lqare#!NleRs>+ zg`m6*--RG4=FZt`@&!hJ6fz2yeTFm3S+bRQOB%bKgK~14sIQ8F4^q4)$&P#Go~e5f zh3oza6PiqILC1EuP-6wYS?9`3Vm}JT=8(((LEqZ$6>EG_0Kc{4pkvtY51swUI_D=G zIQts7yA~YX8}ZG#!HKjKGn1;xjE@q-_-Y~@<-t|ophsnoIP15}Zc>0_XJz?Z7|6ui zIc9P|za1P)oe8%8epF9>19gy~ceCeD8{zIUwNN*fo7(`+${s=fS}HU^ujnVFg7}C{ zns?>e$7*E39I{dkAutNqMAV+<-BmSYFXhYOe;sFcysp4!s2A@0ihg z0o>Y4vpBX*SEPr)^c~tL-JFO~mXKVpN`zxBW70d_Wv3r|TF-BthCwE@9Ozd$LEHj8 z7{N`#3IA%SWALKWX5>TCAfwrX;77odf0!{$w)7xQkiB<~+G6lMAE%5KH z{@Em6Wa)|8fi4*1NBxzq`gxomv_$EcPQSi39j9n)hu3#D!GdYpqO`go$s_;yTrvX0;{%W` z-laZnGT*)a?|2FOR-Na{(rTqZe3PG#=0 zN(CJ-Fc5z(ebG%_dU^S2b4BpJ?)A97`F?KY`QY`M=~epvc5d~4e(`Zh@F7_LR@f;Q zo*6lP@qR$?@ov;h@P7W_mGF{n!p-ysN_ZB(&J?*40=$a@GJ_wI;ki)WghpPXkKae1 zZnED-uNhrDJ4iBzPlTSYh~8eKkKcsvyo`^W)?Ts=yo?8s#$Tf)x#|W$itpm0nIhLu zhhECHlR^*tsb0plNac6g_1sJjOE2POlYQ^m^Ipc`lm9sHuAVNr2#ysOJ{J^OQW<=c zjQYO+xS7)VGQY|F+T8hZcAtF9b-Had^CtdGaR1t?>8^ZC4vus@&Mki%-R6hms+$!e zd3#FnAW5EFyu4w47O%+^d1j>Nid{2ecunjV8htc2;7*wks=b}2@?;v1EV$Z^;9A=T zxjkF^Aw67eQyAsFjV?>7YUAg<2=*Otq6KxpE1D4)yr2+8bC zr@SNJeKaxZc<=g#`JJwm!0@eihO6whvCr#Gikmo)pm|xS<5?%4i|VEq-(zVW$?Z+& zg+LM9>*}uDj&yRZQ`|fL5dZON6zZ=3igb24z2Q~YNN{!sVtJhs{IGpvP5!txNriAMdb#r$?Px%f7vFiYSGHP!h6n>DA^ zKiBzjluK}w-E!G_1P=IU&*8fwnBNTk_3p64{QyVXTDZSIW%4*WFoy6nGxL032}bN(0a|O5!^is zwZF)0y3Z97+}#LqJ{6r1+}#Sb-^x^a%(X|l-sEyU6=iZAzYB4`8?zDIZ3}sP$Y^=a zSrObV3bjATaJ$bL5!_woMn4-Ycs(zJBSU0gFXS&h^+6won_kbL%mm6M?&~{(r>jW5 zZJ~}kqRz)?sgEHoFH{O{*l_}vdA5(}%-5k8ZrEmmr$?dcm)xZnnbQw4bT3pfZqa0d z{^^I__aiCp3rsHpFBJ_rJ)_HL8?QK6g5>GQwOc2z8@G9LJTK*Lq?7mD%U2oaSF*p{ zkY=}xF^&X^`;*)Gf28^|nIDJRJ)xIH`!6d~Keh|8Hf1o5X{csrTzMsW!$42OR24bl z&9>X_iHZi|<<(3*)`8>HN(X7Fqwl`E*!CEQ5mQ_}6Mh28tJUHY_E@ub37V)<(IJrpx0Q2cA#Q(A_t$IGa=*DKbS8GNyq-|5-#x?~*E zfbNMr```>D&-^|$J{{Ubn(|yHnTLpu65xBa_V_8i-qiLoZHeyqf z?YSX`5zY`8q738wCg0A{SYVuStC{~@`1iu&^8wQ@+j2sLG6YI<;3rRUUG}a_$tKV% zA)2{d*j4oDnZe-`i)l>|6QR;;zB=w^*NiDyY6062hFDAKgdI5z|K3Gc97NH` z;>EmW!)aQ9Z~SNR5yLDeX~!jzwIMH;A)%V}_S=Tl4+uzT@8$%|314 zP6avqwCP3_X{@$1qG>+b{yw7tm<(8K0AuxKCTn|Qx7&`!&C2hvgvXTdN_7;&TepaK zL#-Fi51vdL!@F;|?F6Jl2-$U@1ccdNkATyPDuU@8Up$l-jZ-a~)WNNPEmHZY<8Vw~ zGYr}3!_7n-_+Uo$CL5EqR0)@XnoBmP>yL!R7T7R&*%tyEHrw8FNdZ*Ax@@r0c7`fO7dGe}56 z6G~Qn2+%hwcp!GaGL^Zt)vqa2_GfQqiatBdrzvpad#MvH2^+i(h8$s*%|FUauqcQ^ z%UyCNW+Q|nT2jN6a%qB)ZTplk*EcLg`PP`RFaM)_c+$9M9&S*H9rcp_3&)p6&@)6j zLWUl^L>Q&|m9y%B&;j1UzBOnDtq`Av=*Y;rDbPIel}QPbzEyUNU#)-f7f5fysM$SF z8#9y-y_$?|{-Tc@X9HOM z^yanCGXqjf7OPmkuROT4fr4>NUpn?ErhI_|KKqpaXAiYhKU)3GoWyVC=}~Yk_E8Hw zB}2(*(VgV2ldOLa@)}KDB3+QSVb4HdJ2tVw_Zw@k9?HmkJVzpPmTLBa^Dm@`k_?^h zmziE4`+gAqFl$CvQ+>OB*t97sRq0c*xwX&~{NrM6<~G&`qv5+iQqJTs1C=<5>jEUdyr1UzA33ur8|ZI*c}}pCl=yM|j!&*AZi|O&QJQJD8tB3eF)T$$`+$ zDN*>c>=LDv#O4x$e{iw&uZH(b7!uPU*xl=_j{n%UBz*YB{jWKUa`+G&Ba-(zrqwnb+$w7DJq zuU~L1)Y+Y9hDD-l^LhQItV>glsh*T?wheQT*eh2iDtRu0N2?M;LtETCx&b z)HF&}T897e$0#T8<`P%O)O#1IB2@lpN*U~sxhS`>(I>rrIJ)5}H2Xm0!u^m{&ud3$ z#_tH(46%2<1J^YuN8I8P4p5Q_dD?W@K7jevl$o-%DPYu)N zmrdae&Huho`bqIFYOe`tpWm>Pf%%W14d6%+>@6R$uWiO7ef~KO0kr$2hkYKh;z^cM z)dPPi6-RaV9h8+Yqd9ZZtw-O*pyIobG^LM7Us*T|L%7Oea_h|VdIT2)m;Y*j$K9}T z?^_K|K>!GuU+9-k?Nv& z#}rZ!q7{429P>^GzgH4s0&N9~D#H4)>+A=A=q)Je)5wg?V$4>!jK2OS9ZCK8`X9J2 zAp+(ewMFbS{;2vu``ZAPE4fLz4(2v+u$WOEk_|&AYO0B_@$l`?H{GwqZ=bXwVX1s~ zi|+*9LIV&q%C8fgEUe05-H=wJhJ|D=!+Tm>%TZ7bz$ew z99-vVPGw&--_naDJG(-%Q2EHc3%z+rRjJq}`<;36 zJwl2kvt?)BAZN$mBLekVKDYYIGJ|<)RV1C6jwZw?s-++%2WFo>XYq5EVLAywf@tBo zEPYAcu6|;Y3xCwsi&u819M&}RHAqh(6>jJ0f({{{2;P#8)7PrkGK3uGB7_igkK$)r z;JWt-_8BM(hKc{eh)R*7C9sB5q3dZn3f8F1UT1Gz)*kAi?FC1andp#3;tKH|wPVBad^4K%BgDRPo zD8q^d=X?dQ`6TiSRbD#NJ^SeuI5N@a#cT5ZBTgQV;7a2a=51?#wU4(I9YG;*FxVR% zn;N$z?@%*KDSn(<4YHzyPv??qOC$NhNb)`hkN8B`ktl;u@Bz>4Lg+`03fbXhS++tS zFJ2@d5D|?8b)ugtsAnf1Aii4Vwk-isiXXrMi<<5lL;rXvw;9E) zQ%XrOA`Y2hW^QTSFqj_RINL~~HI3T*m=sfJt`1riz754JfJdMMYu`;RRLSv5@&1iB zsI)JgA>yIccbXi>c_G|Wls4@>{U-Ax1NNG!Pv*%Awiri0&dW85fUnzs2HI527*m>? zuk=SP@tDGsu(p$r9|Y(ZE`_yp}M_<$VSl z{;sX}C>-<;O=@_Bpn9@cX+z0nC}xS{W2WP2`NHKebeL;UU9ogk)=jz`O`>`QV6Dn! zZg)615mJ++t>osoj{;N5gT6p_GXFBpRt%tVL}{Pl23p`a?YxknOVK9KmiFJqB5_#? zBZQ|eT7hK&H9!{ znnrH}j$NV6;?Qemmp9)*kLmswi-&J*JnR1XISiajm0R%xpQ`b-9nzBGp(n@=iI#99 zLY_Oi^mo6vp@-_&Q5p1wznz=oB2epwVP^k~n@|>2qRon+BvOpv_j?-l}3p;Yk-U4TAsf?m3En;7f zM?{SombpV6GbBUkGDbYn4i(jGh+Lfx?r z7$h(mKwr!Y?3AQjBT}?Poer*a-gw5hD`yUs;q6*SA@^1t2hx#If}! zHliiQ(Od}2&FrzK%Kt6WoDk70sTg)5^8)6fDHeW z%3PuKXdcYs-Z_(%+0Bw|&F2vbh2sVZ&+5(@%;MacVtsl;4wAUbLL~dfrug$dB%jG# zt?F(&s@E364Q*Nh;H0zSbA%lUqp6Vf?ym!Rz$jiCrr7HfU+U}9D?G-UhaImctL z`W9Qy@J;ADTHZtsOJAAa0#-Xl1|sGIyT;yWXgVMg50P)0Y1;7a7u3Km=ejF;tD_toNuBq+@?t)6a^52L^H@gdO(xnQ2I$B2{73NM&N1 z*Xv8AsFG?sLEvG@F@bi&L0E|^()Hr2`*vP02!}lzSE1eg^7#_+LfV*j)O!OroeF($ zDQ&kQs1bRCQV2KhCdQ7)#$w8pAzQFKetqDjq8iLa%<|F^5M!g`GWqC1%(N% zZUPx8H_)mRZdV0DCE)@7lBl(H-)zh(S0rj|2(cO}_-`l!O={jad8eUKcRUHqi&GK5 zqJjvFI?O%Bca84~$a93n{I)(Iq)EmUhy%(cEWJihB;K+@iO^iQGPm8q#B!9Il4j@9 z#WnM2W9%MarfHatxDbo%1}!D8NvzSwMxbs9^+> z{2uH+IrPxCM9@hR_!mvokkU{r=1+#aqq&YnSUB8((XqbqZg5A8EL84yQwZRNa{6^{ zS7rGU)=(hbwN8s~?y)F}6}? zOs&%k1s3TI3V>#Nc3+3B5q}&?OGy>9EQ!EKXb|!AOip~>TEe|TpqdJP-mhG5 z4V`>_ZqUHjQV-xmvDY83fg{F5#+=2!i2<|H^6BH9Tg(37AC($47jvmouL3XR=cRk* z&gIUw*h)ln3YPOWu7P@zl1h&5OGd~L-PG2;?2w<+UScT*@R{a#|?p{_tFoI>AYvRogt|c6VydrTvZO;Yb{t_N}RpsUC zFN7^Lx7;N3)Umto$o$RmvhP=U#FIpsuEns_zKeOl?u_QF(X|+K0Fx4~QyF+1ea(d> z)RejH(9IV%kC zq|SuH3La0Ka-5$a>@-#q`qGC@pw7MvTHF`Rh-?gFm64;`N>lI*`%QISL$AZ$YdSmc zR0}r zihzE~hRAbmH}`e~zo5s{&eb2Oyzcvb)(T39g!$o8r$%+go& zn}~XnOLooExT&$5XBYJHtI$Oz(wHD1qPv$2(+vm)n=U#jI}cK0!s{IOnj*dcF~y{r zIF54;ayX6U8*Gh(_T)NL-^- zQ|fEL!yb5#H9*Q#V0=L~>yx}w%98$Uf8WQEWmdD{1v-1!{i+h5!Q3Rp6Mp#@tK<@SU|b#7QD84uQ_BnuA^fU?bLREKALgt1Es$^ zIt4U*Bwek}qTeipq#Ii$4>EWS84j+Da>#bD;uA=GJoX<+A^^k5JPLJqvL}zYz>?|{ zb{4(ss8XeE>b0U3#m#J{RKPv^n9&0d+V))JJXr14snKrrrzeO?^tKh__Nv?|Z;&5@ zWQn%?QCZ++N;t6UD4>=z&0YST{%=tV70ijYD?oFdaX7Bv!5N4S1|;rg-*J4>U2Y^FpX z8Z~B27pM!3?*uSfTED#Rli_uxL6kf_&y(#93&(=<vBBUUNCe+LS7#+iMVQmXQs6*gz>TBP$YU8{lqTzHf# zOXvGThMjBvnv;jO?*VY?BTd6wqhLcHwUS?@R8_vVKOz`U(QMlCYIx_FmcnGK`l^i>Co#0>h;R+z5Ii$n*1cT!5lvsEOm>oAUAuf+D>)2KA~w;|U-C^8YJ@fBLRDK* znwli672iim6_Z?;Ngk>upZ2EU$1KKaIBH9j`M{If9KL(A?`q;b|GxOWo(2svh2(Uu z4hwehA5W{v2r_tj*@E<1hK)0K)1qX6SGzB8iWUnUh3KYTCq}@Rq?W& zjJ8LvG5xn_oUt88^yKYg*lhQ19&B<&Y1ca{*O8aNc#aUbvm$0|3|t&uMo3;9K1YOJD5Fh}ajo{digoIyOG|%OuLYR z9(vulT`z=g-sm=w_F+!msM<5jANa4x1^kdMjP~D_Ix`1ej`#}hJm)tnyI&OCJLftc zJQX%7CteghI}0ur;ZccZ6SC%c)%*$&YcKL%JT-W6dMtM5-@mI0__oHNrel4pYgRI9bx4)MrH7* z3S8jLU<@rqO%ulYh8;UWGB`*RvordNe@n*E|25PX<-)7zSN4a)WoUtrgM{1v6t>1} z=)7yHOW3C{rj(C>1(TSLLVK>u*n8WT9!d{!05c2?(~QoYPBKfo5!u`3%kI|!$T6xU zmL&WneoNLab)V+9g*}XXfVT_8%@0LrDwr~WvOv|Gw3c5zwjYiS(c0fEK?vX}q^1pw7LfPXdGnS^yit+$S zkS$3|mkkE+5x`QCoocW6^1%n-pvpiShb7z^SJQFKw>73FN^1%0#HmvrM!0bZCdR2#K0DZPK;7|F8}Deq0ZIyzvCC8& zf9v-%hGa`)tmD1^g8p zbAZkfS_p4Lroyuec`LuQqro#Bs!ieWUO;)^JTo66WqbL)qduD*5@<&S`at*r;7jO= zy6IpbF`!W}0d(fQRWP|<0*Nrgb@sXrz1v}Xc_QAr?^PIYqjF6d+~0Y1Z!1>{Kw+Ny!Ypj~!xBf9l2 zd$`#z1%%?6drCSB-YQsz0!ie`n_v6uj6T!9+6_L-mBbTXud15gYJVO8#uOyaIy1S( zNa>KYb-Hwagwl+`{f9^)N3p12s>-@*;KZO-IjUx~>wV%^I=il6OXtOV7A-JL3vz(q((e`@6x(N&qR9*CX zLc0;%!z^j(c=`H$4I;s%Vnf}M_UrwLsK-X;iq^A@D1;XQjT>rR)?E!h_{%)fdacXm zp(AqJ8A<@#5BLr3`!U_a?@PiU!X~~b9&0~2bYIdmakhHi>YG_eN#wK!>+xO_1S6OU z1UA;~nSh%w6ZmPA))l=j@LTcHS zT@EmdFzTb$?cK~isR)f<*G#QTd&UD&VOR+)A;?HD0Y4pooAWFCO!-~HZX=vyH5G1G z2n!;gOEi6cv!|E8xwQ|k9Q z@0!n&pELZ`_Z{Ls${^OC1cY3??%t2^Hs7yMVwnE209`K+`F40@efk3a+4NA8(Y;Bh zt@;Y#tv{M8>QK+8+>A3qp2gH)PO%70h9l=7dx2+M$Ra}Z zNB#FZ#ACp**_>4olJsP@WtJw7hp#L49r-c&9Ba`_Q6qi6UWxY+RKZNr=ltqNjwDA@ zkdjoQD_YNygs(%@ZwtZ9=&0KM~nqTV|nz9 zJ@#QoM22zV$h9Pf8A&R-hCa)JjFEnh3tF}&?M%a1#bclAjiLrld58?qN}o~Le*Ux&re@_K5dz~Agg-R2^yDA zuVg#$Q1YDkH$*rhpK-0A)N$5o>Q@+=uyTad>&fSOgUZ0AwU7H^v41~xm1@rlo_Rz zenC}POy?}99*Xj0Ay64d$I`F<$HKj`5{FV*dNsN>bx%uRJ+#$b^mJ>(mb--qe~K-1KlxXsk%D0TM~|g^Va@!ZCZ|6>h$k_kh$$UCoyUcIA@X9 zDySU8)$UgD5O1nAYo~7gmm`|cg`QKydVoFu>3P*l&pDbK;Qi?`kQ36);}oHKabV+{ zo80N@5{I@|K>Ig0vr};Og|=738}fbaQs=gI6?@vgp4 zEVN`LTlo%?Uo43v30wO1UPLURkfW$}RVx8=46mHtyY=$WUS$xu#p|tDf+f&fPy<0ly}8UW3GltNIP_Ft}*!n#yu2 zcWr$~u`3vw#&#*X_R*9GE5y~qZRQ8&ah1?N@3jaUjR6OUMSgW7>vBZW|FcVr5|+$1 zc)6K^+yN&)7fIEvrY>@|c)h$&n4j@(=UE0M64Yp(ku6J_Yz*xB#=o!N!T= z)Ps!F16I%r>qvKH`T0cnfCfqN6P&LujRU2-T=D!@CsB^~R&tzce% zQY0xiVEt9yz>T+paAu|R{ncxiT@aWhgVyeK3EMHZjhjj8E_un`14hksa>sg9 z-!=25HK;-8IDRzUJ_)MC>j2J}&)~WX#xl)sbPp!i;hRv;KSi`{O8jmTQ3NcID#=~i8GON6kLYJLN@@% z;mNT`sU+6mFo^08=<5$j8zt(S51Gf8(ea16Bi6bBxpHv)=2 zWeh6#Dq=Ma`W8cgD6}ZF*!ZZsKWap)zgG!c1@4niN%v*rX333YD@557ZS_W|$(#z+ zc_dSC{nFss1#C<9!iKS882^AJClKm>?We{~%5;diBwlllWRiClzJ^>gj&K)C=kbZ` zprfV8E6eGK1VEzkQK%RFlq1ZE5$H#W50MWm&XX|_%*Ts=mdBH07mMeNR}d54_Z~r3 zz?S!vG2n@3QLrzuFRsZM@u5H|DJ!nn%u!7j9sCsS>f4G~@>cv! zMRf)0@#epl;1xOMsS4NQ%rnYM$#II^0p~;IX{FnF@37}zao~Hwsw0fdj&(~v8#lQLg!&?KbRFpgHudw zY4^B>5QZg&IAv>j#&MZT=gj5gg71o-@(xb^dy7m-=4OgrvJC%?d#8|^vd>XSj}|O= ztHPNg6f@^6B&o`orWZS8DT-UfuAtW=m^u}&=iCRa=$Xu3&zb7yi+g6r%KoW~nQII@#@njlxPm~p zlem1FXh9=v941lYwQQS=0TgU4IYk`y7{u1I`rMz3nM? zi5t9eDW=X@U`~KUC^R*C-O`lqztA7l)T-#l%Q*(A3H+*v#ud}o!lOwEQmPxq@dXO8 ziY(=Vb=b3}#FO~th;=Qq$Gm2t3lgfV#_KutVkc-%CHt4lP%CV8YXR38LQx!a|G-rT1J7cAM zjo^l3`P6&FGlvzhiB`^f@;&sKTbd147X*>u!Pa%o z=h#m1 z{C?&q%P`F@0H#UDv7eYG7Q+BdZ~$QJJ*S`eF#KppTbk_2XNa>#V`w;9;tmS@n#*Q8fi56TM!Rjv(!Q@Ia?%-77EqG8@(-w zU~5qi$kL>X?n_be$#JEP;w&JO_#8vq39*| zlT(p&Nh`4_=`E(lG?27lJF{^eIASSuOPjE6=`~4YWGQ?|`?SCBj)gFyOq{a6n8AKX zX^n>F?OHEvjm6e7PbjjbTi*{Y;~5#HrQ6+)38o-~hU4O3f3`OTnlmjW)zELBdWU1< zP_iJJt1mg%AlF=J%jwC92%4{$qc4?JEgRPM7xWu~#vxMqSuo5ge3HgV)c|Vb4K?P; z=KD(&RSJfq24?*UlZrzN!4~0XEUVNFZstx)_*I;r43H61HK(E5@O_Gf!+69Q(JE^L ze?#Vfv*QSRrXA!&f7)slqpnfUgm*dxhmoV?=|A-{8?JH5v5E9_E-->)OIqWyiQRk8 z6C+q-0w#^ymUs6x9nOG8pS=^@Hu*#XR#P9dt?un-#(+`BwUZf^YEs_I8Scl$_(h}H zWWCc95Xw)pqONXxG`5eO=uU&ye7j|vB1TQap+3`Wzgsh$Pnh_X2BQghP}3qh?61z+ zglcCny3d@5Vrk!$vON+`$)(h&zHGzXACIO4Ph-_o10G2q#i-bCVmLTXFQu(OY+5)_ z^(m!a1gKNmNq|$jnG;KiDk7WicUF>5Bq|!4I<}v^PY@~=n+xy@ZS;D=(OEs;z(fCC zbUT3)<*2N3CK0xY|n+Sl;|>ETB>JMV4BgPibboH1|6dUH`DOMs>~MU%Pok?!~> zK-X(!JWc1@t?CtMpyXB4@GeE96VUR;d2IJ^9i!QYSJi6MO zm_?QPm67IBvnSFu3oms89RI|ewMx?z|Ui%jIyoN#v8kDs87R8r8yYO8UMzcd{!MW`HT zo45w_pTK`wA@HwSdQPw^!ENW4u05WCZ(m=??>SCiPBWLZKFy7267O+uL{`VANXrDZ zUV5FA9fPSrEAfq@QNcDF7rFn^jr<#F|Jc14!Qm@hF135*6RSWgu{P@Kg@f`@wa7-i zjpsJJOUK?-POHf_k4wp2jSMG&4Fwma-Sp8`mJ5J;&|}ffcE3<)qzf1Nlk$O{U!)$F zC@x0pA2J(1+xt*^M3c0H5S z+z+p9SEap`Se*l}syAk|t(>1RxH(u;)e0K? z-|Lq3HwD?C6aA7yk;9lppGB^vDxf^z8H-NJND5BEps&=u>vs=Uz%V0Hk|lC1CSbL^uLtDt08vSl82(RJ!07dfYCPGzGUPV5WLi;8~z+?h{|Aksno zRK3R$lPSy<^D1y%joKoMDM}dKBMDo9iX^)xY(v@Kf_foqn?DyfBP+^CUY{42AS)$m zK&~R2BHB!}-x6mgD=D@dXR9)zME)Y%A?)&ZUznmrzC?CdxIcD8nnJJmHopelj5yv; zo<_D=WS=lTLjG4VFu!C^Yp0-(xqm!Z4Pz0lk=XL(6LU8vo=dOgH^JF7?vU&Z>}>RV zh%$mIOFx^{se~D6#{-#8X6*Bq;}3*W7)>JbnPV1YRXI$~^3!7+HCKpDIA%ITS}D&u z>fC1Vh23b*cvf(ZQ1fPEB>4dnM`ii7Q4=x%AA7_Zb}^v<1+w&3XMro+EAuN@AZ5^E ze8mb&U#l1^(I?JHus55b7H#~q9%HX@)R4~+f3DgBb3{=Mvd^3u6`qXBAa0MlH9vC5 zXN}vCceOjB?k*OcOx%!hbviQ2PZZWl)cotg{~U2EHbX1cN%@w43!cdo)*{}og`Z)d z)7KvEisn^ z_mnp+BWQ$`uHTk$r8yvkrDYHkEuu;iD6YtGWss6kOg&p7e!^feZ2xyQL;QsyeZ-z@ zHeB3^!DHx_yf$vkJlViNF(H|#He{@XVRW>N@TOo)jUjW`o$@Aq3`GTAe|tEGG&F&V zqGoACmozk&>Z?j$&3A+1(VD-bWmE$-=A$!-`x1&OD*5{P!xV4-L2l~I8q=YY-;`2{ z5-JG#%n9@2igGID`un4%)F@XK}jv(e)`EFm;f`i!yTd@N$iW%{)V+g2HeeZ7=ueVteHgk9+)ZCD^~&%Iiw8 zJMOW??eaw^u?O0!4w(=Y`lVU0tJz-frzO-9g6q@3w(FxVf51NK47Qd-%@i0Kp9wMU zechpboPdvK_nCas#18cW+v1^os>Fs*J#596dH;CSfHqOM0T=o?`)O*C;dk&I?e$v=c( zieGnsQ$*@w$l{Etrxjg^f^U9d5YvdLCp6L6DD8CgaR!5aP5#vsZTt97i`c2{Qwp~F zwMiU7Ecw?{SXWe6223Kt9~1o-Mc$Hi?Q=p+Qwp=7i6l1Chr77>MO^0qr zdw@orfUbkX9Mc;j&*^KMNDpsi9huD!wKtv%o0VS=v5j{hPM}l?>>+O<56Ok+2|WVs z;cD22B)boNuD;npDni<742^eBcU}Fi_J0mEz)fOxA?QdsVSZii`O=A@M{LE^PS9v4n=4&Zox~ErM6+v z(HBOvu{FB?;q0tp+h~9_+BDQ~!|0@KIBA%f+AuRSILyq(By53rF=Cm@P^wQAT5Gh3z0qa))W|a8 z0>AO^vW+i&`7*yjadhT)m(S{R_r=YwH`l#JxX{qCp1jW289n9UkYYrq-R4@gS1YXPlPyAs zYr89xwtlMqeQ$B_6jCRBfr$i*gq9+W6m>Q;`KU3~T49BdhRG{j8h4u9sP`0=*F>h$ zrNqn0(QILFbOajBin2o~Yp!C_C`A&za+Z?2%mH>1BxFTtq3G1_l$-5wUP7T*DwE%t z_jFt!MdlR$&)S^bulyg;MXV7(k7w;h{*+NWK>CtE3h@NrE$u!7e~Qkn_v(W{3SXmUBnlqux{`2KqGZR)>Mz(=~!du#IQ6~C_FT(Gm679gB!29 zkuFvAJuNsD!1ULU=Drczk@8S^JWV}B-K5sR@VB9*A-N&$fK8+h`WgMBumch#c{OzR zXTN#G98U3ji}D+aeaP-SnLxt3c*e71OQM%vM#{ctyqv_&x8NeIVnybH`4mN}gM8&W z#oGQ#ANtnpu_Pyt*%hfLvJG_)^Aqd>wRqj%9w_*1CaiDTRRSu%GiYdSjW<(N6y6)3 zbyjqZ35To5+Vam0xquE_!@tvPXbrS>N1J58_jg8_D}75%dU|_POZO~H0ttE~%kM|k zClgz&7hC-7uTy$=L0#t60=@^2PkPpRcdA{5@m*owGM_-nF<{AaOX1xnt7qKWYL2%q z{H899H;=jZzs?_#%S*ItTjz6n;ocp>?-N|_zt7Kf)@@%v{~aKFt!#dQoFSFGCHVn4 z5cjb~GX}Y4?a@|QB;*o?j$I4IzUXgxzq{Bde90eS=X@nIQ>-U#49`+~Jzx2}A^p#mRkSH4doo1jbZ-P`?S7kCE}TSJkR;r7z6gjxN^O?7uA{D^Fm z@kTV9L$=*~mkz@=(=D{0hhmfKrYhW3uH9_6BOxWR-C;yZR`+FJMO^n_UqwoHV*h}w zTK4voqFUlMouXRfHl4ECj8%V$xv>>$!+UJwqoZIh^+&tUwklK9P_ZHtg+V_^(eA)*|Z&vRE z$gZe7smCdE(}M=2VRAErqRFhtcQ_F!C7Q*1RWNMg?fwS6k@1r4a3L^AxXJaJVR%S9 zO9~4h^pVBKQ>FZJz$lea7SA)pNJTcxdUC*RV(sR)(%E5nx}C?b);7to7)|AG4!Etu}d3TqBGi%~!)K2)CwetfX` zr1(VGKfj6$e7iYJ- z#SY(^z|_#g?teUmCPUW=9lj59{V{>`|L?xx3epEu_-n&yz^{B-d54_;yny2lcl&uC zWmxOalSc6ELovYr{UZ#V?Gr(=&v?pmfXCdI+A1`|n6UiAAhJ0eF}XB{0X{h!BeOnH11sat|0pq$N0FD2 zr;{(wS zRbpcmKZRiV&fa&EX8* za66SzX2#7+4K!7(#z3vM6<5C_N(be>Mn;mT~p!q?LSy{AKRq6Po@vBO%!t$wb@25L>a;7fP;=z%<;QrG+$MJVOE=FTUEXG@Xte)v^ zs=(Yp13v?wUpEYCpQ8!z*de+51p3YTPLN`Z>66iyL6|6fJV(Z4{fch&z*<-%_(9?* zqeaX;6wxo(2sF&fxAN42ze6LSk`R^4(ogPT?Wylv%P5_CcfVJw* zrUprLcnvB;TliYWH18mvkeeKuj@a;Hp0xyDz8r#urNcH5%yY}XJqN8~SvZ!^9z@7z_O88pwAoDIO@~tm+Ry9(EC^V>%g^rc0oDkUPfJ}U*@ZU*GKCi_UHQ;e$Zpl zs-e`M>f!hE{`~g&5pWK_EC)g8-t@bAVsfekb%H(cPr2u{vB~>RWUW`fLzn3g5^k+Q1zl|I}NHDiIzG!&Vh^2n#A>9z>ZvOGZ{O?ZLA(@eF`knNXahb`;w`do%+7!5@8^M95&_&cFTr0vNN&6w!7OdBiR9I z6&W{uvO!;GZsu;rwkuDgZn3uG*?#Q42;}+fihK#P&ee=$r?y?yv*FhU`}FA&eI2t| z&F*TOzvrR*p~pLrFn~}<>$R7_+~1nkQmPH%0;is5`cn99?2ka@i1JF7uqWyTY<xkw$pIk6@L2wSIf+?cx-c!|}TJ-o01(U~?#ofxJ&grA@` zD4qC@;ikPs46E!Ehj+d%okYoGTH5ARibI9^C8@9^`)DZ}5RXkR=(X_2ol^$Z37A z5sU+gkzX0{y7j*Vav`fSE_dt02a+PoGII89BL?yy6EnK?ZYPC1rB3M*6EIeE*C6&0 zAfGW>^-TL4;D+$wq3Uyn?7)O5;Z3qcqoOhL_FNO~^)QAg zpo$_!-7+c~Cit#eW@}BV!4S*@?xOS?u!D8sjCsWeYXajct z6)aPv)Jpxvz!d~j+*BO{m(Uex)1Kl4-^l`QBm?I?FPiy<#~hf1ka`kl{FyDxx4xzslZ_4pCu4s(ZxgYi>Y9auAMV9?zg6bu_l z^V6aR*qw)fgo^`EcQTj>{7r%*q8_Es6fyvVvlVwZl}3RhrGBno8#;gh5j(Y6Zs@$! z+YQire;Ccz{OqlRkwQs^`$=2FYGB?|hcJfobFJpQ*Wu5D0axI`=VU4MDuWjP1Dxcy z*goyo8m~U)AQKo`1XbpW(VAHU75^jzS|n8!^_3cn?lOdOoC+fK27?8E6(d^Q6CiG{0RbXiKvU!#PJukmYT_|-19d! zuk;>zM(i`BHFJ=_HMR5{Lj9$*(#=LiK|rqdezZ?$Rge{y=&A z^2kJF{2vDzA_9v_K~!c}($fm3PE0?49ftlFLSntv+(o*`;S z&}WWV44a{9r`cx?T}+qpXvf`s@}(FvgWj&S_XM>VJ|oLcbvq-}5o+=`C!t+c_ezK( z0D_-3ZJ&3q1Ute{>To`7uZP}!oy6pv+HN0T_2ln)xqTt%enC0J8BCQ@GyP6$$Qe!*Pc!khN6;A;q5IO4uS)jGS#qEj zu?@|-q=rHhT16|{&SCdNuoj^Wp!s2YF?8+P(Gj%?d!5~Gt=Ag9Y47Nkk7Z3O!+TT8 zZfRThB`DI9@DkAcw9WtAS?B*odc_t0!_a<1dCw%;$!@ z%@j0rY~<)W_3IhWSK!Ed(+h{$op<62iO&snhb!O+D~rX=X1gWu=%Xz|8fOZV_v+fK z`wrSMo5>Bs&HXxJ+k88zXRfE*&n&K2c-ww1=9)F z3FQOph3Q4;h5Jtb?0r210iUx21faolKf%{8?fzGRBz|Bx0T_XgiHG+m=~N-8fFCgA zU+ycCgrEZ`U{GP`VXVJ!f4%3Yr&AZXwjb{Sd`1hvg@J;x{UYpEeof!q_Qe)u6Rw^1 zntewnxC!M7u3hWermqe9in#slnz-8&`3j-E_&Upb{&tI{p;3c6kH`Xj2_ z_0v^-@|R7fpqAMBUVr7uTc>A!0WH3wgR+ClF{3gY;3 z^_BnI{kQw?$ls&BMSWNNMkA=~KO8h1Py(j_$b47l|q^-?!Uu9zy#fSb~WYBqG{D%`o=(h5$p%UG9FAu)kkjzg-Hi2fBT_`MQhH zuM~FlmEoJNP+k}pAhtlI3 z5WKc3rUmX$Gu4st$gnE1h4>IImC(>8sDX9&n3%z%?qB zxI|?u&!6KZ{1R~sIDj9OOVp!!qcZ!6mh^*$T$xolsvpea-n1}((UmgzN0yeOohB1YWIIRJ@P@iLp{_PZ(`aS@It%u z9!Fyo7<`Aha~!W`giP4r?x=&FMYxOPlRDv#vg@$W%6==eDLX6EmS~o!Dl{lmLKcfP zBvFe3a=3pvL%fUy>M|C{ERbGa$M-T@p(DrR_e01jw91u|Mo+geEK=Ijknml8@=x!; zV7Zgvo~fOfU=*B2^<^+Jt@^bOgs3(ADXBhgz=Ra4K40@3XH^?BU^=K&(>(r-0O#L3 zOmabmpCUShH9l3h&@YWHBu;)+C(t(!Dx^-vQP(sy4=!X&Zd6}2IteSpOrC^vfKOry z;ggw{qSK=^iP^9lK3imK&u7=MB3R&9sLZFAG{`&3TjnncRi-@1|IK9=vkqRxZ$Pr( zn7=IHQ@E4AQ$UhOs?F%Di!y;7qe(_mr#EZ~IvCe8g#3xJCwr=28oB!&P$%Q6>l(U8 zAD|>Zsq^cz@`6mUm=|9u*)5H0>c?yF0Q6VuQ{-UrbNYOL|>=1yQ z0LVIHH*Gfq%%2f4@*l*AW+UKXeFPFsbLQHMlIBwZ3rxCZ!luJ&e;AO5Ch@99s8bsh zMkNubT2;)~&UQ=E5?UpptD35(89``lY*lvk6+@HIBvMsb^%nhuh$KSQOZA(Y+ul(^ z+V84AD*Azk)5_E1`K5Upf=Xil0!&dRxYJQs{{p#zjVvhXMyzH)`swvN_g{BWhp-bo z>1eEaKsaCsa1iM2nf22%P!*L9pAMD|8#0$CO3K1hGFjW&e~MUcSz%M_@!akJ#=_Nqh+g<&iLq#0L9ISlQ)EV0 zwNSg*uZd)dx>#2VQ-Q*=F|Vq=rf(hD09Zs_DXD^8@oWrmfx1v+SH9q0MX3kW>(uiA zU1u(HH^g`XLx58=x;Y)cJcA+F7~QH^{S;7dx--vPEhGH*NZO~cxPM{wCYnv ze1X>LO*OiG9)L5H3Xa;%UJt^v%vh?r@vn<*>Q@FGu@B!D#nefRydxgC7L|@}hpLlV z9W=H&P5pg+7XRU}&vt^}ic6%+q7m4OmQxLkZrqJSqxslnmpP600w88&*79}j&7f$Q z47F#OMz<;YUlXg-2MUfMz?4HX+hK@lKOzdXM8Agub6WHua z%j^1%u@lhjvCF(hcM%gj>?F(g%)Eh+ASPC;q*|4p6vNjd?lgc2w9X& zZf+E(^yB6g&q=&YYHk)M_G2pnnqdcs`ZV2==O}U%6B9a#lqtvRnl>M?9GI;t;fg4dK z`mW)Sit}F~?lPazQ_Kdu3*Y(cGD;1hAwwu1zUOH1mBuNor~7&7GOd1f7(@V|c>H<3 zP-A9P9n*pHsD0j0yVRqL<_UcsT}R^~bzWKP+P#V3iF>Y7`_#RO=}G*kyNp!xG^iWY zf%nD*@dT<3yTU-skIv_6HMT}w{ve9Se^}6uZ_C;Gz7Zh&N8DvSL*Gac;1O+Ezz7@y z8glJpDSY5N@2a^n66p2`gGPX7M#Um3;iTHm2?}IJMJ7_V)8Fmx6+(e$M?K{PZs!CC zvZJQ8_vHwgUnQeJ1F9M_j4)oAQNZ=AZ z*{u)Vd>RrVvbAd;TV?LtTOO;h`LRb9n_%c-q&OgfLdh;mz-hi)5RA!j_GlcDfG>N< zsj+7qm_R4%!pXJ0AC-V4Ys2Zjy&sNwm0$F8Dj-2^@zET$c;zR7>=-AToyG2auQ_%x zTgIaOYPUI3F{lY^Xpx2+=nS$&Y0!Dj&MT?SWR&D1hB>>s;VFwKZ3 zy)s}qJ@?e}N(yBc^|ACfas*N8i8o8zZHcYv$c!)++ED`=X}!=v?TVrDa0< z#g46aVgJrKx}2`crFnJl)UO<~ioUsZ_cWwj%#@-0Cr`K~_7beN*_2nEKa_%)h_~4dxVJ-E*+)kEQ3LYgzuq?4<(70)zD^z5 zGy4WW;Z1j|*sTo_!;J;-`bcs?UYFO+LwiuMl)PCtZasS_v1q*fH^)0OLq>i>9K`t* zAxg>HJqh8IgmS1^9&V?5=6=QKSw(K?d*+eFfUHM1?!A+UV)(2qH;Atk?Jj;tTN z18%C<8AJafjxe(RY4c=Rx;5Tt4>=-DZSC+&k!`m`AE9PZx@G-G-N9z1xNZ9A^6o*v zJD#j;x5w-AJ+AIM!YL+QviAKO#eOM#25wy%H>MlKzR2hl3SCV%`|I7^!oU<_-B&mK zZIhrB1YK3Pm7RmI6ii(kx0byF{}f7HuXahdi5-=}@_?n!x{+>lJ1Rq#u+(^e(C=LW$=1r{jQa9S| z${-FDTa$K`Ytx;|h$e!~Q#Z@)%J3$fP3`uF>%}3hWV!ye&$hJfl{bxjYs9uL4|+B=TXQz-mT&%C>LK~qTl zw$JT*cm8r{+5G$hbJDs{9X~wC?^*Ai?tk7}-Jc$_%{b0j<}dxO4&D6J@!bRS9tXm@ zY2`Kv*@kXHbzpj!-B%rNbZKR2ggpsfg>NEtd@DaI^x>!TQn^v-ONp+g=p^!LxLN2? zL(}v2Lb+ypZJu00)${ZM2qgBUOi$%9JA8JEjLZkP?m< zPGb>&3$gR=S@lMz-xXmi+oz-axoT%^(3LjQ{EDfQ@;PhQGv*4mGv!%#$20T_x>N4C zbNemiil;L>jdznN1S5nC`5@MzZXYoOF~l8N1z8Hu0xy|~m67$IWG{ON0J#kh(&#bd z?6r&9!Ro^gaYRl@+X)dvmcz?pYBzKny7u3}?86O#3NcXiE-+N?E(ue>Ck2qwj=Ag4 z4*~sVzUHI*Ovw2ep2AMJe~#EdG&n_|rJ zZB0ASW7IX?jfN~b0tpndB^ZO-1r^zgMQ0(+sI)>&@zoEk&k|_yS!C{HFB$|X4%nk< z_YI9tv~Y?xsRQDp04mp_^!DL6`$r7sKlL^}2TErc~jWdk{ z_Yp^MMpWW0$(AHs#9bsV|E!a{{|S%S#~i_pw@cDC|Kom!m5KsA=yiiaw4l5c9 zbk}|xEmc>5K+UK4T7WE$AID5#B0QRy$VE-4h+1Hb6fAxtej|Y(?w){Q5>V)cGeV`8 z-!Ah4cK{f5?Xsn35jtc@>{9%A)Ul-Kf6u&~ip`k+T>4v4s=%V)v_MrHvLZ8|B;5`y$0(>4|LGbKF4gvqZDnv)ly_;)H+L ze^^VdM%8nf)6TLNSWB$MHBw&uT1~5`HRqTmF5r{66GsyFOu$jpD5?`ah;JW4(I;-6L~(D)?pnkG^an?P z>?w5qksN^@9SM`6QKRv8u18*ZKNjDrH|R3jxFjy@FRUJl}WfC=v^9 zeu2ijp|1D#Teg*#(0MDLd7CXgQSig~7WhCas1OWE_vfQEyI*4u69CUm<@tIa`FM|Y zbtdWUy;NT@AjYSIs&DR)k9^Weo2G%m#Wa z^!-@s`e?VGw0Yke_1$=WTl(_6&;~x`^Lfzi^7yFMeLs_WT|n}E$kWqn(bK!FW;j?< z`*7W2cn2LJ^;B=Zsa?I4AAwFYyRJY_z8~&aujNlS0=^$j*>ta4EA*k@%(tz|>hQ9u z$}Uj5^Q-$AxD<3XsInL}`e=49EO;ULnyZ9zX z`@SRX!#PJXc^=9F-mwrEEk#)C@=Ckgo{RGZuf&1l-iDq9CVZnl#6Tox;2F@+sjn5d z7Cdz--~#@48++!v3T}R%x)68=TfOf+WLJWn!2j;DJAB*0wJ!peTfg5AY|YWZEMNht zE!>aSg#xhS`&za@C3!XtIGaCua`>EK_PH4My^t3)!0O9XsW-mKU<$@{ypH7h7#IZ` zrgf<|=>2@dEq^I@ePzpfC-AL<^8J|WdOs;&d%0mKyt7UDcy*R2^8tgZ1!xsEyM{OP z_BR?b4K~LFT75ieO4|(9n8P~x-5?67Xl-}YV?6iWfA@_7AuCpWs zUE*jGvEs2Ke}?~z3_oi8$xSf$qwu}&N4}(JH1gjlIDC41Yi4d^;tfix5~$blPD4?k}~}}j+(~D{AP?gOccjO;h2ulyZ)zz)KTs*ZJaR8m6^oY!?<(UD*-LY zDfVDT6F~_l;IbH=moJH9;jfA4f+1Tef z<@ZFR;n{TO-IPcRM5Q5Gs)+^7{J0XtQ2oKiW|3T~k!zZi&StSXU!n9*VgiQ^V9~l& zIsUpd&OWE$C^3P}wlqI}SW@a5j-3L$BBso7@ zqEeJBREgLiZJ|=CQmmSwN#D>qf2v?9Sc%Ypll}Q=-b4OOf-YMVs=?5K%)wzFYj|da zX_#rGcDOWNiL_WYMnv{+1}Yby!|Ois2!0$3g_-PRdIo^Y(*bp#Xr$$jBRNDU4$PqB zBIe@fg5vtlh2Fy4;_iU7|FIY>O=J_U9j%?Yj@Uxcg44q0VC`_W&pvD&_n)9^lf4er zV&qV~Pd}m)*GBpzcp10O(t_(ivd=%_9e0*M_=ixDN6b2HHQNs&btBuD(e{>R${;DV zNnHGl6TaYY2%RTZ@RYtlXfVsBbe-Q+dK0`*Dr$L*T;*@rnvW?ZRiG3D1as3kvz{iF z8p#(610uOqPM7D+<%=aCdM>>)_xyb1MawUaBV0KDCz{-U2O6qH(zVF5oM zz3-j>ibZ2Wg+@h%(_Z>`uQvw`aD`JZzvxG^PoW%~1PE9I$fsb}$JV5{8eD+J&o zROBei`o)*#f%u?&id~{slqJM>w>RsdbNW!SRJ`fuVRR}}3UQM&AeypuNfXFMv*>Iy z#smJ;7e{FIVjp^yJ7{$t)p=>3!D`e@`OZTK4_LF5ZQs`t8k2nf8=?C>v{~bGJ!+~ury=9|6GzBU8s=rL6APW#18EtEP`s*dy zu-6x{cuQ-C&NB6oV)(vy4DfUtK~{m)TM9lGjl`eP*#x;+?bb#Q;ka>KNA9-={TnhR z*)$1Li3wqxuvfroQLk?^tT{UV4bhbpFOK4=;KqVS{qnKJEMppfsP!nI_oCox6Ib^) z1j7OpHBW55ts9JWFAsie*q<+v%-PJf>owrNS*@S%f0wy^AlhZfq&=#h5o+-X;3;_cJ-wLsZmT>)u;7;2hyQD zvT{yuiwClx(6ctrY~KL-!SQr7c|w|YzeG+jB|=Tv%R=c<)>zM{8MW%A`|!DF+7;)~ zYuJQ6V_zkgUE5`IW}$R?%E(Wd0R$s&UvyKX&?cLj~?YG;Ea(N6hej~I!_ z^`wB<>r*FKNG8FGNN3c3XE&?>E0uW~ufOuXLz|jdO7_(&r}joaO;u`)FIjJL^6SJ* zez&APAf`-8$PbOh1CY+JTN@#Bw5I`V6vdzhTk;tUM7T|7&awB^y`@E|=x6{T8quV= zL!ZT$q3_xR*Sy#E;T}+-rG>BRNz?Z&)#1UDl%boX3SDF$ip?raX}N!U=N85CR|tL( z&;y(Ec0xkL2(o}~MLWSE90Z%@&jmY?A^a%N1fAxIGW9bh(xjQ96wyBkRLqr&6%s_P z37pMYb7sOsjR<6btobt$qJ#w2=1w^?{|WCpK&Qf)Oi?s~VAcrpjQm<@qu@bz0$iYW zUajaJbF?#o8qjK{S#*y(nvm7Se7(s2s120%JF1QKa>nhNsr-hCaMmbxkb&Th6&08< z!7V%$szkyo$7&@0@GZ7Gv6d^R2r-&P+{mXyeGTmpezcDW`1RQubb9M3$5JD)b*3`>{D-+wbH49a12C1fo zP%Uczz!~PxIl!p|XAt^a$lL6>_uqWo)T!mK#R_AT&BMs>>YSodt!1O+f>8B{DYa|J>P6f&Bu=5qyd2~aYktZCE6q6x4vs*sck zS4bqlZ9%vgW;O+sj3O9kmaM4smr`00qRbsD-E_V99EJ=^x+>6Oc0SKMx^q_{vxqL8 zo7LHT^(CwRS*r0dyoe=z(!4e2B)-Tp-3HiNXx=CnQlyr?Y5tm1DmI5J6F3euW1hfD zKQK?GTh6P6ajz_#WgloFWQg5|RqZX2x$FqJC7wgZ25k0>N`L*gw+l6`sH z4@ZroDd-!*t9wvnE%(}A8s45gXQ6v*__c#3(6ugrE1W*Snqpox%`4}aboe_xg$2xO zJKZkfm~v>H9&64Isv=W5_7c5=omgVsn)Z@{1TCPkf~AF~^jN2ofiuEI!NQTB=_2Z> zW`y&DWsw4Lur*WbOJ?&#kq8UXrM{n*o^<8RVnu|SB2FS6|Gah*@BK^z?-ldH>Gu@b z#vSC$I+)|q%shC5C5fS0^iJb%+*c@dM@h6L&pksU_(JDEy>0)^LpV`*lDEqxkw=jy zr$aOl1*=-Pst=ePL;=SU!?DZ?Tq5U-jdl8jX23Ie3wWovm(93s-9T+;tw#$so@@I~ zK`O1I$n8W)Kf)l-H*+OSKtT9JCasYS-x)ai`H<90(k;w9&;J2ug92+VCrd;r&_ZL` znVvwExPy5CZv$txa+nlV7GqJyAhN6ji=%S#of(vySO7&P5K zfJ(jB%xv+&-(++;Bh3R~QgM=G`HxD;`dOe#5u|dcGuf=Sm@WHVKA+ZTzEG&baHII_ z19SGxN+ybA*E(X57!|-Tjllp~3ha%sRQfq8ue&2I_XFNhiwee#&~LTR0ZA(c82h6A zRdIAsJ2z-Pdv~VDA?+SO0xb@$3LbEUe&d@-RKN7=60}7|`rBx}ydEj)7s^w#e`VcE z_4|%(2X*H;V1%HI)<>tN(=Sboj_tS9z6nz-QCc^k{yPTzS~yN~?<|?mwum$>gl*RZ#jrP-5zd zeP-oU@k81ouBM*3cd@hJ8AqjvrdWNPdH!sXIAJuqiKNlSU{16IVI;fC>b&_}j?753RhTh`nE_3Nop|+Wn}Iz4S>* z4Gj^;vOH(-+ChG5v0WPy2(q(z*`v0-NAc%6(oa>1ua4YqUL=I*TDUVLf{s6npp%dE zt)B6Oo%`$1KE5icx_a8XQ_iC*FS(rxmkNGhD#B!3ZFA*C!a4FG2!|PsPaW4uv}2*~ z+tnOoAulBWkAFm4RgzNY{-KcPoaIq5{^E!dQTkUrP=dg#aoMYmHxLA9fInpxQ*kSG zBbc>`Yp*18sa1O^VfmX-G?B>8vij5fU(rMeyVk1lTOrW#4SBEf9yBoQ)Zz?0n{5h1{#s+PW~c|jfmagQtOaZg2&W%q*1}vcE*$EmHc}x>9bV7wg>WyMWOqd zm9cXnZxnfeDptBf^1C*)lKd#PVzK+GR`cKurJj@lG2`>T2COj~g7(fM)$g0rNZXTP zmS;xn3*G|%-3_QV#0&Ul3X-E`w;f>|7fE%kW6SGS`Mv=k#B9rY87715E3|PmbB*r9 zperS+#GHBb$DmE(F`ZimJNs!KLrK3F>(gVyGl!nM5}_puRroxOLKWl&=J}&$j+*p7 zMG3d>v}zU&LQ<916Akn+n;G2D9F*KB3R~oxaAod@tDGJ;j>C$WZ5-D;SRMQ{!xY=* zt_2(6F1V{3K-c1pKo_~y4j}F{eSuB}wY^@Bcle{psv6LCwo~>kQH8VKcCJ(G4eBDa zo@CDFwKf(M_ei;_XYQL13VbBK@LugQCz<6h5{W^jR#80uQ``s72ax7g-;x=t*ptr> zlnLbqXgb-QOc#lSqUvxXA2Sy8g`p~Oj~_D@_xYoWac3Oc<@P0^x^nX#Ul)ip<|V~2 z1F*Rd4XFNM?e+Vcl{I}D6&b%6Sn@Y4ZCm$m4eZ0&batz{;S~gpH?c-!2Y0~n^^X1N zqPPa&N!$H7S|c_UiSe+)?y;H8jc=E8L--DBIF>GsRBO6U7da6jcOp(?q=dcqrM2@I zC)X**1FfEhXb3pWn~8}&OvwwH!RY!u&%Cm=mtJ>tGi zndgQXt%EOG<%=~sO7NazGe#Rn@pje4j{2ZMY&K!%MlP0v@?cKjTm-O0ctwPxUucwF zkEqySFQMsWj8ey5`9wW0Uv!8W;LNRh44j?GGfJBM<}xlTonw>|!}njPO@Wa`J0`d6 z31|LZd<-pj)k$;VUQCQ9H}Q#E-rm7ome>$3z?&P+3Hc<|I&JpX{D|Vo+MZZMDxp49@iJmJ&Nqft;ADuj~VXu_(VTZX5oYjg!ZXeMF?ja z8j$bj;}z{VMaJ?FSyP2f(4{vRR`RQ5S!rxidU{dzkVeS1uYioI?D9$8o^YYaOBZfo5=0ZmdLFq)befRSdQ z2NYBI0(NDY5{Tf1U@zW)DovujR>yq!5q(diGxq#ydXYUop)tbyy7E3cO=+Gl!C4^=#(~VB9ua|qw1tFXCjpX(0O#?nmzcH z61&#*?1Zr0vEPUg4M;W%x7{O0DVL+q&b<^IAS3Nn{&}KKx1wMFygX!rt*Det=0%)i zYjFBFK^k*L)OKHGWD;!P`PbmozjjSf8&JfKR2=d;!oNjKf-YdU6si6)x1kmiy=(9H zCB@<*YFCXyv|JU1v6m6tCD$^m3bxh4Y2oB`1W`w))#Z4#&@#IUy47bfM|&xa zpgOzs`Yf`F-}}NJ++uuKow1{2t5=v!Aa<0$pOYc#hDpf?Cd?UACtx3$%&@SDrqpc?txbot;W2Pi9 z=Uk=iF~fw!t06S6v0y)>=wA(8_1S*hj^u1~Sk2(=A8K>^t76`fdZ^s1c>Vl-E!5Ii z2VeYo6UmKOvAnx6W)FK@%d6Rs3Bx?mLan)UXS_%w<`zknI9vcz694LV?MPqQmrM>- z6$ODAyT892Ctbx!?q+cuvo|>q;c^C+t&koj4aVa>t44g%0$$8yC>0Az#SX>Tk)(Qb z-6oGQ#}FAwKAES&a5o%!t@m;**#GhbXt5|% zkPG44I%c7rG-5^n#whX9v|q;t(Kagm$l7Zb9Ywv$j>hqQ*+(I{h|Tu(nvIODw*KY& z&YLiDzw$DCk0t!lo0KRbv&>k!HSj2+-QK^It5_rz(OiwC9=^2?`n)E_L>=x!NP)=i znzs^2B^N{SO1Fw?&f}N&>o$&^UXxH$V3;Is1*6aVR+0LMyt-4~nsI5lBKP0^?q4aI zWr~c+`O~nTFI}oX8cMNyHL%ZcwM;mr^rcv}DRmKW;*O<|YF`8=)=h7B@> zPw7u6XvDWeTZbpHT2a*y1k~qjVk!b)FzZ#`16l~u>BUiKHrz{vzCTD}zT zV*!n;-Rm$tOj{Wyd!R<(3HCXy`bl@Qf0+oiUtdrx`j{AyhEZMr5)nk8{8azQq!#QA zJwcuZ3+vp;79bk-#Z5^9ik~#0ssB)E9Q>!d*bOgiL3i5D;}C)#Ngnc`l0N> z&b3qqKH;68L9CBhj17;M2oC@Y%P*(B*4^K*tKlktJPlSPbEOMA_8j8BId(QRZ-zd= ziQ$|gaT5n=K|cghH}YjpBf4w!=E+=rre=n7EGugU{`m;W`H6+;iMq+5jxYEkxf)cc zjd7{Zg?k#3$j<+ovo=yr(<(Q!?#Pm7o~DTRm!z+Iuywpn_UKbJ^)26?*Qa30RC-xe z<;n1Gu$gAFN?)+I+hi9$KguYu_M3?QOUMj$W4l$_x9J(VDFiZ!D9r=U5C19kX4 z*+&J;>lx(|UL%#2(sE&qm_c?gR4^%Gahi3g7NRTGB{i?2Ti&(gPG&EBupA;EqBkNm z;ucm2)*zMymI+}v)hu4IO1~v}8C|O!@h8&4u5$YEH(_PyD5%5B zLJ*?DKu!fEAuI~Fl$>@LI~qTx&BR!lt!9SOBkYL)sV={CsCJr%P{pFhXOZet>OINh zk0k~(t$}h^fv4>VduHF^%G$3}@04U}48*Sn&eC2O#Y zcjt+zx~g%{?(vs;ByDi;6OwZHH$@nJ(uJLY$1t69;S?`#C9UF4qjDT;5xICuZC5PV zq%VMf^+V@X`4JV1PN1rg;L#=+Mo*`g5owBcxeb^86h_9POz046k}V?eFl*S3j6wK? z*F%7FI(|m+-du<^N;zZ8UOzl=bO{#B!gadlSH#=@L|yc?%D^+;&TatIQrL=}aE?4= zozxZ#I)o}ymU7qn)x>Y)HE|nsNI6NL>cNnw)zj!}`O@DwdK-QC8#5(ke>Pz(D#ds& zIhR&cL!w$vE2A-SzaE0#LnF7kOG|nuQY(^&*-3EJEA-B5rYf7+S@0tGb8AIz$1C_w zeugjG!9|d;P+;bXM`$V^`S>YY$nkUNh5pzfyVvD&{NtUTJ=)!Jjxr4PLk7%W^Fgrm*qLtBpoe7m%!Dr5blB08?S;*jz?cHIEFEk zhaV)bJ7L<>3LS>$B;2bGxswYb)I@CE0IVx}(BM(Cc5rL=`Ac;d(YT5Q$gL8MDhfXA z3Y6WYq%tw9cj0ZG^*4ND#x28pkigh1nET!WZat+_A}50R0egm|gN1l|u4ZjrbR4`B zCZ2`QF>!IDHs~yugE63!j^;xxwhHW5@>Esc5p4l)iC5&S_R9wvHf>T=t)H`3iED6Z z&{ts0@(Zq;(ra?_q}J!#C8n1QWQ)v&B)($a6}Fm{_fja??M!q%wE4zhgcr*%{n zU;+Z-bHD~6W8itQ5t!5fM$QEjkbG5bb4McK@WHb#Y)n(V`03ih#^a$J*p2qldH_EI z9~V-f$WUl{v=>vQ9)okkka$cqFE)MNB9p=SiX+F7NL(p>b&WV&)CBW+34<$qQVNV- zm)(s((814UM8SW>h)!DK-BN$KZ&vFWb{oKxc-@h%ZGr^FS|YnK-H?|I<6Dc}z#ec; z@ypdi1<+`p3`)KoN0n(Lf-k)Um(WegDmj(kVC2Abn6s-?Y7TDdax?q3=5wM(6JV&V z)oQ~UJE3&*O5u0S?A=TFrH7FJFwuY@#he2HECJrI23(n9Ryz%7KYhbf=$EuSMY)Hy zqy;Jv-cT~3=NY0cAc^TF=m}z_6v2Fnk@AAgKQl`x+Mjt=Qlr_JX4?NZ_h`%Xt36#l z(1j%nanEFII9(PlO%S5j%z1oYB}Ueb$^0$6ed%~1LY9rG#PwHy31!-f9UIS%JQUS8g=LMU2RI_{m%}>pyx;%7!oKTEeXC>H+y@32}l;*Z^HP zhuCm@KKXJE(x<*jgiL(@&GKf5x=59zO5`PatG~s#DDBTG*I34)19K&{vWs+XJ4<#y zt)Voyyq5ck^OH=i2W8+V_3Kq#TghJflHi1FJqbmpO-mpKu@xPB9U>kj%2O!x4ocu_ zsNLY%d5yiqC*aA^2Lx6H~@Nw&N-l- z7+3q|zH|7bKBzFpzkeGtsmjF6W1e})mqx7j*iPWc!^mi%Z=!FZZ>(?L-PbYVo$`Qn zX1~H${iLm!vyu3Kd1kx9Rehzk)8udTG4vYxK!4`3LR=m2R?BcP-ZASvGP_38RM4bs zTr?qZ`gms7yym!W)s$eLV`(})5*7o2PtD0>$G;AKz!y~^0yhD z?W+^5kZf@sWjg{Ew;M)PKao4kzv6gP$^p^RF%G)rWu7DQ2Aubct-ah2Ep_x5Pig_z zEXbDduclq4$k@g?Hg{ByUJ9hEC9sB;ipyeKib3F6khL-EI!%6o#t=SSC$wvVyMFy; zZ0>Iq%k^ACIdMf;sl4?tXo`U*L_3fKrBN!MY|MU>c#J}c+J)oILQ>cl_*CsGw8i) z%k^lTC^rPgQ+PEq^XmL+yoN~^qLs={em%3H#mIJiC8~x|m#_6Poo|n^xbChO zYk*T+KQwB=4jMdWI|HSe15bru^IIE=dAM9z7RPx7r*`;NKQ!Iuik}r@5`s5) zG=$bgFg^)lw5Yvv&ce(1Cu|DAx?824Fb;L0b zsEPA-vCCgeACgkN_uEATRXI2ya61SKPCeCM3WE1s+J0}rze$3CB(HzAEiVQQo6c!< zp<83^%=u#(^J;$AaOtAzvS?D)PUxw(>i}&ctMD`@^=h0SAiyi_|4Tz3p6UeN6s~~Enur*diYNE11;;vGhw#S zAX1t8{@+kru37<}Q23VLwhr|=^)j&OGjX)(VD~a6jYB9r?4vA_1C*2lgTe-Rmo0zf7!QWdB&m)G1?0OI=0{FM zCkx1VNXN_i67NUhFeQ=f4kF0FF-!m*lx-=5A#-?2SyrzBxwl`m$aHE}`Cq>Wqrvgv zXeH$6Wg5ChMxrI<$2RJpj7eQw6$~`_pM-Pn>}K|q0noovD>zYNDjgM`wdw`KpK$H* z9XK^reLYY#Ax9v3JkS*(&hWX++Er`K-|p8n)@GV&8ug7jr`$vB=~a_18n=u)C*AWd zz&1o%CG8XiQMLse{4Cxk9&;|BHxyeTT6gRu_0j-LF8X^N6A$34(R$2I`o|spZb@fY ztM;{AfNkKbhv#HtsUE11`X5);v{n%ycu=R0BUD#1f7kawzB;R2n0iLKO8!e~bIeIp zVH?6u!ATFIEZ0-EnscZ$_%Bu~YYA1c{&mC1Kd@xVEUFl@b6F+ty%PCPT;R7%7ZvE{ zE0YbXs;O73H@xgwCALX0}|t$wH-wb;)5e%CpJyZ&k!odeR-*@;={zCsvPWJyw9)-W#~B7x$rZ&7NqH z_E30)grbdJ0TzWroT{vMu5n5tLdp?DSMu(Uu!mqg!c=lK`Fn!&+;W!Uk?dx8wI~eV z6~=dt$v9`xmv*=qe9T|zoAm(Y!?5WXD6Y&+E2qIjiPQa#%@e1h*%&Y`iOqChg9)TR zKnZsQI`gsqmz<&#yv!n_mg4Iza9 zv94V5gg@~o+9Ih31vdhBiRDUYSQ5pbJ-es}h*aJ##>|%=TT}+{;ZFN!>ELPd`ci&0 zqbEfD|Ac+0DR^KrrPWY}8`JZy%>t=S6#@tUq(KUDHYB`)=`-j!f(qFZP2Xc6w2<22 zr4Y*+2K&ELYw{GTmuI!CAB3=vHgz0r z$7?v+S~veX+0GhDPWgGArjFLwxv=ux9^XNrW#jQZdYET8=Ron*oQof;cCcAm_Rl2d zVDe?ndSSFvCFe4z*RSk4*<{&DiLRH&zRDL*t+UdYW0Vo({z`T}Pk~*AKy)|BPK+TU zc3@ZF(G5-}D7|gS+7(nfU1Wt$P4o2Igl51dG5Reh}c5Don2;8=<)cD7V8be@%_9uoy z>Vo1hl^KUiaDU3V_`GZFX5Gu>F9Wp+7hh5Q)~o|Zy={}OWn2HRBz@|Q`H{=0t!Yc0 zX?fVD*G_qOAz~j8u(opeRDv$53L%!(X;Uxon@|fbZOfQ(dq#93y6}Bm+B3`=J^1 z2_7f;sl)0g?gG9N4HU?={Ndiv5x9h{D5-ZMQY5pACB^h6D2V8fAT8Zc9U8|3g$ReG zCvTieMgf^uYbEqtAJi_YLkGaEqDAz)EB%v1ZiV=$lCU~g85KEM$Ireatu^`!fe=20 zN>Jswwr@2tf?AH!%A$j=hAWmRxUATA*ZLxSzZ{|3A z%xpn=q;2Xuc?@nbdU$LKI6uv7L3`wF%9EP(ZE<;sUXE-|Ix)`*r1(Hy{@Y{&SUS({ z8>IMfTyg+b2b#Y3qdRvG?F8p#M$XbMC-QRF!f_DxX_n&^ZU;L`Z1BVqYbjehsQ#cR zgKwu!&HB*^J04UhDI3bkb0UGVE@HDQ8g>WcEn2Q2Y`1spt*Z>8l>L zgxHq!6*sFL=9c4+OQt43$mF&PS-Vs!3ynewXR2-)qHp{=bQdNka5Kt1M^i0KQE*^d z2T!|X2sC~`Y-+S)e)_w4=3F=1P5LCUndRir-%a_XvAN;sFxgG`^qBqnydCLNanS30 zHPa3K#DCe%&C$D^1)_L2EiwWOk9uZ4;GP&SHQNmjlBw?THyxaNhyBvta;9cf?k*Go zc^5nfp9yc4mxh3V!_SY-$c%>jyv--T*M86JM>;ebvNQkKU4CCM88SOjvX{~IuIXej z6f!8ZanlFVHax$#t~PR}!D7@_kOW7X|Cv^V)v&0gTE*NH_PM~f95Wkwo|f*pc3_+r4nc(E#eK9F60S-#!>vBzI6jDp zyvo0M>o__nfE>4TRtP%xO?sW&{n*{h3MWN2C6eZ!xRE+iZq3S*^tO;Hf{G&`YX6Up zK3H^a$3rAhl2 zUfkG^9AM}RgeDdGp>M;l;hjhnc2nJnjet$1s~a+?MU6O0-Mp(dR{=+t9{RE)jzk&$ zx^my~$1!txl~66`zhuY3%NYxICqC=4`1jvMp0Utav)N>4D!WM^^qd?D(~Ew5%c-!E zdX`FfA)V*8N;N#Kf6 z{PUhFN0I&LNz_=1mHZV>r#94xx$Itv_8LdhUw1r*vxHfs!f zT?x*v%m1hKn;BFz;$I`AT)gL<|)=(0Z(p=5WkH4RP`_fHqIUbLthR!WMIUY)y zl#C)$G~mDSLc68_N)IKam!T!FsKxm#Y37>N=Wv=1v7 zu3}#!HB9H&%{`GA9)Bq3+~~AW?B~{RRvq9WP5eTRaggzHJAK#g_GpS(N9odeQ+Eb* zVH}V-Xm48ekfd#0%Ang^ahh+OF!V7`TZXQ#_k_I=&y@gpw4%N}<+}1+JSE$emV@Sq z{lS`v>GvVFiFW&xVXhHbwlcwIfS@ZVTTPst^0n`a`O1>6E^}kTfc$q@BrZX>p^-j} zwppYBz6IyV4@{d*3Vsz^Ib~dj4#zrA9jg9F0{o?Kl8U~PBB|Vn2GLl{g7BxGsU_E5 zsX3>UE*Zygv&-jWF1ePnL0&ymv5fmKZ*Sdl+IR8CsLT`wV_jo+B8TEEeovMI)i7lx zW7F2E2a6b~g!QW2^iGFk(FC$+GYWH@+TKd1B+*nDMB}zJBOdI!k*i>5fm`%dyi?xK z0E*o2i`Y0|I*iIf)XG9$X9c%;aNzhz4!!P4?DaLqV3ngoy&S})(h_mH#7hy~5j1!A?iNPQtlsmE zp!WSR5QN4oV-{&q^VHrm&q+fx;Pm=;ttrtqJ;}uU)9v2Dk%n!s-Gj{jxG41Nl?!@ z@UnmUr^=<4q1_O;27C+YpoEzvdr&wa>>w{kR?ef|OOA%)p}ZDIPywr(+QMGLGN^n0 zaSb$Pg6fvCw(<=f-w^lueuJg}TAxCFQQRUYn7g{>?m{Y!6(MAy&oVbYUI$gU; zz=PbvcsWEBF_o3j#9$i*VALGkZbzWipBJ=Crs6#9p6eqv{P#9R8=r@k$Mfh){~YFb z4yBd9Y2Soq%~%bPo9>pqa^!V(KcGgJL^+2kW{+#Mu0XkuEOVNvpXx^OBeewSqRqbu zI0~{}F|oZNSxxS%?%jDV8w>`0|18KfQ?Cgq+oZ&?3Sk=0?m3rCBKS}yV-KinJEQkf zB~#)gT9y5z7@kUT+pM>$FAKSJ!?*oC?!}+A!%(RBspXsc(&)fV zdD}ojRCM#S_ibhT`AtIz2evLPhl+I)^mzC|6ciZIXqW%|>c0+DH%7Y}9_QWGaF--~ zWJ${MKlQ+c)|fgbNYdJ{WiRt1Vl+?n9>&BzV{x)4Dqex5&XY^! z=wXRd>-Y>&yQi{EV&Wi-in#4dW52l;U^po2C^rZ0s$EjbcG>uC>E!SpQ1bK%-CxY8q`+0Y2ij>ui_c21-ScoiW&pxd z0MJ@+-`A=*$x*}WtDCS%RTkL)jTy}Td}u=zPwXI}KAhiQB_6yGZnA+!BXKvei;xMi zpf%|Dn*+8Wo@<7Sr|EhqyU`k_+l-@C(HmA4t~NP=Jz!&aJEP|jv6OQGQzfO9S*4?x zNNIM_2=S8V2E3Msn_tvxT0hdELig6{izn{FAusu`=i2Gp+wA+7|JR1JYrvZs3i7bx z8vi-B_(k~dxQdO6Tc<(l7{y=;Il_aeBfkcudcCp*sE1_Ws`b*oWB6m_6(KK{V;7Xr zus$6FoE5T>cm6GeWvSH^57Nt}NPw6_q#`5@R()Z?c9;y|D3m(29Wcb^C!3;Qq_aa; zny@_KZPb;Q)(FnY^VDFEWSc!2`w4-GQn+7AH2ytZy~mJ3zjabKA^`#1f^zol-_CeL zU!nd@ktz{u0&l$nlOogku3>947YMl90foF|QbO#|r5IU^QnL;QXAf6Zd&b22s6j9w zuk>25Kjymw^0oAHj^N1w!=3h?%PFJ!eoAtt z&e`LbSr0*>=Xan>Yfl<8oZ+o6?RCkszHMo(Y$P+UAzj{RrmywQ@SZH+vI#FMT5qB! zR5|Thl?aNcxO|tzerF^XN+&X5nqr;@LI)&*sq+x}|1UXUMlCZA&s#aOU5SQGLQ#uQIF^i4}H09hg`^wNld zb^C9Vu5O@`86(SL9yIP9?O5Y1p9>zTJ5u`qlAgD4O5AzkvBQar63 zu5wgzGR0itPlX_Lv_DBCEn&j9msI^6UW$p1so$S~0*c#{z#7Ucd$iKl&Y`fhkP5gr zVitc^kF-ID=&i5E@httPj826CV>I4zKEe)TG{MB{RIwI{g+wW7GJ4n|3WP+fq>u{Y zbxLLONNnjYnSFV*D(Ow>eQUI*L~e8GL5jzpI-)aD`}9(L@eJ`uBo|5C;1$q`U<(Ar zn8m`3Wj||S+tGk>V;3aYzxkoPU~lovh?B8^@cHM$>w%5m4!^yS0Usz%4ruL*vqJ7D zIK|lqTmomfl#s6x#PcIV;X?_g@bb&Jn+K}MaMWpj8LvQbv_zwp*9vk1Zjh#A%xIe*_L> zBa;g9`dZAIxObOZZR3}CvK8`_EbOJ-xckTJTI>M!Cv zQPiVKvqzyH>IM6GnphbbZ|q5S$T>_qJ+LQ!Lu4D)ivgGwUnk-Z^Wsx@kOb?)`SS0! zX?m7ONb;TF4y51V5yF1gyLFkK6%ayx=fAm|nuQl~c=x@&o1UF@#;)r#Na#lM;q{@N zgM&Co|5z?e;hgY!=fstSl(#zFu5AoPU*(?L4M3V_sSmOznV6<-q<9->s9l|e12dl(tJ#+e?Rq29(W^po1^YsQAxl#kPhOxFnusj} zM|Ucs4P#E0oU24o;2PS9IiXCGFm^2NPj(BDkQeo?4U8lELaQWO0#By0bY#!t@(kxL@_R(7!B-;$kP_WNs_3K{ zs+;59eQx9D652M_ zpUa+4p3`ST`S$jGQY)UWuC?(XqWIsr6wH1e1DzkA&WYEA8Uif7UfYR%uY%t;sN1n< z^2GFw{K~hb!j&PzND-cXBpR{*R>mLk!ih2B55GZD;bomSS_q7!z@oqTWeWG+f^AD` z%aX>(l-Az0@0>eHm1e8w4%j@Z`>-WSBWEg8YaH^?#Bw1}Gu8a~bZM#6?A5+0JDHnrNcJ=Udm5Vh)>lue5UB?4oh@a0z| ztGU)soJvMgm^8iZlGmEoJ)4|N52h@}T^ppXtz^I|H!4y<{A5LG+T0L#Y z!zQU`hrDy`A73DM?YLpLr8fV;L{v=kE{CSO-nygtYzjmcb*-nJ!FpE%kBQ5mMb0!) z7M#JR;T?>dlQ#rbf zrwMPzv4-coyk9wxI=T{FgQ!cVi>8Tfm$QcFQZw3u2NKZPx?D`SCtRSd`nGb^mK=7q zYwZ5bv_)=3Y?W6q_P3vXAXuf>t8@12cOQG;U7fTWwR_Ve2HE-Eh96_>!_Qo572A#H zR!tD&&ZvKN0a$<|ZEbI686pqlb&i7xLkax})5>{8sAcyonU3rSRx|TKMU;~N*!W@} z2?)7)on7}%CX^>4uLuNqZnZT|2ys91AaVP<5I7OQSI`tE#v_nsh*ZK?&{CvjG5-3l z7uWuIWRaCc`KuPdb8z%KOAwK2Qw`v?XVF)K+orKe=RCQ86s-&W>j6;WEOVrz_$z0v zqAAI=Y*bHu*9iF zWWw{a`;RxY8}tJN9{LioRabqXskpF9+zJG}W%aXFrqyJd`JGF z@kC-ZP7S{fM6+D=x)tW!pZZc0#&C7QD*fu%dK)9Rz-5*dD68X!R>`-f;|~XIJZUL= z(uWXs%mq0q7gBTT)QH)uPq=@y#cA=rq@f~F;tFUy;y|?o`Ut(pU_mm=C_PbNCfO=l zd+V5+7!%*6CeVVc4W+$gtVaA7xwCG9?7xSbJDtZtMKWwyo~NzSJPT4_SNvjx8j7>> zSZ4gB$V^aXygeyb$R=7NJuo)jM}!E*iw2kwZz+-s??nqtiC-1jhVxBp-4M z^b(fQQ-J}b5Awr(1OAeIeVP$-KFB`%s`2`YaVlRAQEys~ujC-w4e>ypCvR5G6s)*K^NbOslZ(L3<*>R^RYV0Uk{N$n5JVF z9DBUd_Lin;RKh602vI?cqQcOp2~(mIX$W0Fkx`{#EC7gD!-L@afl6T_xUlAQDyPL$ zp^aD*5;S}T1R;qcf0~q-MB3pFnUcemaz(sghp}ZylG~I_64Jy3sc)m6d5J!32XugZ zWILEI+a67j~v z!cEYOgar6HaLqGw-ojPiYY3Xd=Kl0q3s*r+f6FFq7O@ha15G*+XP~mFx$yv^jyAh? z{p*2?-z>oth_m^*B^{4;_4?X_On<9_SwhYbW-sY;_7VQp1z-Kf1$~LINz082Km*7+ zKFzuJ`w4G=aZ#3HS}Eplg}EdDg#w9ZX@B}aU9dH`%^~G~gvG+;@VdrcyO9M$YzexK z&UK4=z;9u@nw}gMXolrNbrX4FdD>s&?JoE61!MnysySh(qX41s#S2nHbkJ?|%MlAW zL;s>x(l50tb&6cTy3s5pC}E4}!?{r|)hIoQbi*xU+mI}^(U?X55i1~pqg1Ae4x)ui zr7^QCh#VLt#<0knt)V#=+oOQ9R0c#0sACWnUSmKiVi**n__qC6^xFHFcWI!A>Y&jO zpZ^?>5o^f%IO=)|(IhfJ^mNcB0Cs!MVUrlOJOKW^%Mf!_z!wx(tCo5N_!hk)!{g!3MCFuM8Ko$X*d;*m(Q zE{%uMcG0G!w(z>d`p@?038ceshir6yYIEG3e<7 z!W`)bT0(5$+h{ja9SQeZLpP+m2vbZLIBr}=T_9!!_|tA!hohs?=nU{YS+2VV?(k;0 z_=T=j`X=$})VoUC9zFf`mj^+nP9y^+Pr|*HP)*`G-7cc*M1#76hlo{V^ADfYbkxIh zY+tdL^l|x_4pF1`cRcB^OIF6hM1x6SL> zcKz$1JFtyj(8g0}-}HAJ>h|K->dkzg5AxN&JclmD`Lo@o2t~|1hMp}LK5m&f9SvXzSenU?XqJ)F^JzUQ#*WDvh zgXKX9fd%1vkb_)df+KnDm%Wy-xW>t<8UFSmoclYeN?!t#LlJfQyoPtXg^k19jCPUp z@I}xgtRtp!(2D$ho*_30#Yobsi5(OmMv&@E;pR6aG=f`4tAPTfa2^7F8-ihr-^=&} zmX7?_=if)sd!xGOos-G#c}L}Aj|qsmbDg@5Jo|4_4pQRPNDo7c;jKxFGvnz*Y+$V! ziaXV74#K?M{_W6);|;EzdkYG zlGAm9ex^4gBkR-!s-`T3A9p;8$yS_VX1gWAc2&{P+ z359=PK60$B8VjMGb!rI>|3$YotTt^x8kRuI%3dosQANvYTvHn!!OH4bYaSZG%&J|x zA1Y<$6m7tboEEbyHDSZfqI?krSUFw4ctwc6r++6!k@EOGHGfWx zrsQ=dPZ(`)WDbzzELpnopJ-ZRnoYWk8A~rdP zHky`L=}}r+Mq6S%`j+mHW8y5ijrL0EQ`jr-7WEK)f^xz#`7BvCIV-s{IgPXkM4To) zL_PGG*ujE7Z0k)-UaIT8q@oR7E?jVw8iYkeX1}*SS+Ei-!i$N@hCED!vIDp~fS&B1jp0l+gLX)WmA?o}_j} zJUmP>U=}wHmUKY8@bp7L!GYlW!uJJ?M5uN|ukYGn)jv5&>PRe=7-)!MqPg(dD;9lS*SIR#LP`zmklTT8l2E7PCm(CQ>G<0Qdl;n^J3j#*+i? zAzP@A8r-sb&7s}skK){!jw=H_u$JTmlH5LfzA$f0=XwC@J-5&**gERX{ffdh>{_Pm zEJwsWJ<$4AN4D7kS^ytHxiEgI0~Gg$2Rb7_bZ-|H;;44!BSaQMm|iA+-6?ez!$>dn zsZ|pL)NR=*ACqm&ZH;HHy||%wx+9OhNfV-|e5zDvRG`UTR48>2s|c`;O9R{-@euqF zwgssL;sK%(Zu$4=-tq4T%u~eE4}qq#lz>s=*M|}HABeKTty&Sg6j;P2%9xWGFyIY1 z(TCa$Xbty6jVB?D8i*jVQYD#2rk3E)KHZ96gH5!$WOca7GUjB87L-XwL<+5jZNtP+ zW&Tcd3z>#xLv56sVzqvQ3h2$Q3e*aSoK~)WGGRlluPF09U)wdoX;w5~MKh^!*>$ z;e{+BOaN0$FLFL(zY2j_YCQ@zW*WZc~i*U|ObyxUw?q2QP=g&R8PK{kCN4}P>q z{CEpm38NBS%+Hu3up(;a@`qsz!4lpOJg&l+|MvxDrua!yht56+M2K4b1` zzzU{_`A^FaJL9epYq&+UBbjvFo)O>f>xZN|T*Exys_UBZHmn_9-?Q7A={B$(wVr=n zzwSCl&yWqCyaa%tPoSxRV!2O#uB?7m2mL8g#arPe_5 zz60+;>cQ&a%OT6b4`5Zuwg|T1vOy(%D#qO&%>#|b?e+XDpJR!_z}zTL6)Idzw!W&^ z4l^e?qHS4MosAy=kHEhfwxp|%dY#S}GY=fATzWgsexsl;9|tJPSL@=}_mELPqSw|= zP2;y%(1H%SmBJlCJOn$io){jf4rs=ude&KEMyDT0Y zrDpMf@@bncE+4DD*Q=K!HArnXo0$=EhZ=n~gl%sFI!>LVU#&+wMsU?0jeJ_9)i5hy zE2t~DDLN=nI!nqhJ9blQI>%5olZ77(epCj9g=!_{ z*?OUlld&pek+*Ue2$%IY;}pO0shp)WOfH6&BX)^f^-e@SIuqZ9vjSJONpc#RL)FH5 zsYB^Zq6V>r-v(PK6z*t2q1;r}Qgk^250680Nk;6Ll2>uQCOQv6LSM(Mxf(=bm}Fv< z*U@QC{*Ta5cK9cih%v5NZ;`b`JxN1A2e(;g@$`0e6<8;9Gvwdxgw2gafIUMHi+r5p z2dD7;_}lUKV}xVyKn!RBg3T2UA^N z4MG`SyoeGHV!m12mR_gTDj?!f%vDFP%JD&VD74^(_L8SP4=6ZR6~9X9AdxF!a3d~q z`v}wqt^+B7B|vjvJMa+5I37I)Ken;pD|II@UB=E#q&M#?cgH#X#=eu_kjR|m5WhpU zLl&Um|I=U2U*t0pJQO@9hzSxEl7%r7L(iIY(L@+N980rH&J4B@L0jP{qZ&#Zf)%~- zubJBz>)7r1!ua2$7P2#mmEd!hb@av!v(<6VvF&8?uQ1!)m{0eUE>z5^uamh}#mB^R zW@jifq4A3NMQTftSlL*~naFH>9z_+n&{mPt_$6c&zT(W{kzy+Lnnl&3DVj#NxlZlPuovt7@kAYK&3Hl4-6Q$?7VQAeT@^zBwA+b<3DGn(Pxe|&T z>J&;k48wO$@GHfcVna#^R0h=Q>n6=lOD-ZHBM{{l>=yMF@)q+J@s`jToG1J}md6_d~+!Z&6UgAts_u`2Zzf8a^7*WX5Ee30xV3Lpadxgm3~v zCUyW#xhEeB5u45m!Uo+2-Ui!-_!Q+7rt-UbSmnzdi zCLzPcTFXL=%>H@;U#coSk~h>T<8gfk3bH9S?S0Onhme!dsj#WIsm#?jTFVWm3seQu zIj!hs6h~ z1v3A#$5`RbHJA4;+zU5B$IZ|5?U$b$>k|)5Wqh>?|156wGbOvWr$yFLYMKX@;0}>bQiiMU#X+V zdU1j+5>u0ol8zD#y37>+MmF!~a4nn_cT07~3zBS+>XUAf`N?=oy(ah<=G0of<=cyZ zKodI6XLAZATT$*r7i53!t=h`ALXY8d9lVI{-pB8lA8pUy2%6V=oAO-d4)bY{cwo4- zoE?us`-PQz_jZT-Be7i!PP*c~jBg7^qv@GN418}JCnhnO*)shd{iG%2MpE>m>CrSX zYUSEh^nCPg+8corQS`R8cI}OO6B+cxdhJdvGs{?-(0VC=j>FT8XfKX{zPdi<+5JzZ zoWryGovsIue+)YmhZYvS@V&?Z-vYiH20HX{?eSgfKf62&zEi$qo=q@=iuoIf&%Q(owyrB8`Q0DcEoEhM!FV!Mtqh&{jD>PiG&$B%;qja*VovkRmh|CC`^VYS0^^0bfvon8kc=<>>hx6jr+8bPq zpMtkcNOI2=K##Fux@zVzT043f*iGxh+R6OreV%bXy)FxwPLoL(M65r9*t$DbWfSwvlkUC4Y+zt&cNW&9QBNBlaUHe-UwvcsbR6;6lASlglT0X$L@eKJL%?!-svT*M7JEE4Wkt z(%;czNI$rf$%BhOpkc?XcQ9}ya8fqhfU{fAyXK!;@oJ<2OO8u{J8iC#ovNMkxzf2R zfoitud$DW^2sCm3k2PO5oJqc8>ZEb+QWyu{+i!j~zDMmnla?~W!A(^6ylQ@jIiit>3}77mLi zq+^m`snMtf6cn<3ofBQ0fxrptq(#&+xH3}(Mg>AaA?{kI%>%%A!$<>JDOFurmpf?g z`id+>8yHyh@Pv};*;kPr+GTLd3w%i6VvdEIR10el^$OHZZ)em}*CNy+*Ams@)AG@x z)?)6W^IX2M=}DWZiaQT|hj{rW0Ztx%6T%Zhn{WrYDC!Wg4Mt3OZ-{gL^-(M)br)2&MCq(?)mp~4g;7| z6t`$Lx&Qt`UrD4ad>SW{fZk{I=R#Y+Yg~o;>-{Y5jAFK71bxI=1b#$kgipjYpV?oraQwu!5`n=V1p2`AQ+IeDz&f*$HciM0V1AaIAl{Om#9<`yb%%+ zW@1c*-~OThizdQdz+2#4Kw3a9Mw3u2=2XGfHm1`Vvoj-VEIc9KAk!t+CEFn7BYR4a z9E*Hv5D<%o5BMa|VW^T>eXRN9QvX-`S^Xie?rkRYRaCQJ z?)??lDg(V!WbkTF49~yfNpQ`*=OlikNz9W7mk5@~f(9G;M@*PiypX&h0U*Us;X)w@ znh-!Fk|*MfKiCr&n}5&TDIsUBA*&&`C$T59C%quMAid}?B2Io%3^wo9H`sRgBzr=mf z6MK8?W+Wq&M`)-7E=>S$uS_`#Q9KeSnbI#{nNgO0p2&F}{8K z2J`I^Y*u57#E2%s^4qu5DW&lgJqLc=e+&CuVAlb>#NbUMxEz zz5fcG;%AT%7}htKL?iuG4%m8($SJ#$v9~Arz@D0KYVzEn&_aEJH~MAT`LswKYm`{2fIVCI|aLQu=9f5EfQ{@4EC8|uLk=YBG|8j{W{q1;(OO%{|xr8;E)Io$>5L*4oYxH2Zu~>$OZ>3IOKvu z;dlS=?_t}66&&pNV?Q_yg2N~{jDy20I4pw0Dmbiz!#+41gTp0~?eGi^uiz*J$7FC! z1xF<~W}-XCVsI=4$4YRl#)}_Afv0U0=aX z3U0~ZmI`i4)c#fsZk4Frtr6Us!7ZFdtc-t&lyMsew@GlD1-E%{TL!mv-24>W&cW>x z+`Qm+4Q{vK_V|0(NGJDnaL)#JEx6}`dp@`qgS#Hw%YWDRzeEbT$6j$?2lq{I-v#$W za6d&7-k-rE5j^DJp#+a~@W=#@*y|qO?(m4+;W3U)@VG`7o>K5k2G3ORRDx$ZcxHlU z>=DmO@T>+;BY0YI({SFu|Mku_c;15NBX~YztNm-FhvzGJNm1jM7QFJoOOK56ii5%{ z9O7T%F46p7ag2D)O>RVR=fL2?Yq2_)x`+(L2> z$ulG`kn|vVh2#yAQM`au8d8zjAXWJu<5wj?stPF+QWm6YkgCVcdywiwY5=Jrq<&iU zALA~Oc2c3Y|Ni&k2U!ET0CEvz9po~|2FNDJ7RWV_8z8rTH4w;SkS8F|K%RrV0C^QX zL_UKYISMFAP*R{Mprk>`fD(BLC>2nupje>PK&gY$0Hp~^3zRk}9Z-6)6v`Ep8z>J@ zo}j!SEkQa8V35`zoriQ0(mJF|kS;^ogtP_e8l>xxZa}&T=~k?de~)yUjt!d*4f{`V zF#h*QRcSABaL5!OQ-q8TnKEQ5kf}oEJLmm-q@qmZ*N|yLru*yag3KH;3&^Y>vxdwD zGQ0Tl6*70oL{S6OG^iO+v!H6A79usM7N|C;jkrZG7D7G6w;!(yas|j0 zA*VyG47qAFc&-6C2Xbx5bs*P;Tn};s$W0(OgWMc)TgdGow};#ra(Bo*AoqlP67ng? zE09k^J_GsKo$?jP$7acgvEpBUj$Wuip$>%x6k1T|LZJtRJ`@JAlz)hnRTx8I3WYfo zmQYwhVFQId6b?{0LE#LA3l!o=QcOZI3j0tje2)=nuULel4#hGQD^RRL(Tsv86#H@e z85HMGTtIR4-7!*8F%0;>|EKVSo(4SwdKPpI^aAKQ=w;9=pjSb+K(|3}fbM|a2E7A% z5A;6h1JFmHk3pY+K8yWEf5ab3LMk)V?NZWGP960hG% zXt{s-xfm-^ih;@qDr2ZjpfZEX94ZT_tRnd;XQ;SPi33Vif@%_~DX1z?O+z&U)z}HD zWvEu5T7{|s)z}-VZK!sj+JkBzsw1ez5?0qx-9mLAH}c|TW>{dgK+^Pb`>)TX8OBxq!}{-lawh6Wcb`9+MZz1ECXhwEB8rU93 zquO!kw@<&-xxYknux~$+OZcIljn!NqL46GM3DiT!{nwvv)@Vbc1C1Uu`p_6aV-yYA zSV3bAjSV!m&XhUNvD z9yG79dHx)U*o^QAI7x6);K<;FOZ}h!`RA26I16xA;H<%kDnW3r;M^nEY$?!6Ln{NV zEVMLe<)9Tu_LddpnpO{5eP|7!HGo9ibIR>DCikFKA29PC`2c?bvSZ zBDAZ}HlS@ny8-Pcv|G?_$KwAb(nGrg?RZ(Y=g^MINNAs-eSx<3n`-_Nsiu>RCfiY= zqy1cj@!d!jou7*PIrGjMIveQhptFb00XlI?>O7$v575=1n}covx<%;f(2ZkGw*g%T zy76-9j-fk&?hLwf=q{ieyGi#9-FQLwBq~&GxRUe_kQ#Gzed{WKcWAEK@tWs4B~V!D8Qfy104os7*t?Tg@GB3JZQt93xhZf z4CXLcz+eS~H4HW|h`niWg~1&Lagi`o;>9_PBkiykFPh;KhA$XNFiOHG1*6zOMg4otc*>BD3UlL<^_Fqy+-0h8EgCTEz$3w0WgG|k2?GqvIcJH5j6 z2Ga*jpD=yFOoCYoW-`nan8iW)4-tI=vkc5MnB`%n!>k0eGR!J4vtU+(Ssi8#m^ES6 zik>|i!)*SWf+OMtW_y?&V0MDp8D5E6ndOk5#`=V3CGJ1{Oaj`}6*y5l?pUfW;FQFIY;jOu{k+ z%h=zSMOc<#8HfC39hMDPHeuO1`Pu!#$UO&K;7*n}bFpMPp&bA`MATZL^M zwhh>JVcUakAGQP7j$u26?HslX*e+qahV2Hnd)OXed-@(T(#rM>+Y4;t>R^|IT^e>7 z*r~A7V3&hk5q3K4%HM(d4-uIGy9Vr*uUT)!66BU6dYoQITYbgfkPDz1{^Fn)ZkEu zLjw*?IJ9CkcDTU7gToaLH#mF;iipdAL+q``G#php#)$M-hGPYeRXF~Zq5lvu7;uae z#4!%($Dh^6@8c$s0*-NpI7v~HlLn_8oC2`*>2T;LMBf-8ZW1Xl((P9<&;Tpipp zxD{}#-(y6|aN|1BZG+p5J=sfxmjN#eo(5hHyaIT!OL!J|Hh2zrE%4glb-?R`Hvn%0 z-Wa?Icr) zN*$F3Dos>caq}@M^SJpAl|3p4R8FXzQMsVvp>jp#_B}?VawRPO!^DK?$QdxLW4es# z3Z|==HZdJB%b0Fsx{K*PrU#fFVtS0}38v?mUSN8K={2S|nBGN>h3P1KVn)GC8Z#Np zWHF;*CWn~_P+-QyjD?xlteGBW`j{DDW`vnBW+s@K#dr3YIsO{cG4sUC3sni#B&sP? zqt%RR5!Di^vFoV~RGX-_P;H~yL$!};%#r*dA_GtzqB=r#jOql{IjT!k*Qjn$J>XBG zDh6eLh)4j;rZJnrY;5do1+!JmnwYgPTf=NDezu3%K4u4)9b$I;{kTZI*$AU!c8%E$ zW_Os~WA=dAQ{455S^~8wE}*8xKVvu5>ZmnPb5M(&RU4x=L2ZWG9JK{%>-h2+H5avO z6iG1G##{$;Js!-y%`O7GVAmMItPue~UyBA%KO@ zwSWIpy22a_3oNX#u*Sj$3p*@C)guOZL|C#q7kr~{;BTxQY3w~ z8%bY{qegX))dN;fSUqF)f>jTzH>}>V`oQWFjbtwh6||~o8L@XnYy(;r zT6MG`-%1o z>q)Gqu&!V|jr9!HV=u2)upZ~KdK>El|xV||PDeSH6l^&8e7Sbt*ug^f6h zG&F4Fu@R@PhJ}q9HtN`DV55nRSk%UMtc>UlY)r8c`(a~`jRQ7L*f?Y3f{h3%V>5|O z8JlscY8JoyM`mg2*eqkSg3T&6V~1?EvDv|9KkhNd<^r25Y_74n!R8K|`|mL#n>6FN z)4XEyhRr)RV_$XB=w#5zqNAacLnlsTj)jhmP9tvAM`wV}2%RxH6Lex{b@u2S(K(~z zqT``+Mdyaj6P*{fBy1(ImBN-1J-C&_RuNkzY}K*Vz*ZAmEo`;1)xlO=IJIWjnqw;h zx7a#k>w+y0TUTt|u=T=r0^1U{lh{sUJBRH&whP$Sv0cG-7277Z>)4L)6}J1>j#E^7 zjqMG#ci7%z`+)5ew$Ip(H$wgx(JVbedyjU$6}V$*k%*iB(q!EPG68SG}U zn~U#Muxns9E>ya0>~^r*!)_nD1MJ3Oxx2>h7Q3<6c0KG~v3tYr1G`V`zOWZNZcoEr z4tufV_RKg`_x9L3VDE&zGxjdn^RO4o)lXty#=eUEEcP|*$36QIYli(c_Pf~cV}F4C zcvtj~5oLq@5%$N}pI|@U^1%KR`!5_Ma3Fm*jZ`*B;vj_s1qW#yWN?thfrf(|4q`VP zSU9k85WC@^kAndYM&DyZnjDNH#svp);2b=0@WP>l!z2z5oL}Z>x90e5<3+{r*<(?}YtM)ZYo`ooM|?7(Wu`kA(VbxcuAhKWqPa zd1t%t?C_l(z18+xJ^pR`PVC=_!&^?h<;CaK{k(dg*XUhOzUzs%+I?%IcfRsglW#Ti z&i3Bf%HJmM#O-aT-?s9u<=!>@T`Rt8nRhMywt8=?`?d~mYyY+$Z|nX}SKjH;J6(RK ztM7CuO!b|ezq5dF#IuMh;SHZ?BVJE?^dMjks8^5RKZadM<$Le9My0X=Y&xo zN5i^BOr|oxr^{$6) z=kNORNA~qYb>6b|L(jbB{trF*L$}{@@10!!Ek-$ij2I{!?Qpcm(E&$s5j1+lnPjZt zIEUi`j*B?fzk5Y`9mf%5+`zGeYmfPI@>Q;ADi8F;1p9nc-xP zlLb!JIEjPD38zV%rf@2M4;am2s^Bz@(+o~EoW@~cYU0$wX$`0K z-%7YYMg$Q~$2gtfbc)k33I0A5_lF!-O@D~PVMN*BEMBCuBF=Q2m2pzSow~3^fXJXaP>ruFPE8Fjy_mBVjr=KVI-b(lH zSAO}~>;EoCo&N8^Hxc{CfBnm^H+IpD|6l628xg&N^J%nYit{JVU$~HPk;Fv`7fLKo zM77`|PWFo;E=stl;KIO#i3LM%;Hje z8;Q4(d>i?fJ8~WR*zK!PFsJ)HB+c><9#oM^O z&D`7QzKzY>n7)n6+jzZ=*4x;=jnUh1-)1;+Gvv3nc)w{dzK=eOa#jqBTZyp8AEOuS9$ZKl34)E^@b z2$!+TFUz>B;IfKK6PFe)Yq*SK&9eXZK9NqB^B60wlDJCY>f3Q6f(Ta%uF|;5;7Y?) z4p#+S6>+8GDqfbW2Cka8a&Q$V^3~|qQ1+u}{wP{MinX^~{ZX`k=<<)^;74)zqd59e z9RDcRe@zcRbnQp6@S|A#QPh9v`j4XeqnQ1nhyPA~6sJFm+o)AB@$0;P6eAGyqgeX& z_qRO$p(lRm(vM;|OzuZ9|3eSskn*Fr`cYi}C~kh}%^$_tkK+7Caq*+L{Gqpg=%pWe z^@pDNp@+|Le(2vGAM;l~iTqzf((3vf3HZmDv|49lmsz)d^RSq!S`T9fUdMdef2RMl z^tbtcjlW0#>#f9Fr+KA7S*Sn8T+ybB zn;vfZxEbJPgqtyLrns5^J#oc+(B=`3u`S|O$88z672H;F8%LOJ8@CGe)Z?_~0wOuduez8KRr+YxTZxSiv6f!h^sH@J zIouU+SNt9(n*C0XTUxk_W5%wByFTs)xEtYag1fj@-|cYsZL^re*&T3q#N9bM4fjI| zv&nzNp*!YA_6F`v+*`P>;l6?UChl9fZ{xm$`?zS|&v74<4f`|hFSz&Or^GzT{)+n> z?xXWfcu3=;sq7cCC68k+wj!FQyWj6|5N%^g8w7^AL}=E;*Y=l z`Df$*v;Fnf|5N@y=fB^I`HoW$PklTM@D$Jcw8qmGPjQYudB4THnEW`$1^zi3ulBQr z=Ng{tcy8diiRTuc+j#E8lZ^S1a~ID&JooWD!1EZ-Q#{8A_2;(AuaV*Mov>m?;SwjT zO93xMyy$o-|Gj>R34}|Wqc1bO%<;0o%L*@Ryln6id-vsvmpfjbzv(aL4BQmD3c6`@ zGw5c~)zHnM8>0Z%MAt&MhOUin?B;GC-2u8IbjRpU(4C<>M|Tm+93yXciS7#BHM$#g z_vjwcJ^yx?;*T-B_TpU&^cv_j(QBdCMlYU;H%D*zJ!mAV7rVQ6M(={2hu#&v8+x&a zU(K>~q0BAM8uP-U#+iux|zXPO$F=`(Ci02K!mCp9lM8 zu-^pxZLoKPy%+3n!TuiXAHhKi4svi%gF`+zn8BeI9J;}w7aWGcVG7aR`3;S?Os!Qmbp9>FmY9Od8`C&xd<814!+Rg^gYPjSv)tn)dSBx`UZ3}0b7tHsve4r@c|9zA)bLTqM*|;Ce8g4vuzkbb@0yIL?A&cxx3LkHPU29Npk}4^DD$Qi4+^ zIAw!VDL5Iy$qr7v;4}zM%iy#MPTSyg2u{b~bP7)A;B*U4VXsGUdIe`GI46U%8l1Di zIUk%$!PyDUt>8Qi&X?el2rg1^k%NmGTuQ;E99*iw#R)Fm;4%y@ZgBB}%RRWf0yh!3 zQsAnAn+@Dt;1&Yc2;6Pp?gIB1xR=0n1NRzuiNKQrFBN!7;H3jk3%q>b6#}mqc%{HI z0?!IOC-7Q<*9p9C;PnD;6nN9Xn+4u7@V0^H#=4II>|=$GH9j`@*yH1Xj}t!5__*LB z+O@@}gwG^CQ}~qe8Aq;X;d_k8e$QeY>Ynjpf6l%eM5cSjG4c5w6JPOb1D+Rnx4^px z-Xplm!Bq*a`QUmFuHmoG;Fbt(a&XHBw?c5!gIg)Mm4lld-0H#232xKiwg_&k;C2jd zZg9H?_e^kCgL@&kmxB8;xUYiyHn{JD`!TqOcOSw16+EQikqjQG;GqVOZ15-r4<~rE zg2ym;jDm+3JQKlF4xVc8ECtVU@HB&`6FlAE8Q!`FuSD?51TQssWrJ5Pcol+IF?bol z%L!i7;57?g+u*eeUdQ0&LLvbP2@*0S@{lM&!hnPWi54WLAju#pAgLf}Amu?Sf>Z^` z0LcWY2GVzQi&63`AD5D^KE4L{8sTem?GB zNF+rfC4RmY@UL;tUo9jOxnJ9gL?!-Nj}NR$Es*XYJs_EYqzuVCBnyz#Az6l`4aqtr z8<2D$*@0vil08WFAvuNQ43hDFdvXWK10;`-JVDZh3Yfm{K(3bGAy9pom+4#+K#2OtkY4jWHFUV?lC`2_L>WEW%) zlmsXeC^9H2C?!zJpctT-pxB@|pmafTK?$4PA)SD964EN9vyjd~x&Y}4q^poNAZ

UkT%~Bi>xH=gtQmZK}e^#@l!}IkxYnW^7}-82Qs0= zGsr9=d#y$Q~hk zg6thM88ij7ENCUr%Agsb*`U=yYk<}Ttq0lwv=L}y(B_~mLED0Mgq#YwEadW#D?zRT zIU90y$TcC?f?OYRL&%LFH-_94a2G8S*OROOP)^z6yB* z@+RaRC>T&Mp1cR7S)vpommOq^$4y>rW9qB2rC}YKv4yq6sJ&Jf-ZxufUbg`13eFV5%d!12IwZ}HPGvzH$iWK-UWRK`V{m#luA&tq2xfR z3#BQPW>8u{=?LW#l*>>ypln0A3*{b^2T&eCc?p#SR8*+6pfZHY6e{7B6I3ox@t~T3 zsti>XswJqJP<5c%f@&A41E>z6I)>^Jsw=2&pt^&q3x)xP35E?u6ATB8As8btCSXj# zn1L||V++O(j3XG|Nh;!kgd82)67t{Awf-rhe}vqP&TtEPFXV%ePeMKm`66Ub$TuP1 zh5Qim^Lx0+M)FH2Nufm9OejU6=t3zAr6QE7P$C>Fl(ta1Lg~kiW1I`wl@RkS84O%j^RA}X)WkAb> zRu@`BXicHDh1L#Q2WXw3b%)ji+6idO(9T1<0Bs%GC1{tSU4ga*?fCG?pCaN(DC?-A z7D^lo(~3x^MLHwWS&`Ph8%JhL=b}TRBHb71fk=-;dMwhD??#c`(zAG=y+|KL`Yh5H zk## z=&Yc#h0YN=cj!Ez^MY;yx)O9V&{d(Eg>D|YCFt7FtwXm7-4=9*&>cZ{3f(1ikI+3q z_X1rPx*qfr(37E8hF%qV4)j{k>q2h`y(RQk(Az+72R#>hcjyQ81!H;g~1F4OBifn5H|K;aD%}EhB6Fo7o_3mC0nbcE3fMlOu*FqUDgz&HcrEQ~c67hqh3@e;-> z7;j;GgmKvB0pk};B$%i$$-*QLlVW^g+J;FTCQX>MVA6(34<-Yc3}G^Y$rL6_m>gkp zg2@FYE=)X_Tw$7ksRUCMrY1~Xn0he1!z=-_B+OKpWnq?sSpjB6m{nnBz|4f14KoL3 zLzsPDzLq3(rx5b5jSq+lEh)5=&=jGig_aRoR%n{gaze|) zG672&mIYYquq?yUhNT0`E-YuTT)^@O%M&cmuykR0gXJBT4_H27CBsUARR&gBSQTKU z!>R-;16DSydaxS6Y6)u<)_GW$U_FHO6xQLDBdjm5Nx(*ijS8C*Y^tzvVdKH(4x1Nj z6R=IfR)uXAwmI15VOxN$4%;$pjrhcJeEfGigzX5n6WGpRyMpZ&wmaA!Ve7&!0XqqH zDcH%dQ(%{cT^@D?*p*<{g1roT1@46rLBdw5!zO0asJn?Lc0m=A+)E+Ng@{= z!xlMBxs%A9MeZVU zp2%HcUx$4I_FdTbU_XTY1ol(dZ(+ZK{Q>qz*q>m3hy4Q%2{_1bD8NC7LkSLLIGAv- z;o!jG2!|6K&Tw$yaEGG|M+J@JCZA)Kag zPQY1$vkd19oK-ky;jF>A1m`lGt8g~qT!(W5&JLW1aNfe%g^K|f6D~Gf9JtKjvW3eL zE-ttUa8uwa;O4*p)xm3k*95N%UJtx@ zqy0}2Ju7n2UcJaCMP3&9xG>1;B3~ByipW<*-W2&-+^8+`eUbm>Fd}wV;8ug14Yw}b25=j~ zZ3MR^+$FfHaL>ZshI<|EO}IO7Z^0u04+$PJJXCm;;8BK$2~Pu_TX-q(%EPMwuM)fr zcscOuz^jLeJ4$7gY?K_7x+qOinqjhp$ucGlOxl?2VzP(H0VYS7Tw-#C$qgpAm^@(e zh{+Qs&zQVp@`1@0rV^NvFr{Eh#Z(qkc}$fsWn-$2sV1fzOtmoeZMKM|7KM4VT`3Ar zQFw`>B#KEH zMJ0<$4wXDA1yl@FOjK-C98`v=j8K`NGDT&E$`+L)DlVoKOy@COz;qGQB}^NbwlM8r zx`pWurhAwkVS0+`8K#$*-eUTJ85uJwX7ZRZFjK>fjhQZHhM1XRW{a5}W)7ISW9ETs z0#zB+JgNm$byUl!+Njo1bx`e~+C_DW>I~Hds^1YZV(W!o6MFOpjnMl-AI2ZoLf;5| zC-lA04?;f){Vep$ch|_Qx+`=~=vSfNg#Hwzgeb+S^XHk&?_wpQ>qV&+-)hGPOVtgk zJ5=|m9x;tne)FjkY)Uv3RP_t2MqSiuf zh}sCXDQZj9R;V3OJE3+#&BL67xfbTSm>Xbjh`9ykmY7>%ZiBfU=FXUNF&8$wVeXFk z1m;!DXEC40d;#-S%o~_DF>hnu!Tb>OBg{`RKf{88g(()o4@)d;v9QO2ivNe_i)E(42sCQBCqdrA_hWZNiBkCvAT`Z|sDq(4er6rcOv67=b3sH*R zIud0`l#`;I62HDO9V6dp&q9=qxJ^rx+oIeN<(??_MR_2~qxjBRl((Y16XpH)@R3={ z(V;p~zKZfqlpmt}6ctItZ%>PgCMtPRiH=B!pNCw3Jy3hZ(j7|=EUQ=^VtIt+DVCR5 zK4STVWe+O}tQc5vu;OCnj@21fw^-d_^@vp$t5>YP&`6*mp^- zwJNIS_b`!F;qov zH5+SPto5)qz}g6FORTN1w#M2PYe%e|v39}QJqnSwf_5714B9H%d9+Jt+i2I(Zldj= zJw$ti_7v?U+AFlzXm8OzpnXL9g!Tn(5A7S)6Ihq9E@NHAdI{@gtXHvaVBN&JgY_2H zyI5aheS`HK)?KW7SifTR3QS-@rqn+7%=Y__o3#bytiaW(!+v{NOjaTQ=F!bl4vBaEyt zG-2d~5$)0m!xD!5T?YOVZCweY{o5AjFVU8jFkE4H!ng|KCXA;rUc!`wnG|M9m=V7& z%%U($!i-a$*$`$^m@Q$ph1n5iPndmS4zM}H<`SD*Y`WO=u=zkoMn^$MMJJDrfsTnz z4V^kVU37Zr4AGgQvqfiz&HNnl69j*6WucJkOMVyA>18#^uR46!rC&Jw!` z>`K^`v8!S?<|KZJwzh;h6y{i%6JgGUxfEv1^qOa3UWDlh^D4}nFyq8;rG=#lEB8G{ zWHu`=tb(wL!qSCRjyQE;jfFM&ZWr0onntA`c1zeTW4DT36T2369qhKS+r{n>yP>!% z>~65T!>)_nJN6RTQ?ZxDULJb|>>1eGVsD4NBlcYEU9q3QzJ&c0_7&`>v7fuz`%itgBlL%IOyV_hl3#wPB^&Z;DN&g4rLrF zI85U(kHZ2EbsUy)Xyb5+!y}GLI4a}Fz>$rkE{=LQ8sKP&qb-iYyLTL`IL_iYkK+=K zZ5-Ee+{AGUCkdQLIFWIZ!HJ3!4JRd>lyMTjVE0S3Z6#`&sO3bhAZkTX(?zW;YSG)( zqSg>KN7SN|N1`?swTY$U?Qaq^q4p%@wtn^0kw~P6=BPc3RjO zVMp7V!mfOGj?8AqA<}LMyDjXFuzSMp3wt2!IOo~x2%gzj5yq#9i4zMab(}PC;@~8l za2F?ioD6X?!O0RQE1Ya_vc<^`CoWDroZNAmz^RJUEKYMc&EvFyQv;_qPG>mFK+pB7qAT7kOM1aG~R(jEgERY+TfF(Z$6Q z7e`#GxGdq)z@?4LE-rhxl5nNsDvPT;u1dJFaaG4v3s*y2xw!Ih?cmzQje(mXZYH>y z;Wm%k0&YvVHE`?TwuRdsZu_{M;C71Ju)z|yYus*e>*ChKZT!yJFVTLNuph#H3i~DM zlBg#|JtgY0sHa6eBkG!{=S96J>bj_xM7<*FRZ+J@y(a2)QE!NPQ`CR^0qvz(X>R<7R~4kh-mgivoD$h(Hx29STrZ1Is45a;+?eSS~NGJxf9L3 zXdXoKD4OTE_fs@q!jXiN6i!Mw@z-<+ry`uH2$P{_qgO}IL9c^e7rh>OQ}kx&Eznz` zcSP@mo{QccuQFa0yk_v4#cK(#WxN`Awei};YY(pjybkd?!s`;RE4)c~8{%z*w<+Eh zcw6G_h_@5oE_ieC=HWeocM0z@-c`Jp@LtAy74IhA9lUq(KE(SH?<>4-@V>?S4(~2L z41AdQu<_yGV~CFtJ|_5>;bV)B9X^iuaPgVIr-IKsK706_;&Y2H8DCut5&mn4uPMI5 zD?5B0@O8r1T_h4BA&W#=By5pbiNsMPP9ouoM9gvi67RP;rf@9b)P&OzPE$B7;k1R* z5l#%Sow;z9!ikfra~94;INtXdk+GetaBjkhGi*x{t+Z&Vq7|d-Rz3V~fmDWL%+UgqjsQSh7p+1EA z5?M)PRgsNf+4&{jp=%dJyC~YaXh$alMY|!|j%c@kt7HG|j}aL?6k0-PlF($KsX{9W ztt>QCXpYdjLJRLMg|-u#D>P4NccHyRE+KMBkyAx3D{?uJGepi7IY;D%A~zDbt;p>} z?kIAu$R|Wz68V(KD>O&Z^FjQgWg<%N86h=)LcVRq)nGmKd%)BrQ!qkOX z7N#xCx-cDKc7-_-=2Vz7VJ?KZ66R5uCtY~;ZwU($2MJ;SF6}6?P9YyUVY8O%Sgq;w!By3sOs<2DKE(^OVY(vWZkVqMjA?oTwK>y)5d6sGFj0i@GD~6H%Xu z`c~9;qJ9*OlxQfTkr$1EXp}_55RH~-bVQ>k8dK3&ipEwnJkhv`rYxF@XsV)_7tOM0 z8lqVf&AMoIMRO>cQ_0(! z#}&?9v}DoBh*nm#N}^R3Ekm>{(W;4-En0Qa>WWrRv<9Lz60MnNEk$c9T1U|eJ3d5P z5^Ytqv!b0B?UHEQqFop5rfA29RDSv6uWI_bKfWFZB4tR*BU+c}8&W=z>WJ7`vXIF7 zOdA>6KGXJvb~bdCXL^#=l5BeCxhBucyjSCWl~2$7pz@2(Z#VuL`xBF>H&Qr~l1!yJ zRfcqZXS&Yi1|MJfq~cqHuV;#=8tFgD$R(38@%F^?XeLAT1Z|~hXGwc6`mC{fkvTaw zII*e97B9B#@nnl<*F3x9i-m7hzq|#pTC{ng?veEeY_a0yCLfk~tLV33*B{?d1Y3b9lGpvVCNls=DA{Uwa2Y8 zA4z=K^mBK=UhsFBuUqcxb|Hxz$?Ql^r}Bl$PpV9*;nB&Q-pkAyu|}FTEw;{ZZN#g& z&oJQ^C%%;$CVlDQXB9u^etFNY+nGosa(R;5mC9*4s&Qq<>jw8Se&OU#7hhhRB+In5rM(1^ zvqUQptwQJVJ8!@I@~fIy`|hhH|7H+vK@%JP+7n5o=^52mw5rkWoz7+YO7OJG$34Gc zkgmeA52l5hmD$N--ijw@e4OK}qc08oQ<-X6y1UYc!A>Q1zw+sTD0ix8Y~A9^x}UB2 z#r)TG`Sq%jL@3{r$Z3+3NUlH%FVfnQeu`Wh$bEm!$oeGyUbyzp9B2rt~^zW}ekuHYl>`gB@&d1s_B41R#gjdr)_HEsa}Ta>c}?Qo9q%9ceDoQn_|x(8YrmQCdlP?Q z`}ZoTuBg?d%{}ewY?k2Li+}2p=9aXEtrr$k*-sYP>3Kau=;YDCGBe2)z3PBul04ye7$x=xsY6ZX6cu|MzN`oAo_slBT^|6+aRqIY4^z{L(Um;E78oI=4@(~ zY1^fp8J*j%Kj+(8D_t3 z8X4DUwL&FzbY*Lk9TV()WlxnS(mWA{_B@~3e5Lc9%1;+R-}CcBf6(_wWq(@q zr@B8I`PT}&XkU*rDP?JHO?!r)DHCf!$VjD~El-p_!!;Ql zhZk;2n2{@l~l?lVe%Mj5V*KO^-s%98EtGtz$LN62Evrz6_Bv192oinx8A zdVEIqXH+NKJ3Wj@{zb1>GHmdC{M96X{^zI^biJ?Z`RkD;)|xmr8Dz-AqSl4h#&n*b z>l5_~tg~W^4coTarOlf;-mm!b-Y+z1|pWs!M{zvZUfR*No!4p6S6Iwy;W2kO&6%0yaWiIK!D(ZAi*7i4GEgT26qYWu7f6M zaCaHp-JJv<2n?>l-CYJ|hM(`;ovX9ff75-@7rnZAch&By+Rqb*jA^yJR4?@|oTX-^ z_SzkJ6zcXwhVHIqm{rB?g)kD(tI*m6mg;S47y8h3kuQ=!tL5=6UB=^&(nMMLz$I`V zb_?q=8J~;0-6y!w=Jv^?bn6?t!`uC_+#1?ZQJraH_Sk4oJMS%q^jJ$o?Pe<4ow|7Z z<#P$426Cp4^Bv-0@$9pknsGSa=#s)wLvK@WFd-7=z77dOn7?v zcxJ0;f>y7a=Z-0lwWX&TsQP)bNFg;(HAlhT#b>9(K4I)???;wgqj3IU0tfqpZmmIt z0hJ-^`D9!y4Ie2ZbEc=rcCku{49GR5qamSpgkn|cq3m{^S21RTuf4M{{yKz2l8M~U zV4gmnaU{yDzL9g%I{jqcuE#VC3+8a2-+QJgUJxJ#lfs`q2~SGgCP^W+EeBXD=0#%o zi7h&f+v1<$``Yfn9#D3tMz*M`Z;iEXa?`UR47zr$>#^Nya#L>M0WseQ zip_KwMmc0T?7iH_&P>I*&vEi93GzeZO}@l}Q&iy}l0L{+(HqnputJ+RbVdADLXGZt zt-T>CVaGMwzC~DJ#CLXWCNK;i;%_kMIJ>Xlt^0g+U?AcLz0St?x26;W{7(8to z(0i_>Vy#ge$>P_j(`#W9&d(%D>nt*Mgx_O#Z*Y;_)w6V;T5*=GEe@06^uV7snS+gX z-(A*dbk`2&N}lq#GqQ0TYh<6a>tjb=Qp+poG{Z2+#p&UBe+crvrPkPH6q1`YFt%`w z2Xkne-O$_Cv=(02D3GCq=)`;vPC1!S4PP(>(t&34CDSZjeESBL9`BC@{&qPPjD=O# z5FowNG8-B-^Rm&XXbyn+T44-snj`ftR!_nWVU;cGqeW}BMCQ`7O-7zQIV3=~;W{Nw zR}T-kpOSKEvd~>h9!eHA-1*qdKQZXe-_xi#t zov>n|(_?48ZSDPiM@GQOgh#ZYOXWM6ma;SLN{Svq_};JU?~#;x9*f-)qr93q4NEyU zXLejSL-GOU_w!sYo5C%pd{RrO4E67UH=|>55{ky?q|a~| zL)Kfz>BRo9S^@lQD$iTzDZgk4=26+^|+HE>b zlfPh=1oW1YLs#`z?)XN*E}S)C8^&)~X|M|?uVDmtY_akhH6Z)q?<8|;84s|b?!)wo z|1dQabUmyW3!?c?lJ*;A1<~8B>+QnKeJa_whs?7XK{Kr$d*BdGB444MM^X1;HzSip zEZb@w+rJjpPof1Cq$^s(wV-V7ni-(6R`dqkHaY@(!t;%2rzjgg|~; zxQ)%qTaj0&+=h>|co@CP{h(Ay%d{O@=QMdhYSEmQx@(iUm-sL13jDgmu$%V+BsK+k z5X__>kz!AnicS-5+B9_zh-sy57ilOMj1l5!0;fq;1+V>!)BjWft*8AY76%TpgKQ^# zj1>h}m+_V$d8zP9eM$_ig4vd-78-`DaG#fSk2YJpQ77MSjmZIOLX`w0e7-g(GPa)W z?9+Xr#3Bj=1;(%z+s)TJKP>jm0@|Nqm$$8> zD=ZzLh^F(*9C0k$&5u|g%M3qwC+=Q0HWtbR>Y57!C;Ku0cEvSm)?6L149PiMQn_$E z2fJ3Y5@mDw)q~5_4Nq3ohb;GqU0hu<70+)pJKBnG1^W*@{h{!KH*ao`14~9l-%P$F zpig1rAea}G!bvq%Nz1!SFA7s+Z3&wi8nX*b!&VdQa%)Xvnf64p*AD}2F%1tcWVBgf z@cLb*q3*6b2t&dr->zOeu@6+SqV^fCR&^436o*A=`j%twKs(^_KbW$B&lkqoH0=n$ zRdVfmTEL2+Q7pT2W@Ev$17wz_5_PS`bK&h)&TT%(gTcE8nT!Jy3aWJqTw#vSclB!u z``G!}O7VzohPFOQwSd~6EAA7mDVpQK0QDlMoK`~nTSW%6a7}yRn!1tT*(z;CZowId zQ^)T7LpKp)$ zmz*rhC27JRqF8S?xp@~Ze*BU$FaB7?@6PM28+$S+Oltp!73jA9Ug6--j1O!0Vf}>lwS|i1ONYWS!CR2k+IS z%KMY75DM818_VMm376K+1Qk72Hhw=1)Jpvad*lEHqz$`cc-q5wk4120)vIl?!N^e9Xdnu0S)qnb+-^&k*Fm)?PLl zt$258$!A_fRAHdg()(a8z`fXS@%RqsYK2vwX6*;t^Xo=zr_(<(kFosxNA{?V*x{(% zQTLwNTTI0#|BulOI^$4NV3lY#&AzuJ2;c8Sn=Z)HNUCz?pM{?iepIwUo3cyz6BzYirpuU#zNin?WK2bK zCf(L42`6D!C?h8MN3kR{Jsy3l<>p@S_$+=b75N^{#`>u;)2xq)f?=U_l#y`x??T<6 zl1~mUn(|N5$WGneFD-8RP;K+}mcN zC|xCinWe7v%PPE5=Zw?*7Px7%CP(BopSw37#&22mjgqkqjMAre=Z;6m{AF;Kup16C z+Ko|%PJO#w=(C*H%y655GskZIXnIciBBD0Qzi+t4!wo)Gyjq-t=E>`)>hrstB# zRgkZB$*h_?ZnPkc6x&oQ4hV0h%^`Pg>aD_~>ALScWYYC_*k8j&iRtGvl2!fc$Y%~) z!l&?k&J2f46Wf^8!Zn@5^V%+a4%>dfl@#^3y~kfbCH45f6xQvlZ{ z^pEgVm}&0}9LfviG{^^m8F7MgU3L!8w8R_)y)2=YO#Wo|2}ic(J$#q4=mA}fA7f;zQT#SJdWwL~i-QQ*p1ck<;CyG`T1&?wIl zsC8RJnx`z`CV`QW&%MY-JJQ{%tM8Jx*r#&QET&)684OSTMX{MMP$Z@$uX6N^vB`Wnd3^rf`;#eaE4*ljSiWG=JE~CyZHGZ@TE^E@#;{{<+nWXYKNkGW zX$@UNGP&AfmBP;o~>lU8UZi+@kbJfBfP!;teTSnX*Qyj(rp3H*b{W|H{BF0 z_Mg7Y4qnqh*6nbXqw2r91zqQuX){%@>-6jwDbV1hoYtzwYKZ2jx1v6zQiCmqU6qRH ztJtkuBxEUsE2i92s6p2*-yeSPLn^z>D*h88*Qa)x-3WPAL)|8{-T*Kf_7~pTTlN<` z3H!}@J!Y8P)9mjd6+`9{MIeA;*vuSe?*BxU<8U#T)UA-=Q?C_50P}5pa#=RYQB);L zz_IPY9qTU5HeQYLB<`U$dH4@HAMVGPNSRImonz>D<4XK1lm3n;S#<_`^Z~Dm$@&o} zBAeo=T>=Z$x>fZWSfBlmM$cDZw}H&)`hI-7gY|$CI{3jeTaF?_Z_@Z@HT$6u8+(Id zNQ**uJ^bW=Kp3?ScPE(4zrHz)zl>JsFgsC&D^;;qfpm7qqtI|RHZFcA)4_1PCU@tu z<|FNDg;-r{Y{PS;}HWt3-zvURSv^FRaOBV9% zVTPXsuJIz=!*s>ElkVB~^gKn<7|??BcELxeJH%^ zK2ruoc%kU#Y#Q77Ok#D|8a;~Zk1m9n?N21h-tba6qPKJ^Ro zz@ojteXN3p6c@G|yzRbX0uUALST8d!`ighShw6^XeZ{*G0>`j@Ia%^-{C(~rLPE8a zN=;)AZDHyKHrxQgTinEp?59FI8efAOUaTI}eN+xg`D2Vij+o8Lfq{ufVDymh>g^C~ z!0b7VJl!atU$JibIF4u{qiTd(%Qm-#OA3g{*O{S0q@}86K6%)4>T^Q8LL{&E#V}Z@ zk1|;)z+kpU7Rl@FHy94nrrX-KqQT$gu4#;QMdUfFwP zT=cjZd#<@evjlP8<<%75I-Yk&kl7Ya(-Ook&B8w4k?o~7eK*v0wFhhkLcTpVFj_}_ z^ORuZNcR|ixF;ipo*>AMAkN_=a(n@gQKN46xsSLjJ^O9nU>e>+lN}diVY9AbP|M;O z@hz6oLhV6B6yDsl4kzWBSp`uCF2FRhZKH;NmGxY2j~AZ-cUcf&cg5@Q5O%IJZb^x~ zRtyZuNrtudO?ALpAIZX;Tx26EV69JNVOzM?Oj!fJ7$Ox`>!(sIVWOmvRpe;TkPZ3c z+?Y|6@7dSPOG{B>vhdUf$i+2pPP}1hAl$O^gJr5{uO(aAN>MZ&71*t_c==6ss25U! zhR}~+J0D6&QJkb*+=smk^BNe*>$lb9*H$xcpz8>o3MN{<{1*e0_^X46^7N-wN3MGI zl2HS;wo+5+!_UK+^2_PmO3O=*6uc#sXL-n+INpW-Y%Vmy052*5;b}hov^Kp>2S*u zvhv`~|H*QnGqZ}HPSD3@6F0HgubPM5%c##d69DqygCU}oN0*S-QWm`wD_WM{+jlB)M(clelwz#12)g0X$hHz)JQbb7F5-w>gZ zhhG^gy%1s6OQTVGSvV>tMwPz2(f2mswA;`;0e9XbdYh*(krt_pPTkh74xFk3!oY`$ z`!|25Fj()>xy_C9=&8I`cV^i<`FpJHy&rkwd#VR&WYfP{(!s*1g;iqqG3&?U6qD`3 z)Ey?=(r#kemdyspS;P3f6Qbqp^ewh(E9D#Zf^3BhdBI&{MnI#H`?5qx`XkaPM0fJq@a&n}LQg|nf!!45ukY~%@!OFDd5Zp?941k*|T!!Ar z@Bio1kjYsW(%-@k6I>Jnun2fzzTmKCc_Hv(}Uf&A}n({x1YE4?g<$2 z!A%BM*zY91@{3)WJNXiI1?t2dt*tZ)S}j^v-y> z#fc&Tp_QLE%4o$c0ErnjbH4IV3db;dw^ij+##BRf_WIyHCAC!!Uq*au&oaIOxzK7( zU(|I|@Y;eO*j@E-Vls{#zd13W^8Dq_KcZ_49twq`vH|lnI$KQJwDS!U=j5W>v-WTp;0V^^_o+rH4evI}! zopI1>-h;T&oPU|ylZD}{mW1sx_l{4zWL!7U>q$!0UhAlZ?c4MyFdd8tGY5Ax zgqkxLMM-Wsa!1fDeh*dt*Z`vs-jWSSdr}~QKob}^D$DA)Bzi87-Seeq-n-GT>>8kCr%P1QVB%E`3CF7?%jaAb>=6M|HSplJQ=Prax<=r&VTOYUaH+ zUpF;~=iJI(s>V-z<6)pm{I=UckViX#O9ynQo&ZSPvUD*~+u{|v3LGb3&X4*=i%Oa4 zk@B6kB#fbW&|YZ!QlHn6q3`3jf}3v$G?!!4;Q_~MgjY)Vo+(>@Ax>U(Vbif3$snGt z^fsOg$D{YqKM(HZ&D&RVnDJsCCAIY*z8^!(_tCboS_d;+1}>>FuINmeABJc5rKz4L zcdjYimx$?{?0=V-7x2^9X;8d1U(%kCO{|Kw6WLp7Saa*vzd6$U2NW$2?xRt_wRd#<*D2yRT=#oq+wXjz``zlgQwx| zp-=NjgL_PsmR+KSRyJ%7f!dC(W%GjT&cg1HQ@xI>2*bWJc7$kP_H3A4 zUY%lK_ITk0!y{AM-2RF=F!scLjrs8?Kfrc+^H)kur#s4}sHOt$ZtxaLI~AU!!2^tU z5AwnyH0(4OR?BA&*{zxJQn~tO3)U5%ZkHDU31>`!Q>roCQgc(!&yw1y4x4oH#}dRe z*?5qDqF8PDb;SDyr3J?77K2V8$NJlgxDZCT$@rbUks&-{*V0a09PF+-x51l1v1br&R`j^n#}>WBB}-PUlgZI8G4T;hOw%mT#Z3N`3bx!aVi{Qpp2ao*kDO!VXk z$CH~)Z8E1P?G=hLG%=AKm>Dpo3bgTCbxCJaodjz@vqBf{TT60eAm}NbTwSA;xXU|> z+|U?#k5kvCzDz|x*F{?|NY8)v9=Xos(XD!&9AT7#1ctLqoKg67@zKfC2U}Am+X-wt z72F7C1NO_l){ywIr)OF2hO%RHQpoJ*aAqSc#vz?vh7T@UMlE7zMM#C8@2K4-3k%R! zLSAgiJ=kY(Og+0)1lVRxWYTAQ>+5=1IgHHVD#**;UUo+C6ZwT=Vf}~klt#jBjRJ7^ zE^lLJ-eBllaU->67yA-mLIZNz?zWbD$8Z#-?b$D*BT!yvn$7g6uXOqMr!9N6L96K% zIBnomw104~R)3*kH(v3`&f7TWPZ16`PoYKJYWS{T<4nm7Th*SGqx6tsd&&W~0#Kxw zR2w|PB4#0wzEfurD`Y=6UI$HU)7fqIVr07z=rr1zW))9@+y8;+iPzml8tZVKA7QRR zeZ|c4&xXyENOU&mtZRnLtu4eB>0e>Xhn>CwkCgi}Lve${=P7HM;b zn#%8dm^GR78@|2RA8g}Jl357K1*|w; z0eozt_t{~`9I5=L?nv(;$A8@pRI1FZ2>Zy?pm{6~J(7uUgH z)PA2HZgd3qfSm>Z8D*FitCP6$YUC*dC1=MXRySe;jfCUXQ|#E=1Exl!$rR_h>rR4B zdcSX9NGG^0n<40{rEy48s<>E#`*FIR?os1s#4aKe5AlZj9Ad2;7t-U7$;jxNbjEK2 z(wUsz0tfbe90uL*AH$nCn~>7l$i{EC(&cIy0;P=8`mcqy3Qhx};l;)wG30LECQ$6e zp~`s^$#A?#J5}T9|3JE;N0(Vp932M>H~44J3c8vaJO+x!Ebhsz6a zfOYti*n}9oA=eVW!TC^HMft{m=BGjOdJa*(?9!~Z3Hk{IU$b8wh^YHaY$oAHx@}Kc zXL{qzwblb;Yy}N7E<(m(YAEk}mjSI_SrPy4?LGURh4V~B@mE&My{UQ@#eFjD&8_ts z>Gr)lZMz!jKJKSf@Ua^r2AkM@u3$B0!iTbkTSt7AcbC{(;R7PZA8apHLl|R4{Wgp4 z8~+(SC*m~3`Fe%hZy&!ETh_1CnQ0Sww#}@&WLRnEU=AokdX)vn~w3yuBKgd zYza1??$^ax=rd`B252hpKmVm*UMidLc{l>oWdiIo-D;*1N97dfvhUMVj9RZ^{z~9- zt;El79$CbX#JvYi86{r)D(*e3k#i++A9pizx!Im4LV4|hdMR7zLs+=Yr`iLG3CETo z)(M(@Z`yLRN&JAe&lEw^s0&!1(rH`vbu z#e#}CbPoQu%igv+*$;3k_UL^)jB8A2BqljxsldPYAB311MaSwQ_%}0seUy^WC$$>i z$*v01*PA ze{Q?00uv9DKQj}0Yxd^rCfbPTa*0p#iCyno|E;7tIt7=H?cl+hz->dUKC7JP#si>j zg#Ir|8dST2Xox^ecEdiThkZV?kpEn2mxiY0sQKnz;$Cy;Tunsg=_5O;xD zFaBug_I6FGoDgRNRysmT+C7ax&Ct|9x0IUD8*VG>c99{RT?p@lZ84XgM6LHFR|*6; zDS!qSyX4)r5^)DVa66aa`GXqsDx=lGHsH6;S#&HbU5Z#bxShIfAOT-;9 z+qv`(=fr#RrO(7pF6JZC%oAzH!MOwY;cMsrp=R{4_p3P8BknQ06wydnxe8O@AyCzg zi;(~OvW`!ZpTDr0M&vwJT-L9U#|R@2LMUr(~f;@*AlXz8gv?2Ef1iK$DQ za+yRExqX!tDF2bqUGVty(k!uJ&HaB9am9z088;mx^X^jgiR$=;1`GulI%C5RUwB!l z4E7It3DH(B?#+H%`gEt=Lkq=q;I64wpe1)8-SyklW;es(b3@co`-dVP>&kS%t@-p> zC&GA+W)|U`JyTJ*wsBM2`ET+%hhv;g%B%(3z#K97@0qAOY-SS(A@R4pz2O<&_;zZV z;cVRnd~QGe+Wfx})YFi^>2;bvvsI60EKh$_kgitv7L$u#BkktS?7zJqwv=7PAuW?4 zf!AoIzQg75P3Q~SgenAg{>6TsOGBKVN$(cgJJwogUEsA5w6y&q$v^SVWvET4GS#c~^G z&Aoe7++{Ydgk@X8WY95a8<2OHZXpSqvhtG<#PQCUj8qbfT-ATzvr4lvZglrd42f2fe1#t84g(YE}4BWB<{$r}er6tA{l7ghzwjs4Y$> zXh|4vg6^39B|=(ky47zf(4SK1;CR-d z9}Z-4$de!VtSA14%=MA;OYh<19c}Do0QEG}cpb;5K{?`=7O!8FAU+VW4`BP$H}BhR zq?)N3B+6t|>dvT_6-`*A+=^W5=ce8VgxuTq3v%BKCdwKK!5ez#T_p+KRqf(b)4Wgn zv2mP3S~)NOs_p$r;-1#?m!NH9gi?KT{DvXT7#411N$XwP?5kUZm#n8|5)#A6E4@`j z#cUR?Q9=r)suWXZre@z5RG;R7YBllkspMRBp zB$1L2k|U#%Vg~RKxmyU`#b>!!8_OxlwTn7-bMA>SEiNw6?kMpo?a5Qc`S1R&)}Yow;Xw_M%Se$ zH8C&Tbo`RlYKhxF0;>SuoO;S;`!ET3(uO}Mly(^=EtdVb$Q#=iC3Pi&o3axL}KA&|BkB1 zUaC5%6uI&t`+9r!`Os(^r?iw!R+yO6f>%yD7r9{beEe{B`e(UW(URZ@NdFK`}KS+QUBm_$9#?I)I%o;?)uL$D5JA{aW}xhdSk(qImC7*^0!FE>nI@PsBSOIGd=SuW@~)r zeDksU&x^UIi>C*1)GY*c%Ng((@DzYbM4UN3T|%Bl10Kbnr00;aPY9zY%NwJJOQxnL zRqO!f0deaSc^w20Ghhk@al2+>M})^3jUeRHk>I%}(G_vnV2?OTR4*XsL>zPmYq(;% z>Pgy#++P(*$hZa~9pCPN9gzpZaTh zk{*mA9+{L-{Rc)7@Kh6Ic!T)GBd7F}e7xV4IB17c8r66RvD|<)+^4EO$~&V(XT@Pt z5XFLLWiT1}-3&_ADlQmEg(Ey{W-JcKkNnD~2= zw%14lm=Cpv9u7Ynt?rD91i0H6tz2qpJszre3-53`UhYKqbRLh&Kk*dQB;1~biG#11 z#-1cmAGToAh^wTKB}mE5p7j$r1|>Qakdr80cEePKTFZWVyf`c2G{7%-VxmF;gE&o5 z=4{4F3a{ z-jsl;DTwcF>ePK=?9=vTiA})Ng%%LW0(8|3$T<>+jTtFD)?_?svENq+AV$lO8kq=< z#I~zcwTHWpR$>zvxp-f3zGVI&`D*!fjM%`&$Z+F1DArIrjz&3@N?>*5_sihhgpDM6U^vj6w-)l34pJe6WAkQ0Z*!o0gtIqD9(T& zo0rcBCpk&;fdIJC)1KAn8r%qVbq9ePbq_Hm9<@F)9U-9)PqD0?!%zPwl=FL#qfdyv zYrp#^jVJKE7BF$>>7e9FJYdVH=;1Epso;)g@OjEu1x|1@6#BG7^VFEviWEZCJRwXW z+Hg@HNb7m{EKIF<{fZ^P@OJMeP!)d(w-HZ$Fqbu#^f%>?6;#Pvz~=`h0YKeNxcMJM ze2IZ z=cc6k9O@Lc;T9%MG6f95FN z=Gy1|`#C~&&9hHD;a*EvyZU|SyU%y=ymHAVI;MB!lBLPN>wa_pDU)andB*Qg4f88_ z*4qA=4B2`Y!}*zN-8sbaKOnv}&XmA5%c1b0Cm$Q1&4Tc=r>G`q^<5W}hsEd5`85SS z{U`4|X-{*!YR@Nn`(DK2Q`e|3#C0zDEPJ~^|4{u^ zpnu4I=$;NzG#l1%3$%a~J_2tg{LJg*u};tR{&y~c+SzkED}7eD;}ZLGjNKq|yi}{Tk=AR9 z6^kyq`-YTOa|8U-65IOa6h|S|F#n7q-}a_;-sG1)X~)oPp$DJqmi?N^wcMUQgWxb0 zY6H=^i}zb)KbX*C9eD`USyjezi$P;TP3<$}Dz?BX;-;7xVU;6=DjYD$4bS0O8D#o9 zsNiL^1i69LLq0rHQ)_A1n#|v%O_m&Dd3B}lXV?X^eE^S%a|+?XnfL+LXNeh*MkKJ} z`9lG&fDU~Vu9(^a61Ed5#i2WiW{}47_~oy>Un+iRVklzT!+8~+mc^MU8;O!ClmUUO zFIUjJUV7uX5&V5^M|F&~;1Us|EcSKfM?0E3#UbO&kuv9(l|XN-LynmW<@vm7i7t#A zo*4?R_kG`A2faYx+{>P)uAlv03k-N+RE?lk*ohMRPTtq~iZ{K2YxMhVF!=2*`hxrS z`4B(!Tj68=1qvsxKa)YzMAVYMM$bF@t{!Zmcflq2g=oV*aXzK<$}K82`G&F|B}{+F zkm`9JSJpQ4kCTXqP-ZzheO>z^F8LIJ!a`CwFtuiGa{MU>D|rE;61_R+>z#fNau;p7 z;QKTE0;C~2Tk1q_Dkbx!OVB>Yt$l)__*%&^ag~e}T~l4tPLsS+zctQvay@@QI+OLS z)|`Hu6NCARh2QUoU(sR|mIAB)md~X&!p9PSS+?yf0WRQIy8iWtOs)W(okVxQ;(4Os z^9Yp)WpF~6-GCTVe`KA{GewK1KR|UMd`Pn$5D5}@I^c12BmD_F2)RCo+CZ*RP;Us^ zz1aiPQIJItqn12zBSq4gvi}bNnjiK9_BH>$JeT12>fic7ZRjF_hv?;krI^ZVU;SR+ z2+r)Sk1*7}Xu+-4$0v1icZyV|`QnFOt^XNR%A_2d*B#b=>=X9z{*bv9duE4l`HSDH z8+P0|uFt*Sv4iklF}~t>h5f204zh-&cRY33nya zWVz1%{0jmT@2aH<8awp*VsyOl031KmQv6;G?Lzkfvg>_jc4GO>9kxX=?*6&M$>Gmp z=n#ep#j}Nl<(!8W{6#m=?bYJD`Zx8M&)~a`xaBx`$}$Q6KwmU4E}Z-Z24>gPteXUT!Osi9aj21o$}-UgVo?VSE4OxQkMF&7HH& zUy*}2MMsJK`x~N57;?l!1<#WgAVGOw8}Iw?qJf)~yKl*nSK#qEJ%sC%E_9?i>cE zyGCCTiZbT!N0@wyuvN*5G@<8{R3FJVi9FSDyUX_>Txr^O5WhfNT?1gFd**(IK`?pj zQzcPiM1Z+@}!efwSvU z!%!QC9=`0O-CFypFCRaWg^f*{&zSaZ>E$k|HsANWKMt=tn2+feJio7nbxC>A+=?v_ ztS^Km;xnDhC!A6Fv-H7V?qOw_ey&;X{CR~nPWr3k%^mIS2M0;f9}6LtxHW)I;q%Ll z+0ax>DAkluAh@r*;MS81h+bpg*;^PeNw z$#^ViGYol+DlnB)3XRiMN_I4M3ih@l^R{2RL{%8NXncbIN7rGVS5(j@#Vg4xT@j;6 zP=&3l!RKgo^Q^L-l^&IRHhGYZvFoZXcTMW$rkd=9tdMwQE;QBY4LZE-;6G+raIak+ zto~m=yyX+-$-1vK*}}E3G0|&G5k!Q~z@pFPwO$+8_acl67ymsa_ptLP=gnwIENVf@ zTjx(N=?1<>{~>F6d%D}Ix6UzSN)(IMDdnZJxf8fYWN6p<_nd8%kaX2c>4I<*9F!_x znBf)kjI_8S;w03+^*UIW?if%W&}Tr zK&h2#o$N!(HPr#3t{V@DS>>?maC!Xf#|lZ!Y#Y{c_A-I|rBEAQ8}n`S?VI5vwH_%n zEFnvBeQUk~6`5(lv3D83dv2?|=|kxXCVN9Su-aUHi=tyBadadn$9U^|my7-ZEK)&z zedmjj0e(^f{dDJ@G4JFtoXnS*VgjCa7IrZUzV%=e*U{Z5#b-}>=G#nJfi*iotJc;k z*7Xl2c_p@S+pLz)sc~*Z1KRIE`Cg>S5v8s9$TvB3?cMuO{mTG4?;?ot!+d~J>prpc z6ElYVTRy1|7uMI{6F?1;3F5m-7)-Cc1Mx*bS3sw}m+OfYkUM0er#O5+F%!~x1s)x| z0U17Q4}eymwwpizL?;7}d+xs<^*B4+@A0&#)VwI!*9X20tR~(xJxff zcl@fNTqgIXxaK(yUdT4~3|ry$AYBmq?iswo-~n35-dz7#Kq;$8ne8;wt3oBKN4e_k z^?MRemX#7JfhEgS*OPyCj| zjQ!a8-mB@{d+>hyl+k0gF_r%nCsI?W3a1fjojA!{ zU>jdeZa~~l?p8I?BsI@d#NB0kJ+1>^*$8;r3vPH`$sUOq9m&>+oh7UA)6~$EuUx8B z(x$4_HFY08Oq%_{sx>FsOk!7IXKN>IhqsW?U|?c9=n-!pRE42O)vRPkx^TH@Q@2yk zZ&m@F`&EUuY<@c1cDHTV+eHd07hOE>{2fWc>262@F1rK|?{TkH`*xfoM}WyhnXY9` zyIEmbH9`=i?j`%uCDk6qcu5v#hz)iV<4mBkMxKrYuXGVhXa4@IG>lM8@4B4swRA1v zNBJlZ6Sucpfv;2P$bVVU@8+c40br+l?k@*0im>Ibp#-^qzoz>YE@*1zdgUg41%4&_ zIfYsDGD7MP=_l+@?8+%LWq*^gK9PJ9Q>Ldg1i-12s6HKmP#ETD5!WedpFnw{K`yV8 zS=8-Hlk(^;U}$}q1?Yn>qFx;HtGkv)=aT&34csNvb+;nUecr~7Jx0a{n_!W=La!p> z)0+7A)%8DivgQB~W-Y%;C~WROT|yRKE1;zede5r@x+q<)`tOCk3(r8*PW)%G z$5G!@h&gErfK9fR^0#V46+7EdZPfR+z#ZHa0XDn^`*nKrxwp5Z3v0#!AxP?5!3A++ zn!dVMOr%QopJzAfgXA$%Up-4N*fv~(N2#jOTlF{U!n`mqFbsK4)*1L`u~zZCI?k(2 zH||KL#JfGcXnT8caW17Op4D5GwNAfHup&RQ-PUOjnBYVTknpp4TYYQo$gL_!Hf;*M zr8q&;T-IhcX^PUotiV{}tel%nS!k8<3A!b$(5PH`b`;s?&i5(36d}KjSm3SQ`wki~ zMDr22H8X#S$^F27y}a+~B>KlWiinEIJd4j6(GPsf#7F5yMMq;H)|n z9=P?6i6v(K^Q047hnutN@2+qkv^xS(887{H=kOsR>Jl%ZP5bCOfmQcTt#g4Py{Hz< zRc|jx6z=rX4c? zP03@ee2aB5E!;Drtp)PaWgBS6{>yN;nkyMdBAI%rKVc#jDa5YXxIfh{Wt%M^wv=Lh zG^NwK6N!?ah*KT?8Nc~ z&vB#QdmCDTSKZudQ%~jEG_DbJLb0q>Eo=u_^so1`?C8@7vB#>DuP$HfyRLaUpqTPu zKh6ASoI@|p0+T?w6gxuj+_FtH@L95zR?^tO>>g5ygES~q?-diTqMx6kP0 zOfHT-E8GI+C_^re-g}G!%%~hLsy?>h9V$(9ZL->oJ{vsN9m}-tpyXNwW8&U&f(o8W zg$1f-?`9B27$IduEo?(MwBV&IRSfax=#A|@<{!4`&*ay+b>SZsnDcL{IrO!h?Ef@j z&NJ(iI-UIf82mZ(9>2~ljOIK6*#6toYi0c=^cv#;tsdV@Z&)+VetqSqC&8+um*+Ev z>+bz3fW(DOMw_qp^WY|-22P}w`kwY*e|C7Nn}&&d-~dHAfJ9BbqqJFty?}*QOy*ft zh<*b&MB{U-jIL|`eMn|YJtt8)R{QL_`|p_+SykuVyM%3vF{fUMSKIz)iO`mz5*i~` zsaV@Qp!i`zny>yjt@BeC(1b5{RvXb6MGz_;?kxi`$N zvtO2shM{wm97rbw*ewKKbrNH#;sZZ1bkZ-%cgKU zooG{R;aO2{&)#n@IZCW%UMX||Ox;KbmSqvRCAvH)%o7!nb%kA@syV0`7IglJfT1Vi zm~&9IZaXt?PKC;|asaW@>J811gAYMBB1fR=*;avV-P8*1d5LPU{%GrSoqCWh<9vob z@AFdZVNeB@*7S2895dij^|uNAZYiz`ti18F7b!v@_pj$7_b*!HBhx93*Z1>6=ti7m zb{}3C9=;fU1*NX2L+u>u_7of}sPFx&qR zRY9u0J}>wt)12>bzP~sba554~PbgKP^o7z9N+c9n69}a)l(tZYLKzFi5lSc&PbdSS zw0=Asgb%0g6jqOua6A$n`kyNTXK^kUIFir!W9?xOb) zy{#B1Vz3s26>Y|}8HsUGj8(Dgi_1(rZ{nGY*G#+;D27n1LQ#Wa4~i}n6)1X8?1I#V zz5IvhHSfCAfX#_J!LF_g&n3xKHtLz~df|GT&l+z&OTd3*!mKXM8U3X<|Iac!qI= z@c^GPbupge)5GT;;~mCxe9B%|d{!}*c)Z1@igAGP8q;~qY1_>Ayb z!l(QLD}0Wq)T2_LN^>e5sWhR|owPlbd@^h@OJpi!-^releI%&Mex>?>>I16JslKGvj9L&b|rN;FVJ3iMd?6lY!ac{tb5f6Gi*zusn19>>*L7fLfo^&`W za8%^*#B-JBQa&fV8uO~nt06B_Uj5vV{MYYzIImi~8t|<1>UIynONU&MS{kQf3$V zeBg7+=L?@Rz7+VJ@I~SCmCp}8-}#*LIp({`ca84_e$@C8@WbLqpC2wiY<>**QRXD! zB<3XLw=a~vP;Nqzay=HxStxf=Dhl-`N`_G1LW_hp6BS43EupuC9tqtL`cUXqq1T08 z5xOh9mhc?mS;BLFE%}CYuPMBS@M@xOioVP((aS_%6aBL2S4HnE`XwsvQQR- ziWnTk;4DVA7;9o&7GqsR3lXhFbP&->L}wB0#C$L2JCUd&sfxt?yoylVLGcE~GZZhN zN^E~aaSO!<6eZvvK&^n0gYf_(18W4<9IPo=Ay^UE2k4BTvxH6)I&dK223oN zEnriCjR6}Q)^Av6u>R%n?|3+@FR&@X`V6-f+z#-x;rWEbfJBG10h!dyTX^rW)W?#8 znvSIrsuwH`P<>*lfF&KZ8frFbCDf`|dSmH|r3IE`xs0U;>J!vMtT(a##`+NJYpn0E zo?(59bqDJ{)>~MwV*QSF59=MQm$AJ?Z-m|v`yK2X*sow;$G(UC685{;ucEKwyoIyf zuO;7*K9hj?z}XmQ^4txlN1PXNX5ws#vklIMIBVkUiSshf0-QxS8{n>jyE7gX+~;^` z;vvIVh_3@CO?=%kDdMY+uK<$@CK|qG`0C;-#n%g88%$h$dHC`%DPhvW*BW07d|gSa zk=7$^McR}!gR}){K51Lh=A_xA%}5)PRwivpnn(JJj0V{cs%m8CWWUKhklQD>P40-? zA-M&r=j8Ut9gyo&`%dkcx(aoU)GbiwOq~;TUew8{bEVFO216Q*C>T(%p|iCpur~e4~4lZcnb#SeQ-VF`ib2eyK{Co>>BKD*&T2_<+`k#up6`DDMzzRrGy zeT4^a9wh7+*;m;wvv2aG$I*zR7Duw+bJXQ1;Ap~;$x)l52G4z7M7-MY>ddPPujag3 z@#@Iy3a=#0M!c4&d*Zdms~xXGUhR3c<<*l{2`}HgTJkC6v&m2h*A+d@73bQrLR~3%v!eIf22^?l{n8RTShY$`^IE>&}g;NOk z65K2B9KbVzXB(a!c(x#ELgGPcLRNuzf~vf}IX_BMcSI~$J|Ol4|e^2W4@$raNT zrm{T7bc?BjX%W-#*OG5YPjXBSn3gd;VH#t4#x%mTjp+u{1HN@k*O@NuPRWhPU6XqxcSo%fc`kJq)U8t2qOL*RCJiPu zh-g@%Afq6sU_w!W!V!fF3NI9{D2!-cqq#$KsXF(xJkfehYw7>(Xmgd`$U-@(~w?Ts&Tj%eh?S%7QB| z)+?;HSRb-sans;N&doA6OWf#jW5|s&H+*hd+=#iUaI?vcIyX{oy4*C`&)N6cm*^O> zKV$#OewTwb`w#Y499?)?mjct7FKyZ;dPVO(_c%z zA$`5(^^Dg`UUzxz^19FK1)rqHU*)sSmnL6azBKr@;d_toZGNPjwm5BY+UB&$??@EJ zqRKcWFco2H!t4su6GkG;rZ9bB zE`^Z_Qwq$9@Rq_`2`>`fOn6h#?}@%I`U5er#h@X4MFgoBYGNc|tRu!<5gtT%5>r)7 zH8Hit)DVk;SRcgtC^mDkD~MfDT(07B7nh58r6Ns4W5ckL&<=W z1{MEjn7-rTU{=7?!8E|Ef@y+vgxVRpd*~+6eL`23bLd{7yMkU5dNt^EpeGOS&^;&%zyl<%8QCpz4M=e0DjpgF6CEq(-OHn(bwn6QU zU(ro=pN90Vq=JnGd6T=)Uk2I#ta)xY_zel!bSrd zdu;5mvB5?k8(VDjun}V8g6$i&AJ~quzsLRt`&aCra2erpgo`CE3%DHOvWJTdmlIqz zacSb>g3BTEf=AyBhANc+l`5At}c!#dira7qdBLEqs?T+hI1qEXHh)?;2(= z%#N5%@!i3!i%A=^17>5)MpTw*OXU-lmt=Tk4yanAYKPnvH7siU22Z}@;pD!lp-?-g z?wGnO>W-*8rS6=%6Y7T4?^FLpgDDMbG_26jrlCtiiz1mc3SShN6uv2HQ)_dCTXn&$ZiS}1Il<82RLxJ{VI@okE=^?@CN{<6Q5_)v$v86{q zk0m`Kdi3crq{oWxGVjsjOphmJH_9ILKKxqp?T6!@ zGT=$T(>hNpJZx_^ZLvigEvK9=e$1h#^a5|r#r8o zyczJx=2MMNTfU6>GUUsgFH^qA!yR8jzC?WS`LgEAgl{{(kN6&Oyy3XcalmoNvBU9- z;}ORbj)(kuaT;(s;B>_4iqko#YfgPmhd;yg9S`SpCJHN2*o(qa6n3KU5T&Ci?L=uI zN+(gSh_WHdmME*jlF%hV>mjVQFt@^*3acQ@i!f7RHH1|W)=`*e;q8QX5`IbeW#LzZ zZ-`(lhE*}N#LyAri5PFh*cahNOieLuifKbkyJ8WDMO`dLVlfa4S1j6M(GZKCSU<#O zFE$6UU5K3~b|tZUh}}V4%i?PMTJkO0uBv!RmG%}%4Z@|!8c>p{3#As6>QHJ!S%LBz zDgl@-m`$)Q(Ca~O1HC8oB!Eq!7ej9iy(RQ!&^tlz0KF~rLg?KgDnR&#r~;7&vpsAB z*j`~5!{G?W8e}Gx&scV`yuz}Hl`59+Sbk$gmUYyR*wnCDz@~+b1RE(f``9dDvx3bc zHmlgkvDv_;R7!7bUvW^zf%Hb7I4I#j`lK-~C0NM(g{vN}Hn{5I@`(*TdZdj~eDhe4p_B8&v#>hvzE3rilcidicd&onTha(=!Lde4^PbNHF^YqNq8BaGno$!3k z^Eq#1dhuq%n-gyp-uS#(@Mh1OH*X8PE%N5Un;ma1yt(rx<a-&S2f3UxU5^{W|nD z=vRI%`F@D8??BXss0on^Q4O|7*sftah20B|4>&F1p2GbF_YCeaJU5Wp@XoMeV5Nwa z3RdP=u~0vwe#K@DnDkG}wsWPX^j4C^-Y^idk%9!*U8D**-sd}b{BtkU64hX);PI*jQe zlTVi+T|&By=+dK$+)#Up-}Ed~{Gj+uPnF^g#TmsXdTR76P<*BMNl&>AZxrVgA1EtP zexW?&!ifuKE*!aV;KGF~Wv-}PesM*52hv}VZbHTtgUfHOELk_$II*|>wd7l+dnIna z+4I?R*=w zIDK2lp|3din1@NRZ%Mndnu|nQ8h(%CaRXOyQ2CQ z)vc%wMD-}DeNkAvH8YU8JjO`CfIzS_rQUV{v6jATyJrs;yS@~jGH2^_qaabZiKrS_Xko8 zQY_5hq?9p#k>Zl#P$i*CN)^c|F;yQ_y-{O9jhtF->Uq@b{#x=4>AeOGGaBYJOlX+W zRJy)itr_-Z!yiqG!xUkn9szrCN>4JRmHX}c8=K9#I7n1rZ^blkcopX z4vM(B;ueV8SR`YSwne&y(gpf6h=vf2APV7d6Yn}CTdbV1^1#X+D>rN@*m7_%#zBCa z8E$0W$4!%z0VyL=mZbDa2}o&^(j~o2dXMop8N5qTBzB)*NP zH=$95rahXUXtkl$ijHqOO3;ewn9=b;CxxCHdhX~cv1dikHN7PoUFdzMwT^Wag!V~xjE9zA*V=GmBMBc6FY8}hEeJD+!5-Wj~>^RC7_hj(S( z_4umu)#PW&&ojR&{JisX%g+}-ubj0wtMPj$il!(^nJgvqUN{rsxWX9;M-`4P9A7wr za6I9J!l??UE1aotI>K3sj&$#@Vh{;`E&PQDCSv4^Q6eTkD*fNSYDo zG~Lp4Lz@b1?sT&0q|&KMmjhjn{NB?uqi6bS$@hf6ij>)`C|v2YG3QRgohNr)?!35L z=B~xv3U^H&w|Ly<*_7umUc|gR@@~t!Iqwd<8}V+#SBI}vei{5K@Jr)YQIxNuVu^ZJ z)a9sWqB9ZxQA8y%YlxXE=1Z~Mh~-f%A7XhE$EG+|#q%j%H<2twdJx%2WRb|E4tYQ+ zhCu-a3Ji)cZNX^^k1AGDtVn1Ku;ruI#=#0V32sZcdEx#{1)KB%nG0%q)NE02MWZI2 z>hyBxWz#$5Zil-&?)G^c@i^r1gvWB}t$DWPdB(e+JJA339S`T-gLfHUoBT5QCGE60 z8}a)f$}dshi~2>>Z=x>Cv8bO#eIq)d@MGaWg?|>KTuc^XG840oSZQLVij^XkZ?TaO z&=NaW9CzY46ZeC-U&W&+?y-1Df;fn@Co*4TbCE5eltL+ifer%`1_tbMc(mZrfUJg< z99vV|nz)-#!KFf%Y6>-{M}H94CIO&4xSxUO&;!q0^N79&-R3SzPmv$j~tR27?s*!IQA5XX}^zQr*SkEVEZ zM0yq3R%C1OZo$BYhljdEsR&yeY^`yy#ciFMecG6Gn$jtv(~MqCdU^C}aV6w#%-x*F zC*I4QTo*-0xRG$j!kvm>DJBOo^Tnz!Rs*r>h)q*$T4LjhQ%jsW;^c|POuR-Sxxzqd z(-pS1R2Wk4M7=YOI+WGvt@HTK<0nr--Zy#w^UmeJ{lvrf9vcsq+PI+bo)tepS1N! zPM=iyB#%$3f70NS7C))>NyAUt{G_E%a{Z(YD4#%Yf^L9b2XhW~2=)l7Rj8RzufSje zgAw?9@Ymp9VVc5Rftk!Tm?bcK!|VaG9CjWY+i;x0DTUJuPSTz?JVx-m!K(ym5z;NTcR6^?o@Qgq8oiO?~^8HSP(Q|T85bd^Eu4B zFdxIb1M?cpLzvfL?!bHj^9k&0u$N123CA^@t8jMUti#!YvjOJ@oJ}~F;oO9C8y;hb zO^9povfyRF%Z8T@a?7L|qyc17rQacMK<+|bhkOV567oId7sw}&Pa%&We?fkL`~i7_ ziURo+^%t5dnl_p>G#xZsXjafTp^>2RLgR>L0Zko^2O1d~XEd(ZdSK^>ohx=O*g0e8 zhJl8`uOI%eKX1DCFlb|7W1wRYU{J-NkAZ~;xrKUo?BglM(*jQ$JeTln;aRSn6P^xu zTH#rq-Ql@{=Qf_@qMGCBf~Ogt5qV_6c`fqV)Gv_q@RTbT+g$8%vChQ?7kxJCY&vXeY}VLx*=+t=^7E#<$)?I? ziBB=-2ETJr9EsvY6lbD16vc%o$~Acu-KFRrM0fXzFQ0e!lck@x_Q|r(Tlu^zpX~n0 zuAjH@d6z!fKkxo0dw$+>#m1j^{qy!e@7Cu%{Ja~Vck%OXf3nRd+e3K> zL(1OTv0Jm>7a5! zrH{%Gl`SeEDpgeKsO(W`qT-@rqhg@qquxS2Lvx4b6)hLdH=1iS?`WB5?$NxUc|bEk zbA_hdPBFGJ^p@x)*fp?|Vz-3d26lDq$Ql*97Iv%H)v%Lc*Trrf2Y2*M9Lhbm#bFJH z4GiuWBslEiu#CeJ23H(baVYoN3x^{dx;X6NP{km_VF7~}gC`DKxSio%!QC4VLp%m} zZsKK&mknO_cm)anHqw zi;~sl;g0n&n`5>VHaBec+3d18VDrZ2g3UdflF5c_zSz97xny&~=8CN%n^U$Vj@;P{ zxp(B=fqOgd?fK+!-r(Hgyvcc$b9vb2Tr%HT6tALq5XFlqN_=^WZYH{^=)Ocx{p8h8 zu6^?6=Y9U<#wWKvdEt|{KDqzNd!Kjmd0#&H;FDKAx%YX$KDmUU=O^ESQ3AsNO9870 zb_P`m937~6Q0qah3yl{vCeYYHV+PHiufhG>?`x4N+f`^hps|Oh2aP*4HE5QhF$VVt zjT9OoG$hQNp*e)c5r#Jy4q-Tg;S`283_CCkU^swb3x-`7Ixy_Pa0bIZ4BHS%F;j(E z6BZL#3}LZ{r9_7lECN_aD3M?xvEvSlDJ&$QJYX?^#R?V|SlnPShQ%8e5=VBhU&6_T zOC2ssaK^$A3mO)hSg2sZz`_6v zHWm~t6tOTuWr~Fo7P?rNV_}a*5e*eB2kk1_7Fsv7YiP@w4O&mMWxb77jMg1(1??u< zEwo-}x6w+_I%2zkZ56#WdO3FQ*qvbajNKb{eeBM$8)El@-3@kM*bT6I#qJZkQqno- z*Kt(9(HTcN4uAK>PZ((A<1oQdjH51&6dXQqq~U0TqbZIg%-nD!QRjjqS%1gT9!C+5 zia31YsD`5jj*d8#*G+L$#?cN(HV$Q*IgSQ6df~{xk%=P}M{68exLxADi2D-m?|AU= z(8a?Tk1|d0y2R@huRFYs@S5T^$7=(xCSLk@z2LQk*B)M9c$J4PUL^npcq{%|^7E#9 z0k2)WKJcpI)xn!=RKe>QuUow8cn$Gt;I&T02Ng$Dd{gm6#Um9bRJ>C0M#U8w1u_gW zOft4)9Lczlu_wzUYf9FVtPNQsvLt}b$%?3^kzPfEmj_^c3G{k zI%d^nRcE!xYMoV$)ri#|t3InHt8G>dRvlJ5tj<}jawTV7!eooB9$Rm=o@`gxTC%OM z)n@y})`l&Qtt(qwwkB+y*}Ac9vz4%QXY0t;`qz?g(Pl}ol@Kj^Uf7Z_`{3S{dnxxW zJSp&`#*+n4);wA9qRGn=FDraIa~^R%;e5~eSg0pa%tSF4YFnt9D87YS5vnCrT~u14 z(iFXx=sBY2ik>W+qE`cD2#N+u1(YTzAt*;sBm&<)`4yB4C=XD!pZxxj@>}VE;)5~< zWdX_!lmjRyP->v{q1=LU6DlTDN>I_DqC=$y#srK$7!5FnV2r?MgAsyN1zWl8`7A^57&vcMF#sE_=9~;PQa00v8FoD~Olyl4%dG zHN3WvULZX}w!lJwg+3M*zn1*G>0ZEMh(#TX3Kkn!l!pNpRV=o#IKW~Dixn*TSgfHg zJ=-!`XSC~B_0Zm8wS-j-?K@Ugbf#!Ov1(z}L_0-$h1CMuSFCoi+QMoN?HyJtXkW0} z$Eu5VjMWZS6|CymHnCmCj!Y_cO4uo4&&1vcdll@t=r_=B;&_DPK28iApK*M_ae@;I zCk~E19G`IPKH#K=lM;@vI1X^!z;O%5a~v;myvIou$1fbua6HEC7Pkl7 z?r?j;?G<-BE=nlX@i523&oga*|9vfTiH8UeAs!ZZoZ;<-w+L@jyxs9y#oGk$4ZL;n z7UFG(w*%f?yjSsYz*~;@GTw%GTi|Vs_YU5UcuVm%!g~?#5?p1QCEhK(z45N#UBa@5 zcNK35-ZH%1@Lng?C$&kcOKL!>Md_2&kkk&T4N`}sj!A8iS|wE@wM=S-)IO;-QYT~- z$%ua~`4(-)gN!@b3R%+cyOQ-L>rU2%tc2_WIZbkU5{Xg=8&2rYF?>%qt=Al18R@RJ5r}WUP7G`brkY)^6uols4sEYAU_~~ zKz^P4CixBWBl2DH+vNAi?~@;rzo2nM<1LLt8sBJqps_^kJ&iXsp3rzj;|q<~G(OR+ zMY93T9GdwwlepcWnM;ceEw;26(_&AH9WB7sbvjq+tkHEy*MP1rU2Amh z($%ADlddDWHt6cm)uzm+Y(m+PvN2@=WdnM9^lnhDQeLE7VZ~!b^1_qV7prGhW#Pu9 z0;>s^6xIu@A6TEUePMgY)e_r1uDWc`xazT;bG5+soNb@&@Yj-WNUs*TT4Q^__L^;- z?Ubukwq>6w+hevLY#-QOakau#jjJ|Sn`{r+-g4Dqd%;zmdrj^&xF2$V$$gLeRqngo zA9BCK{SNob+_$*j=f1}M8TWhKpKyP{{WkZz+^=yz;C`L^EuN@6De+{-lN(R&JUMfy z@Z`jkoF@kk<=Hn+t~^P3+2B)!PaQrbe4g?-;@h2XG2d@|fAIaziOY$U{cp~1LMd{d zbDjvL#Cgj3U8tT=B@^|8+81gh)R9nULhTB5Ak>afeW6Z;_B-J}VIZw0G)Gk0q7sTq zU-W#@8;O1@qDX8;Vte>Jb0{34u!h0}3PUK2q0oea1%&_#XDH}Us6wFtg#i>yC`cM> zLqUVW2ns7GY@iT9VG4yZ6ci}zp>Tmh2MR7!>R@cZ*nuH^j6GN$SWU2ZQ1hXEgZ3R- zDYUE5u0!hztu?e=XiL(P^*3l8q1}MC_G`(vN^jZFIzxK~ZAnW{XzS40K`Vi_0&PiA zCis$m5*W8&6vF5ZBOgXr7%MQ^!6<{V4x<>x7K|=1a$qbQ?_m_dNK)DiMq3z7U|fSy z3gbGA7BDWr*oM&wMk^Q{VO)iA31&X5#<1$bstv0JtR#)au)M))2dg@)MzET}Y746- ztfsK)z)FQx0ILS9O0XKhN{4j~mTy>9VfloW4XY!pRay9m3UuYXH|iT*q*=;ktxt6|Qr*&fxmvmi_%Z3>@&Ba<3tJ1A$VyB9|8TKaF8(^=8Js*1^`dyqn zF|1%%$I!>g4kvpIW!m7(!^r`|2*WLgE1cYLa>ekBp@WkLh7FvgIN9Jt)~qp9aB{-Q z8^ZyH9)=c%V+;)pr#Ojml3?g!Xk%#NB*X0;w-?+#a2w;^#l3_3D(-8zxAC~fhvd8s z-miGS;8W&Xe5~*h;{Ab-J3d+%EBMgyF~-LTACem1_?Y3t$47vV0Y0wyF!7$@V~39; z-e34=r&5_pO)4p*#-!eUUGIFv5vO8o~$acx@l5LW$lO^jN zvWHZYF3p`B>9pLaUZT3>+KlQIsw?EY$dO!|Q{ASzMb4G#I<=?Nj;K?kPJ=qXOZWS= zNa|SBv8m%yr%ru``UVXokv_>kkiR4UME;rlEBP1lGxBHTC*tIVp`m3@u0Os>lUr+w7t=;Lfb2CXS6-i zHl*#8wint;7G2XepzVpa8`|z@d!X%^wlQt{w2kQ8qH~wd9-Sk)-sqaqHKyyGt}nVt z2HnziMYjUoDs+9*HK&_N*MzQ1$|8EV>Fv`yp!a}slX8plD&=*`UCJwzJCqx&{O*hY z_VWRj!PphZMih$(u7NGE-knea4BTnWj$v7!upH# zE9+-Au3W2gE#lgeYgMkkxO(B*l&iAd;aY)fZLUc+zHzO^HA$rz*Ho_ATno51;M$sN z7FXX~n{n;HHJxi6t{u6Wb8XJG3fJ~ry>qS4y&m@@zvkS3{95wO;e#R%3OtYm`{MqQ z2Riqk+`n)?=7G)qEB6!br#w)(pK)KZXoEw8!#0OY4nq#t9QHYMIh=4f;;_r%g2Nt% z0}eYJPC49iXmi-)u*UNuFFaoKc+uwNk(UczZh1N6a>LcIvJ zCDe^jw?bVB%@bNzXnmnIg(g{fD=Jq}If=?eRANz?ipo<|e!bW4*CIt_BPtJ3S&GVD zv|qw23r`olRP=VDw-LRQ=p95q7r|PLOCp+yc?XIED7K;4g5nU078D~Ws!+6{Sc9S@ z_9Ya3C^n#2gklA>5mZ`WH^6qGHig;(JQutrcr);J(0)Kq11|)x37!s~1Kth10(cR4 z4e+MW&cL(5n?pMXuMOS=yc+n@SzN*I_o)8<{aPf9doUitSh8yb<0Xu4FwtQ=gRu|e z0gNv&&S89q@gBxc7)!d|!FUVf1ZERhA7I^rwdB|rtV382VHLxA4yzQ_Ggxn7-G;Sv zGas-n!P^-r!#@-qI0#0p=nm8?Cj3zj(U}WP|$Jr6XD^6XE4j7ej+QKNtNH)tbN-cgjD!6^(Hoxr?v=n;~B~Kaw4ieIolp_JZs)**mi5WJhG*$d+Wjr}~!aN2+hA?)_Tw&EfSv z)hATnQT;^qDb*vY2UK5CeN6Q;H4|zbs4df$It%LbsWYL@oH_w@M%0;7r$hZV^&2$k zQ&6U$LP3dwDg_z^CIvMLEDCHI4QaHc$(SZnn#^e8(_}}J6HV4M+0*1mlNC*tG#Sz) zq}i2b7n+@EcBEyImL@G#TH3TM(Yi;QIc=u2la6pgyAthm+S#CM0Y zz7{#BcS!Fsy(g4+xZrZZ;X<9&H>)kyRMt$^8mu|2Rk)O~R^`%*D|4>wx$@vj%#|nW zCDv2cGuCr9Zfqy)IP5&R9Jo_Si}$l!UK=Utw6coFcT&x--CYP_oQ^2w_n zuM}Q&c-7@qiB}r08obhZaeSvuz>zAJn;_|fG@ zlOI)nRQTcX!{>*?k2XJg{LuN);fKb_fs+R(Kf#l~f5*c)d2%x6WY5WrlN%=sPL`ZV zkAK6-iIXiSS58(!*$L$;l!GXhMQJNaC86d*O+`r;>QktRC>2CW5v7VKX`-YGZ6Y-3 z^pAuV3T-U(g3wK&&xEcDy)X2+&>f-MLRW;|5S3h1GNG4+UK093=tZIXLZ1q~C-jcc zHKBW=od~ZgJX?5m(XWW!TlDo`OTJ&4>Kmf3ioPNSMKRFDKox_N7#u~g6@kq6Vq6j7 zN<GQfnF@s_bY8i@qP)neiP`rYwgDOSH5!3<{Ur;=OYJqA%QMQkv z(gEWIMhr#*MhYDjIs@p~(5XYmf{qED06GeETF@y$X9Zpk9jQsG&~c#ChE50_4>~$@ z&d`ySJ?Ip{Z^5JqlO;^1FmYf~g^2-^15Da5slg71)$u zBh`ddA5wRmV10x25!N|uq*tH7ru;KZfB*S-$pbbDY@`mk!uk%IDy*NduEW8DLl+J` zIF8_Wft%D15!_6;&ER&1+ZJv^xGmwffLjQUBRm~=*5GNvvkFfO5)Bd?k}@Q+T!Bo1 z_W|BJR3E4rs7ckZK~2Nb9ZOO~>`^OY>42Jpr4?!l>SLiTQIAlcp*}@NL+6Cf2J3aK zH?VGCeT?FqtUs~-zo=?)ux?_# zkFJ9C8P*qAmnuT$1FY|{KEZko+XwU-*lA+FjC~vXZS2>vZ(-lWeh>RC?8WGhaW==< z2&Xa5YB&pVCZ$1+GYw~JoIY_@#90StJ)FI8Cgp&E(;LpVIKALB!AOj=CZnzRXNMbf&Ysiaw?9Z4IJRwu3bYsoi< zYbDaEr1i;g$gGlSlj)LKC$mO&O4TCS3E3~IDpWP8YLHtZ*Cf{>w?VE;ZiifjT!-8` zxixZ&g6;S(0?FY_P>Kv%+P*)Zn)Ok}UrOuN&F?H+INvLzD z&W<`a>SWaKQU6ARfPyv!BMQb8G$`;Wka}T7!GeMo1w9IOG#XP_p|DS3i$aIO5`}FF zH44iVPAF7q@}#gwp+ccYlZ0j|&5Jb4X!fL~OUo`Td$erOvO~)@Ekj!V4%2r$oR$Mx z)@dElI;8cGHXGW_X(zSBj&@htt!Q_q-Hdh@+MQ^3q}_yeG41ZOi|Bl&^OepAy6bc= z(_Nu^m2NrRHM+g%UZYz=ca?4_-EF$J=w6~*M)w9~JIXecEht-3wxze!5i@!(C?8Pn zvoc|A%G#K<2WviSE7k_Ag{(=%El&+uyR)`n?eJ^K&(~^7tW8)C*f7{Av7xY0WJBZT ziR(GL9=msTpWJY`QDt|=uFI~%jWW9nt{>Tzl^MHzc6;nz*}bqEaI3pONw>>j!PWVgny&2EF;12;8p)VQ9oTj9DCF!IVv zcHiulxV~X`%x;U_J-c=GE%r-1c(8Bt;Kc)v2R9C?Jc!w^v2U)uZ8?RMf7kG8$)r*fQpDaF^e46oT%BMM>%X}{JS>ub%wg)tF^>~#`GOBj(b>cTh+ zqb7`|Fl=FXLO%;{Bs^buL*WfXzajcf(RW3^BL+1wc!@zK2C*32L~s$oLjf-=v1nSQ>CI9gg53h8=RKP5NwE}Ac_7Q4Z=q{k!hOQ0W26R&B zI?(l@TYzp8x<%-`pc_C}su3wgo)AiDkwRF9unS=s!U9Zkm|P*WVDf^n0-+0`R2_E+ zixBECNg!-N=s@&_*#n8K zj9~YG!~frs?;9_N2u=~)i*Q%qmchLYw-?+CaC^Yrgu4NE9d2*9rEssp?FqLWo?UqM z;Ms(v3yBL!2a*~jJ|t~OdXO|AX+c(kOodD;5UDq|SX!c1Ky8TH3AGDq4b++_u}9lt zSwZcJS_`!oY6H|}SV~Y^qc%a!Lw$w%0(GfFHt1H-9iSVadqww-?ipPvKr(c1=+3b* zN4JKJBDzC#eRM5!o9K?wt)rV`Jx6zouDnPO-5I(MY+ukDV}F8unUB!d&@Z7M;{1g3 zJ1&0irT^n69zGxAqK0!1=SQ4xah~Gb#d#0svT}j*D$Z9pf8+ds^Bfl?oM$+n;-ZD~ zCoW8!_i^Fi{DSi)&eu4f;CzS+*}a4FIxdPhzu|m_3n?m0+*NUB;eLqw5$?x$Q1MX0 zgQWc$CO1q@n5vl0Fo`jJV3J_E$JD^AhG`GeKBfyyyO_%Q1|~cF{j%0SzT@GT-Z7I3 zL5dC8ZHJkH=@HWuQ+eqPrWH(Un8`n&VIprtsq0Z!r>;%iHg#R(8{Fck(LKqE@?TZ^^(>bT5oByr@c;lpY|s0UE0@a@6oWk7;lqRAy5ZX&PL zn!+p#(-vk=n3AR6!mJ2$CCosWme6;iKNS6m7~~@8iXaogO9XE*RK-vc!=eZhF)WE; zK?J!N)x=1WuqVQu2=`)I6jMb^D`Fmqxi1!~m`hqt#QY@|MKRCBq9WEOv5CZHA+~R^ z&Bbmkb`!B1iOWe`&f;p%JBPs_&*f!~L417QH+ z3Boai5rhW_w-C-CoIoT!dzr4V$zUU$`8#Y?*u=0c!sZFv0&FX=)nMzuX#w{h+&gd| z!My?Z5bjO5x8Xj9yASsX-1~4J!gB@B0G?xb`t-O!GJs?V$(+4od!$_#t$oL~opd@z z$F^;=V%xUav8|46R_t_avtv7X>)GGlPy0CbFQ}?(T{YKQbB=KiNEV1~3wm8G4P_tW z*U%&KG*SBRqy!>v}$*GsL6~y<)wdxLy1a!arWu=TqW_JtLD?BqRbN z+m}_xdLyI3q42mkSORj_^i?jS;+RX`R>M_)V~|lKb{p!Q^Ma(I5BP=mj&f1g5YS&5 zJjuey+n#uVbsg=&lJ60~}R8j-S_+)`jAM5RInt>PodwcxeD zUm_8P56v!To$^PSl(RTo0x5ShWs|DK)mpvcv+OFiQ}o|c1%c8^xxLtyfLr<^kU*Ts6GWO+8^Ul1m%5Kn;B9ByX_g`_4P#!0nF=^@NJ<=(em4k2sGCw6| z6{xLgqL9GLukgS%Z=#rhX6E57oBkwqO?1R!M{TIuTk5OunuL(Fi>(*m{(*t=zxvzF zcj%lwNtW)TcU6DYuvh=rw0J-wHx8eGv8`-Vrv1oKc5gXam)#z3v(njSh#^@Q!TxnK z1&L$R*GcvyZF-unZF!T=rD}Q_hV$qT0;j6Iw0-j9-49~UolPBQS??|%d#sL3C!4Wp z-Zq8JEEksndFez+dl|*2@fyaqkxd@w$$gCkU6`w||0za1cb!n3n2vS_is4{zkUI&R zxe|Y_?FubFa65A2I@ccnriF7u@L|Z2!I6;(rLg^+>QDMl03$(z!oZ-C>BJBy7`nU% zugcrSW2=~QY(-wa%e&^$1r|mAyiUHF+r?e4v3r_Xa)S#`r^DeiPGpCP?s%_-!??+8 zY=`x31KzoI2L+hnJUQ)zsM}77Jgz+tSf=3d1*FxR=J=_l#?S z9V%ZEN4{gOeb15Glmq@zyLhuwQ|EnE<*c0|ugn5A2ZuxD6{^P0wIIDN2@+5yhz{vg!w;qLcKHI*z8ip6q^UbP0`$ zWQiN~tCF?IABa+c6uk<>f!<)&plvj7lhaGkr1&Htd!tLp0l5d(oA)%gkTY}}!k6R& zOpGTKPYgPgJM>p%2~MtvTDTodEB`7ofH%kvp;dl$+30-09d1LwcC?-dxc48ZNvh~* zIH2$Rf^;R>e!bTl4$|jXv|sNsZs_fG1fHPhxp)$jY6~|8nj(**C*hf5cdOFFXc-u< z4Mv9_(P>O*(Ex@=?#@?|NRVe62u;>T%we*LInGyI>#YFfgW*B)SlJM^2K8%$%TOEK zt*Q?qgr}nRI34d{Sty8gPEp_9$vf7?p;UTykpDY5|Ji^ zUPrs$er1B}ct3Y7e7nwpb#xU^EumhEqg($Hyrzj>Sv&sz#GpEXrn=seBgNJd$CXa| zy<=bhC;l@5->GNCZbPUfRzgy!M~3c8JX2i(VSIOZNBkP{fzUI0)-pa4|F={!< zB*HcFw7x)8D1w8?-1T(9NE$}Em4T=F40V2>d@vkYp9kc_Dv*s~B!+edLk@bcrHvvT*U4xeVN3 zu%B)3IWidP!Fw*_BfOd0Gm40i2eGj#?(6$S6C#q7^7*Q7nDz@t26<5QiJ|%EZ|jFe z^CSF-@%f1ETxS-@6+QU2?p+5KFcd}eYCZ99ANm&<6eYX4ZjYZ8Hb7@`jJxBhY&r+~ zZa7c6Kh6``Xb$n+f4x`_r$aeqw-39yZz%VgCQqRA&wV>?&1Tav4C8$}ZtN!8_;)OP z4IO>=w0KgP1+o0C33s>^xMyCpcVEVwX6j-Wc*}hh9CGrw{hZ%+A86q{ls%(GenguU z_KKbTkl|GBjB!>?IWM}1c2-XzGWr$DkJ-w2@wsfPi^hi;*|3#%Rd z$*s2mrfr(T=_cjda$vZtYAG7=hx%c;E3c{=9RUsC-f1qf>sNsGa2sEEWdZN6Lj@Go zZS_b-vhMPsmvFzZaw~7Pfj;op6y04n&U;&-=}})Yh&sTw&>d8NeMBGQRkXo0T%uuW z?1OAvk|8bUZ8bSb<4)9t)C`ni<6qdi4H;3xYV`5OXi>vD^cuzusORNcC&qqQ=VG>3 z#`oyi<*R%{Pd`9BMH^#7v@W%aZR7MvKjn*T;~muZ&efiw-p~K_(5_h;(lI$PR^r>^ zhux@a8JzT^Y)EVMosfoG7;E{Rh@#RN4a{yUBUcQ%-G5lc3}KARmLUC>`F2Mx#Y+*P zmM>%rpNFred&r(^D>MxA$9tnVt(x-@HGJ#gen3F=LTw>+CbjN&huOfhovn`pbcJ1l zx4Ntn1G*yg!6PsTf9CV=c7&baZ##HWX(>1O4mwAtLTQX>Wg3}9r&4Hyukrz0!lq%f z32YS_I>hP%^MbdDc>M_39QB7=BF@2UE!sI8`GJrBtzhV(IOz|#VXU-(fE8YXzFQ+L z(dQJkNbyY_+aM8rr_cD{8?ea72BJ(lQ%4%2j~W0xt4-#N@E zOzDsfB@>~vRFz}EOj^}Ssd(5w-i812D!=>kW^A?93&w%Z-zE<}k7oHNLT%B5?r9(r z04+5vHCJH4X%{Y1<~c*>j~M|XVO%XwBaNds>r#s0C`x?!8Ma$1mZI?>N-}xlEG{CWwm_lo()6;X+$B8@hX95{gafLUoCBN#vfsg$ zZ;h*Q&FDU6nkRe5w!}7P)wX`k>|jCyIFcR5O8}J(O<>UqGK8=CH+~wIkIaN#rsVQm zi)`n5dK`XcKI0&N2`2SPp|~QeA&(HUai2QX?*YaJLO~42%n$(>J7gWgYOW0D`d!a4 zr=i=-gNy@=d@O<4m!#Xvp|!v!0Sna`i5x!{N|)Q=uuyM|794z!W^7BlIh`VQ$w@Jr zxMdU_Y-k(AUM8+WhvK@TU&Y^IhLQnc{=xn*pJ;C;4-5~Yh>-n#e+3Kj3+oE&3Iv4> z*+xL77Qs2gVuyl0@qmP&(69eKx!LftAZs8l5p*!DqleKDl%pWEw6!v|&a^%O6sL5w zzu9AVa(BK@X0NeBpkqlg;N^smanJFWk*d42JU|15PpFNc%RyuS3BVA5V4M$#s5ej6;0Z9q4t#ceZJzc@Q#a@j@sko-9PvjYzi_IY3sYmnJ6>pT z?&qT>cC|+g@JJ@qXq)P%;!~?N8@0!cC}Qs0lTcC#)f)}Ri;7SQ{WY5;*cmF%da{-( zGpRAe^qH!f%~~+ourLKS;__D#!oTm}o7wBny<}c_imXjb zo#OErN;r99wweW7i6)w9O|~{Gf%4bLCUwobVo#r-o%a!QSO+{p^N_p3tv1lMX`pO)8qNaDhb<9QLD{g_ zAZhGWKWY)wFPqnlTTfX7LAnR9e%>mYs$Y3NwpVML4IM@<<7KnQLGlsu$slq$M>Z>m zrmeynrqse3rhpoowe8GWWrLU5g4umUE)6fgd-#QK(}J9>kmf~JF!`0oIAFl=wI-iYu^{7!Rk z1Uei-HH16j4{*`wSSz8P*o1%J7`Yt!9ga7GH*_OpBWNRHBakw8T=i;WW?EMOPLQZHuy%MCqrRZ1LT5s)PEM$58@ZfWd3e1Seg9`fKsTGhKkz z>*oY#XFG8Wv;l=OPC>F*Ly8cQ>!mFRrh&xD_GKeJ1)q+zTBRCQ6M%G`6;<^S<4 zZYi&nU8Qx}WIb7~mq^Pj{L1>n);4yLxJJ<=Y%ceNvNj3YwAk&QvM#XJ@YkR(f80GC z!iB;nJeE)wQx}{Hrw1|u`QY+hi!T&1g=A&cq8f7=S#%zum4~`- z_SbXG;>?t<);G0XEGDyNb*6O2)^l3eZ5VA3mf4oUmuITCv=_8lwK4Mb8aT`ujO|9( zqu4`QkaW?rxpjf7KW)ow-B#bst41|qrm1x8KwN&ewaTU@Ba4BVB%-)nc3wJnS9eH( z<8GUK#v^^;d*~oqgdK7hp$tf;rN*7(w0dyUmhpQ3zPjl+Wt2Mz7lA)&NLWrtZTK3{89a`Y51NL^#>wFz#GAo!=e>Ax z#Bs!GN8Ti9=h&p!MAAd3ZEp^<>DM2~9jGHeB|H6rOZp;_xbNCOJ~|E@?;jtridcXy zhb_lbz*hiMpvyVt;^v~^s&UfUP5beO?CggXsnr2C`ESQAax1bkGBjA!z#FHoefL2I z;I!zE?x=cZl%K%D9LGsVAM)Q$F283J6K)f4JooWLRws(WixNb{3k&BaubcHg>^B}y zo*O!1bUWHpHtg^?CY#mEoL{-p5>#K)COm4AnykyzSzEGbmTYyb%v)Tmj#_orQv?2d zRNSGYUTgSkygD6`(0z-|CzlXN?~7?g(n&Kf{rkBkjSfvtMN^z5mQ;_2Q@K>ZU-}f= z$@m!7r=j(* zCgrPa7PiYfr5k7NQ|ia3@KgIJ8x-pmX)0WEuCSz~)6aHn9mG!(B|IY8I4s*#_xz84 z9V-O%4tYdAmtXGFrdvhFc#N!J*2ULVZB=t`y}0m9zZE!|+rR1GLy2IF&_yOfekO$P zA>?*&+CJ_c7|uaRMTkQPL&%MR`sc^iH&_NP?@4i^PmxlYzxN{kD852jrb*r^{)#4@~;?kAS}rkrUvIv z-6?gdXbVimGv~5y*$z3c>^tHkhKYBzhqFfjjqz)QTka#oIq$Oka$9wsR(?~j#pl>t zmRpS5?>^}BzBc^N*DcD`yVW-%oAI>awCUw&hWr(McM*3!_xOvK?pf|Bu5OT=Qz=LA zg=hafHW}jtVy3Tysa>n_G}jzq8ahk9nI(1`H|h}c&!LeT;3o?mP^y`P2^|g(KyQR8 zicvNlPMNcYR7E&KaExz50D@OD*ivxu5MtRww*{^QuLNpFXoh5e#~fYX5;s+M#ts@`-W$_>Bf$50^wWkFSDfg>!~Fj$nmxhJ!BrmtY<& z2~j%!r_j2@4^qM(pAyc(>ypkAY2=1`dk0QKJa-T)o2!+Ub!@z+}N8c*J`uuDho8BE@@GhwDPUtm((h))UuT}3ROHai9p>5yXl|(fqE7u@#8@l#HvqRL#7 zKGirtln>JFaxVX>hN;fiR$PT&bzWOJ{Nl=Y6xi20()({}-#DZ!_Lg&mJQf5^VInrB*U7?dW4;1x0%c-5cE`YMP;|lK z@p34-!MbU>@wy#6MLq32w?KOokz*Z%1GodE;f+arzvPWj#Sb;qHdK)Q6^#?sERr$O zCNeJ)Ql~a@CK6r@Zk}QuP6gr&+zRCk_6+_E_fOQKD34?%x%%&DdZolKQpFoovGzT$ zf&18^c;Kk)fQ>3gbR+MtHv5jP^qCICceBbSH`*AZrCRmNy2`Bza|3o4TJ@SVf2`Ol zfC|*$zn@z5C0TRd;m~fNhSZJteWV=OJO3~*I{yY*anik>F~7;@xc3wYrH!MDrfbm} zZ>zs5z1q>}viEu3mhHbXn6TqZc+)UC$}uY6JHw5W96ddZT|+fO5Q`NXz_iSSEl~m1 z1ScC@4#e=YCS^j?ilmBk1FgRPklzshP*M6xWFHzzqCjGql%iCdlwXNQ35UwxKARHB z65bMv60~_F6|y2al|mvMt4K+r1TfTj++MRbWs2Ls(brJI)ouW_G)5`-mU>K;5mFt!JO26iq#T>EE z>hh&~ZJSe>P+6Re&xAZX2>kQK?AUd*cj+B|iFAs*g*(7KK=9|$%HPX~)E|-@BD><> zd~Z*1B-s}j@Qd}0it;rDQrUeK}Ep>D4FcIKSlKtNJ=U8RBP>oNra0=%u?Rcpb*eCS(twg+pJZ6Xa3zMkZb$xMe+LM=_GePF&wfooSNAZ-v#8t5+ z$?zNXfaIEg%CO|Ez{IR%rZ47uF*V8X3w1<7;}`XtdJQt(Y!a)`!!7|5+CNzh%&x zxtUly{$Dd_{760YKmN>r-JOjv{PS?~qIvi7NcbU>Cx~!13p}vsy=UF|q`@+H zo>BbspqdmQGchZ2N6EfjGErCZK_~5By2a`CK!>zla+}TOovh=K^h{}H$lHhhs9E%x zl9R7;pqcb({YLi~P`XyQ2>L?byu2$zFR5Aq+x|BGyx%fB4muBXaQ+lqoOT~&^4p6S z{SlnMzK^8?w!5XfIIX@l=s&#U{V9eGXHQp}p6O^lW#IeJUp0%qWr_q9w{`Axs~(ow zwzH1f%08FXzVrf_j<0q$x3aT)JJyCb17un_xqZ~P5C3KBebX#` zw{G-(p1<2yzLnuSbbgf4Ie34`|LXqJ#Oe0drV#LQk&^55alRIyYV8nxUnb*Vz30IH z^%9Xl{5M;`o7Kj_`b%DYyLmfX!)L+VVf{niuJ6xT_PUp9f`j#w+ie^F_k-Z}GyTj? z$#iy`|9zUn_Jw@(cFA_WV&D76`)Er|U+=f!_mhBtKSe6yVO^S_FJjzJ0{riT06+H6 z_Y=$U&z`dY|M)b$<%eH}5T^lt97jz=-$zv|f_`kDEm?8h0TW*&rp1>wgQE!_Ztop? zf(U(_ANQlgpy!+Wo%)&nzH_w`0E#AlX|TF)IQv%nem=X-{yMsk=bq0_4se;`EWbN$ z-X=VmhTF~=&Sv#>L3U8MJ3idb0cL|9-am))dZtlO?P5v(X zoF^a0d^L#t#|~dzZ56m ztXloElJm{?%DvvK)B|*;^UasJzO0b_v+ncLz81Q_n?v&5Ps+DGtu_QN?`EBE%eUS) z5qsk!X=PR>$*;?WU-&fyfTSAQ27PzBcBtp?+XlJN6$uuq{71?8lw<&9Z z71TW|{qqeA@HnZ;WO>xsZ^)l07_O6lv9FfcOjzB%#o$PtGety?o zOm)y5!>7`cw#de){G&6$0MtdVSt*9#M*1K^oMmz%of(iA6p0*WN#j_pJg66YC19Ue zT%9{qD5uC>(W7=8KHd(*@%n8OxrsFOe!lFvC4m~AvlAr}4}HEO9z1~U;76uUz1@J< zWFI+=FT-8Wp(IU0Fcd)$=w7|@#f3HuEyQnfzjkJ% zFbN)mJhh#U9$c*h2Ep{AN+FgI#XqW%9R&+9P2BO1Ag=NjxW@uN2I1qBrZiYSc zBXrV+3EOmAA;iL7NDN5fW*H{{w_vvfN_AVh|G^G`rBPk{N5^V23#&!9A^V{k@aMW5 zz8o>OxgFid&bhoMd6xz3NBUE<4P$FRPMviF_+#o5lxvcXf4f+i4S7#|g*+$S$Qo2|8phoZj-i%d&xo03*9MM820Vjc@w>7>F5(+PHCp6hq+&axj3uC4M zi6UFcc~rIHjoL<)X}!}<*DT+gBbo9J9-=;zSG6+23oiRF0rnvy;3yv5)Sh+DOD9HQ z3;XB$k<(ZcRD^H1J7R5-e-UNCKy>&GI11EOI0KGe=vN+`ICvWJ{|vg|W%GRlDCVKG%r94PWBEJ1-9sc39^>eILDFvVxp&s}T z-wo~@L2pwkVXS6es&F)Akarf{z<$oaQ5$CqmKI+Pes`wfWVd;E0ZAO=f^c{Xq^znE zz}dJ^5B=H4ShLdd&`DQU0&hk{i=$OT`lpx;D1jA%+2#eZ-wPIOhS5T0#4 zT#~pFnz)E$p*#__QgDr0n!3=6EDXvH8Dt+YhHbyx9~|=a z4j*p}6JX)hscF~*g{=@K;OJqdh_w`{X9x6!`u=+-{%IlQma?2t1+b4Yk3>Q#hrV(# zJsj6k$?(cYz>&>Cnhj@ww@|){x}lK((R=%@2$Xp0wT*criYaU<9z3{sl4^|VM7jtu zWdMkU#r>~jQ_P*BdWep{RgQ!XF7Q=!@LiX+`<&Mfx05Bwe${?d!K|hMW$a<(&3PBe>~DqF zeMBfz1P^zQF(1O_m zBT~cRDO)>-3?8=WRp~Gv^ic@J#g$LUd8`uVLkT4rp`JjF|2)8j@rux=eN4~T@A)lF=Z$d{-`ZKb3WNF3}B zbpYm0Fac4a)(3d&69fcDBh^CZ(z?Dg$rzpWH$qgg9Sv$u~v;DwF$|c>VB&ai5;jM z8&uxNHOyf*Ww5~CN%aEWRzUTfFq%4fcI}Jc6tVC-(2Br?nHIivVl@e5M+}HLVPz+9 zZEt8rpN!>yt7`@~Ln6eBx8X|I>jvJ$^CndKMBnk%z-}A~!{)+oQd-WC1%!Tpn<7BK z{lkCgWa=HHCC^b^q;K}YEp6XC5HHoE#SC+eDuNa_!Dsl}a#p|R+#fQi?LYa5te{kwR%1j$!~{0F`T0^& z!;G~Dlp$;B7`hDNF`kMO&=z&+!d4^7rl6&3v)%&T8Jlgy$A( z@JV;lMM-|ac7bou9dZ`l+Px7|L=+eX5~ZS+2Eb;30wtZBFPqwJPHj$mkVVKN&OUk? zw~I*c$;oR}KC>DbTt832E9{W5#d~oS$))^s zthL-9r~9oxY89m>x~C*wa*jEBEqd3`zdqb(guD>;@WOR7Z0hli4F+u}aZH_A(fLBu z$Ku7#VV!vqQK~%v8wcSE>5LZ5s!sq_F}mX^uP(4u4L0Ao!f}--R*)K2+o_M4t@=LEl=J$nbF=UQC?h`I4~U`5jipH?kJi-7y0;>g zVP|#+nVy|7Dp|Dz|7tMz&RdZ+{=Twk9S^tu0Buw85$YHmx?CQHvsl+p$#Fw7xd*?yPEs3o~rjhd^FO7*IEBfB0X4I+u69dKZm2rh3 z8-xakjnJ;37&3G`oL{_54}ixZ7l~>fSM9%y3mPa%qDuCgRrfCU-v8=ntG6RN5wcLU zki-EJ2i={G+`2TiD zoFRWAblKSFdHI9+!JDB-__U|){cgw!XJSd_4E?~1-UA(G3q_cC01^NiB?BS;@NmQ# zY#n*rVWyc)N$@IiThrAPBh@hZCm->4GZpG!*N}CL#~=6t>y$bcwr0muL(Awr81BTY z*CvFc*Fsx}Y4=Yv*jp8N9L1}cve~VZzo; zx^a1!+l?kS;D&Bm-IyR`zteSe=k=@{z{Z0+QJV48=K-4nDF|2(PVDClj^0d{b4zV&iL;)S52d-uIMl0q7v1VJU(zqZ)%d_@$l(@Vjl+Ai# z=(~9j>2)^zYw|Ypm|B=3TJ;r(-V{Ha5ix}4$H<5J9Yr$@&Pk4sLu=khS>_Z~ilhWfW*j3MkG#Bxi#mMTe(L0*Vg zWG&R0d`g>T0{e-pD2T3u^`1~3k%Gr z&?9hq-TItCiP7k=+{!VtiW3HAO< z>M|K?&pC`N)~elJlJY-v8MHJ+HI!39r@jH7bOes{JX@|!PEQZCq@N|JmgoCdF)iPn zCFXWUxk3|QAtn(us?TWvK-5QduZ@zKju_%$2Epxtl zcng2CWLJT=!s z#G$jBP6oq2NFDzA=)MlfgNiHsT7ibElQ(+d0#qqyn+Qo_kNt4$j|XcruhrB#*y1 zfPJFl;WAJ~@IV_h!Xho34^@zf>2MrwRzR|r4oHfBh&SY+xY zQlHdy(qBRiLaF_Kgl2;b5G3Ta*Z~2-$w9A>kI))vt82z}fuE2tnfc=ijbSV7dA<`h z(#m8ts!ig>tPJcrJk8aAw@VMO7pFlx)h%T$ay#?UaUv^BGxeRuv8=Wf6j`eHFvhmD zm@JxuSQ8W!LM*hJTqMhmQ8C|u4i1X`zbh+&eP9rs`0px&9>{koQ-u{@U@=?*e;)XJ z?IPaXi}X2Jt&J(YXWH2zxPniCX*fs3AcU=3gJ1)5gqw5wPI5>{^N^ZMV zoRO-CM~!v90(L3*H|-rnqHJ9iR3^ZY-(WSxrqB%|EvUE`m*iBXWCX98GX6(z1dwF6 z^}aK+UYhjJjSIYa-n06Q&4vEn*U<5)+m@)+1Jr^=H{8e?yP$Zx_trJj@}AZ06wo4J zgaH51D0g~;A=4$P&5^(VK607J#!dyk*`@~+)=gDc1!nZ$8sfC#t#(1ka9B!=Pg?%R z>TUb@C0Pzi#krR5oz}n%-m@PcUxjl~?7O^~OhV4DWfd(IZI1Le;IUd1faCwpM(8J%_r2Y6Ln zc$g91GmjTd4dFVw7Jq~8;R)d`)#YZMUKq2?McCX!KN_h%D`6CK;!cKEWhk#}A>c=57%H8FN(t>Vlg&eDBa$P3rnSa2IF|ELsy>oZT{^EP#JRR`@#BBX=j39&bD6_?EJd_$RHrjw=T>zl;CS zC--b^_ayb0s%xk5u8DaP2hNy9(H&R;E!4%YVRN`g!V(SK z?O>+hJ;E{*t!&cK#PJK=z@(UUI06e-s?(aA_8*U8G0f?-^ljSDo|$W-kG z2Dhn&O4$d_Q`YHKnKyY+B8b_9@&AfQTpmZ_j_GJZ($Id>=*i-088Z2eWLxST&!@kY09cumRhnizSC8$FTEO6`NBl6kV9a21)oL=CE?sfZmci0t#2 zI&`k_uTBT$Yy?>$_M1}k^x%OTxRSqMZ#BWr#N zduzev5&tkY@Ca_0t9J{ao#T+#F!LG+??v{f(694Ed?J^TX@5sz12_uj{-X=@k8L4> zhMA{a#9L6q&Ya_fZ$CE*2c!r)0LKOZ!n3^8{C8&63Rb8wrR4S=ut>Ou4eSH<1S=ei zD2P0OO>(ke+Z_hK)l(8NWQUDXr4?pM3Q(>CGf0-h$8Q zwo|6o#(hVLLo&6}cDu``%CE5N)3{-8DqVVH8V1FΜ!zH`Qn&`)>fN<;Drki6VxO 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⋐+Jiwr0Mdttm=0s)`}cY_X8TjU|o}$k-bp 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%0ANP^N}5C#IyZM`Ih4FRPeGVz;aVqnnvj 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

U z#2kdadeW);vNcur#GKZWqdf3T z{O}MIHBQ=9CcfB#gY%&pdXB^KMeA$mKj8mq9sf@v%73urTYun`WqyGs|5;T3RqObF zPJsUR$>&5aP9_9S&W;vF&O}^La)y>BM$WXxCZ-m)Ci0GU_9l+b9uy|-_I8fWPBa8W zdU_^KGIqu;)+R(W1YQKL2G%YnoCMB}E+zy%lw45%)9e1H;AR4+oXFo|SAG}We^v1R z4YTsUui7S704j(cMfindBwhuGNQdnaqD04;uHsEFQikLWQKZMKi$Z+hs(XKCJP|S@ z$xZ{y!K=6Ycthb7cv}gF;;z~p%kV&3fED)G%DIGG!(hPtL(t5gDp&^lj(T;VcY^06 zfRPrX$c-J7VIvq9qo5N>^O=GFs$rCfwdNZHeAOj{6Gw~n>+9}+q2vF*&*;CK(*0lU z{r~>={{MJN`J$$BMU(&l2bF;TLs- zTIz-z9zC+8e}9?0)YRNmnuRyJ3q)clNT08#zn+N!kc8QC!2}|aQZkCEQbAb#eSzoA znX%UoE7k2}ecck1$?asXS4R#fqUe5Jg<7?f>3ZMGrn$eyCKx@W(b?vznz`TB1zSQ; z&EJa!nvThIc1a%|k6cpA>RL5=#n;GxUdxg$cF})5NPV(+X5@Cg-gdpc6`Y(aHF-0# zlQW!JJ9(eZjaw&gc4o3=dX=NSi!tT1ed?qt+m5PjRo^pFV`I)8lyl05rzc^SpMBq5 zwl~z!ndnZiE;`n05096Ixz>$_75+T(!Rj9U5H+*T-T6J$0L z1vaZHLDq;^@0Jj|XzQFgc8%~AfW79v_hc*%RW6!eEB;Lk*Z>{BqDzxfLBemq=8D zrK>7rx*^n-%efBHzOr?j$AFn|! z`%6AZ?$4&bvfDTlG+cV{>{n%iGn0h~oW$&1u7JtcCDAOP%BTr|UB_pd)iFLUqB^^_ zZqzEB>W(Qn*}NQnX*ye#7dp6<#O*VAQkx;kVDuHLqI6-BKY?C2kpM}quh#P{jy6(2 z5zPp4aUJ*!(AK<3JDLd}m=o6??8dYv5BmCU)45(NBE+n*Ylp8?3}5))!mT3hvx<*(T2!;4k>+`rX)HU3{NK@?TaQ_oaAWcV7K=!4XLl`f0(vcUM4uDY#$zpa!yf^!^zd?A-MjHTv;l(U;>28d!XL| zM_AAcJ)4A7`r&p5X9{?LHv`F!Ckx?D&B*F{i?7mE=IS1ui~3O+c|ROH8ZW3;2j7Lv zH5uAyh_>DJ9dm*CPpNB#<6cJHWmK9pT%Z5DS+X5`9kC zr?3$Q?VHxqvY3J^Oa6=ob*<6@lji5hCav(fuz%_9m&|@kZD#)wObW4J2Oy%W7taDB zE=sW)?)UF%q8ycsdaAQ4k9G&R^B5PGL^a4j4=1zA0-DW^Wzah)LxZFki9f{tsuB zri7zG9IRUjexi3&53aH8(*Yw(tkFahkd6)8IZy^zl(X)cL~HE1l`oVG>~Zj^kAF5^ zabTQg2ZGJ95UH2TMF5_tB$%ZpH315kiTe;r_4Vwi(AsPB=$+$-yH>!D^SzCyUcoR? zsB{)G%&m)O9&b*^*O`GG#u50I<>&oT?<4-#zn1MZa(T2=77BiT{N_0&4~7BwvNJ@{`UoYfeFMf}^)*61v zS;dPhk#c3LB3S2_CWyfr@I9D&ZMXw$UZ0E@Ct}YUajhIHMIR-G&dIS@ozr9Z(_=Tk zpEF~9%rF%lkEbV1-}gyxulNslS$rJtB5_l@-fyfbm$L*lLdr2U9t>yK)p3UpUg@+3 zp+G(d+Tn0cH81pY^Ex3rWP7X3BI$- z$(V#1h}B((Y{Z(49WL_*IPS@XI+6}`K(0oAf08tae2rG4nwoUbP3tZXbu)PG!)A>9 zEk9+4h?s6@A`2tDW+M1nZirnXzzY%Z{x~iLg-V6T3oQOa3?Y$+7k-j?S3pr9J>v%b zXMS3D-vj9x?Hume%eUyYtc`Z#LrSX}k?bQE{Qk5B_Ef2Og`^+GskWiKZQP1Wp*%{1 zk)1gOZ2PlVyzPf(rkIkc=*L@D8DYE&zH`E(UXd(21nO-41#k+ktos+0^B?7t>C7MVa$8a?ATQyqj2_je8iiD^eQ6ZtcyGz4DB%{aH&KH0)<;(TiYKH`^wp zg5#IFla-BauW5)2^9V?|ru`{B#IWTOb88M1{Uyaj95HS4IJ;!aa+=Dbvr-i1Twzsp zVEWWPl?+V4Xb78+gols=@k@4wpcVv|>4JiF1bh!-pBdyvV^b@c_!Pjv@|82vNG)F4 zvl!huB@i}7Un|3B1mf%)G$3{qjNVH+=z+st5OIK{<9g_@d}5tynt8~GJK9SjclK@e zQdf%u>}sp0nLXxz#orNyTZ6(zKt)_dZ+iMfIga!IAU$pn#Osrn*D)xo_Bp|h@v@8x zu~#{!a)J)I-AX9gX3}*UmfwkR_k^e;PfA8figQT-X*0SvBEAt@O({sf>XcN{)GrT( zTJMpk3o^N%+ISB+dUDmZXyf%{3FvinZ*5m(`vy|drpih0t8+4eAjCoG6OvvT0%|C+ z=)#8%`*WBXH^8!G!o7@=x1jUA8z7M?jt$)QrS#^*Rd{+^y=?do3ke&YNrDVE^vA122hlj&u*$8suV`!4REV zE)q45-Y`QBdZn*kwB3G% zU2}E@a{A>d4(op8R{>%=GMjp$wS^JS@}ttQr)l@etA}G=-BqHwax3&)o39nX)7iml z{&q~of7F@zk~HHAJI6y6KgxLF-&NWCGcm{xFI{#fA%yO6686a~7{LzrPE!aRapq5! zOYCPc{w&3Bv=%v-N?N5y8VlUx|J3I&A05^YFxwDoERYQt!c~NAmQnmc$8C9jYlr1xTXMj$D5`y5%rRRXiY4;9^C<9lHGN zCh$-#*`7Co=%ch!xwdjQ@gLaunB7BtASV?efob?+JN=y-@nm4zD|Kq{T%-_{Sg}bK{z>c!Zfrw2|>q#Lgb0L{a}a zlVO}P@Z|~(n38p8OgmC6k-HgwYv)S z&HR<{+yNCR=oE~K>O`Thh&J~~IwE2PECWZFL(4Oe_D?MC?pMUI$7QWx!HkPL6ty0O zo;IR#>NopBsGO;&R=^`_&N5Q;g(6a-Zb(-OU561J->WKha5}U@5OiIucaa&yd7$BJ zOJ*%|IuP9CkH=0#DRPuiu^;73Rz3X76SO;jcY}>EJGczs)|Mil zx`L(1R~_;Yi-Kj7dn&S?nzIsrTAZA|@DNs6YF8q%+_-p^=8(a@(p(HLTf5}OxBgFwCkyntx(pP9Ekf9`%IK-=O=kw2 z7ch{8crW?(eSP}?z7DVJ{Ft(Ii#TJ^IX%FUCM%Xb<+4N|J4Zd?tbePH$b({WHf}<2 zM?|rgf;~qaWhQykNX6OAqL*edBTYcI50CX}NRclyMEc~U*DOi>O=@zD5vwZ4Q1lEA zuuee5Ah5x+9vX;56st4nvVlIhq=Um22B+Wpwl+JNs` z$L&GR+C>wNXqo{Y7{u9v08$mTc(zSg1&VE*e zLv**3W6ZFRc<@93#7WDK<~rK-!M0EQq4w;?{*xW*+EoJ>l?_23Upr@@_UYukZj(gK zWY&Y0h?15f*Gd&&=?eqEfdo!5YF`^MR41N;g4g&>dX6ni1OGO+suqU$R!#E1L z^D`zH@a(2XEu$7lhqw`12XN4wTloN_I)kUQw2+>OO?|6TRS?D{0$jW8vcAv7mcbzTypj)mr22X&z9L`JsoZb{5yeV+x&`iQy1^_E-T)4|reV`j zeUvfDGEqbxu4gcqG_vsUE(!!)Z`m^}Bq7o4r7Mtu(c;D_9wb)=p1&cbkfXiy+Ie^a zRlw)K2c`lbj_Y$5QT0go$^Lp=>4B{kgh%rVG2cRK?A^4oWAkX#&Tn@8fhny@n_zES z4&&d4=Y1y5cp;FGc zu|>%8ZuL-st8LO>>2P+}+|lI=@9Ho@$TPtJD4EeX$jco&rXb>4U}21Jk8bWz$!Oqx zVkRClFih5nNp}!VRasm(vS(IpE)}mbC}c}#TZ1#7cP{)qE;Afl?Y~qhfr*Yw*ys5k z#OlTP;4M{hdIYbdlNXB%eQMGgBjsi(z2*6E9aM2a>$2r7yZH|Hc6VG;gr|7iB0@_- zhOM)A6qVn<_#drn;7Ub)Rc7nabT9VZ5jl+ zqUIB4-fqrm@?U2to?@!}kP*#NX?ms)d$CgD0-Jaz8pbEXVJm4i4kQmPbLX`h@G-Qnmu@DOjcX;y2u;XkY3UOJ@Nr z=chsbp~;8f1Y#5gOI~PYxOPnxy^^%K9{qzNq#Zs*cN6d(xzbS(8tb(iVR!2pK@c}} z<}?;7Rcy9PgT~H+WdZ@!C4+F}C_MLJ)c$h9Wd2@FX%NiBSZ>QtWy8EoP@1FhIbR~v zp_Sau7~Np?w#Y?L4Ny2goG0w07X{Yo##*ucbi>sm8X<&S34io83u3c(KH+Y8boGWE zDq|g9@^TK&FBm>%CLx<3Kg#?{bc%ymD6@0;@ zz@VUepoz%f1Ru3$XEO+`;g1KS~$ z5_k;fVEvOBhFBbYOE31DKE*qH6D!p>)F8}kIU6sErZXHNg;|Dp=i3$OzMs$47PLE^@UcNKde6ML z#kt|-HFbf%qU|qc6;(MMdqVF+!Ik-*2f(GNY~q?;g#>;tsP^66g4No*Je?%+(5h}- z6nX_IHMnM5si%VSZLia?dGZ-lo}OC>a^A)+9?W1I%?yQg(23zwk$2xP?-wB&BimdE zqv^}=&G-Tn{_jRB9eUdRbFQ!^Ki-I`eFdB~<<5~O+`6F4ed7zVFK%Y=e+koJv zG@|3+ttj(M(U*pMw#H{ii|VZ&F66w3VVFec-Z3pk9^Qz>qRNH4z+Aokeq>gXB%@^( z(7x%1{*ruPa{7%kkW2O9VMMG;96xtcm$cfo^8=qJy^vmqq^P`5`ZEg^(0t;{2=T%g z9@t~5C#(#9Y!G1~&-sB&h8c9ML{O(A+#NiQYC@!eK)qBGL^H)R8zpv3nGt``j?}$J z<0jcgZu{dPTNVo0x&;F-NO*WVVX*u8Wp$uhZygPZA|??Q&qrdkp?L8!E%67 z9Y+{2^At*9KKDajf?VL6`JD><<7oXF*n44^$3FxW@ZY zfLX%sRW}Wu!Lgj%<*)Ot8#bOmMyN%*ylE5u*2T*JvZ}0>E8{|%rhanA3)pqWf?j!n zlM&_Mt^gZour?r`nO%Qnk9wp{W8w~r`9UJMzeQJe0*3T~L1EtnxJY8R20)tR*22M} z_SEI7QtsQ6U~`Gt6*)>9oA4v2X5CpHS}{Cfu8ELp!)P zy4qm&8*w*H$V0d%K%&b2yNJFEnbBYEv|FQbzHPDzDH<*4exXaxWrGw8T@DE~D_nv2 z!aq%*2w|lm>5CuH^TS$sXqyOJ7p4emv-YJ1x-L|<*`QAYV~U<;<&DxRC^G7N2*mPN z=gP$W(9z~e*=S3qk-y zRqzG3q2%(6(K?2;oo$@QSh8lOiw);6zaS`4ztoje3+++)Jt7_#N0&afZ1b%sNAAZ8 zq%%vctJ@OX94QHTro=aGLMN@Oan`vU-`-+x-9h0%;xXHgqn0_e8HG5D@!ZewUWKbC z3n9i&CRWEHZ!cqi&OSAccxAgY1MTcXc^L;yh>L@M2I!P|+^%D?&`wr?Zl3_a;zUMt zc2^Rc^B>;dceTcOYdRC*3AK7YeY3pElen|4+Q5|XHJCLsM6z{pB`;<(4rC675lIWE;gjI?{~8b0;Tq%P2ZM6T1< zeA<=ZKF3Yit_0kqlSsHzPH3({lc3_l!bRZqgnf1XPUOa3) zOU&3d z-WB@Zk-b0Uf^hyi%)%#H;mFHoTV>JUP0PgS`>V`SF&;-%^*1id`!A@kMul#pRLS9U zi@}%SK}ikxX6=+*F837*)p%7};s+G8B+`aByx`DJ!&P5j==og?p$XxjgD5bX@+6!^P2#D~eM`*SLQ2yZfe0vk^K4|yHoxpIBO@OL&KjR(b@YZ8xTB5#ca8-% zy44}x6K|l|)*)oNJkA%8%ke?jMbfD2$~70{W>XQXdj0xqX-p;8T2c3Vn^A)=jLjM@ zwy0v&c=(D|aS+ZRb7tDdR?+lIb*Q_0!{#{RQw%TgAlUjYSbEQG6Lufe?r>b=pa`17 zNtXsagToahI)ktH0spgNT=y&p&t{culb5bf>K=)E&z&iFPBl z?%njvaoTib^}GAaAJO~PIG@ANYlo9W8m9BQ_6&dhs!aXISkGY0ZMPG%en$0(pUZMN z@(OBxSrV0fKm$c){7(_+4{6fC=|RE&<~fHnlDJIctz~US&Ey- zE!}gr>5?XGVK|~+gR5GlzP9k>(_1eiwuN{-2%)Xm=HOMW!jS*!==SlGLRRg(1qU5< zAw+9@@(7P|i6^{-uQP5MOXPm>=;XZ_d&&ryM)zWGb{PVw9`+>cus=fP$HCpA`!>QKrBfDFLdFnCk|ZCxc@@3F(y6HWc>Ut=V**tg|mq6@TfL)K1Cd0!}a)bz#rg zaKhyhvsY&G*{`>g)18XouC%n)b)35WkVmA6O z1F_#Ej~&AS?p%x~Gz%ERV%^OgW_IG5p5Pn(6mYYaU9LN)!x?2ok!c|ClhU4sJ|);u zbM3NcNB1pMYh1$#RL&eUVg$!>78nFXc#t<`$gb_25JTM8_zHbr}Mf8;`hh z!R>l?`-tt`b_aKAtus7<(XcKRQ`bxJYxzgLM1$weI&EIE6v@QyqU(G%Res0ZpT37? z<~0){jTep8=ds#7I8b}oEY|ifeOns2i5?eBwod#9rg|>ie+~(^=<4NlDm4h5dQ{bJ z%U5%fK=>CHh{0nv5_BIj)NgRHyNrddlo+7$x33aKpSUe-x9zCwMhgqs~VcIzhs zcAS=SX6rA;`qkA=>E^%nt#Ix zZCof{p?ZvGJVLL>tB75r*My}VErC=G*j2VW`C-9d4&ytGZb)#(oZKcF6ncU@g+dkS zxhvuE3&u@YL62(DBorDt?EzC990yRiY!!DT}J7ds_J4W06^fXf7AZ&jZ5> z00FZ;a-caDR9KBv{+=hkLN|@KvIT*e0~}C~2dn1%8cZ*=Q`EiPwco3i1{-zBPr6fI zJ#T_|rm9|MpC#9Bu-27JvY}a+A#g zO1qHZ9wUnuH(Hwf{%r7<2SvbMLcU7#Ez~<%Ed*PZ7%Jk&6RHL7JKy=!9_7p{$8c{l z{OBXQ7`Gyb0DaV}aA#Jh=zt%4yZQ`VfNPq!t#zr*Pt*Z*QID=(etDhk+P6d-u3u=J z0%t9H5Y#%Hn?Gy18u9i|RN!S@>P)y3l5Jtw_gVgARH~C9J`&In^%`M1XKvNOb0$xN zQ#5})&)Cl2&-T4}tQYayCWj7PU9VCSsI)TE>|6(to)#iV4(IC{0o)B`#0IJ5B`bLt zgA81W)Pq<+t3*mHf`kDZ~VE*s%rVAYvI$4i1`g)I0WI{o}X>w z=EUwmULH85oYdR`NMz3nolyjly^asjZHE+TJ6ZKQ~t-QwPK9sPr_3;WjuXIGy5&kq>a;0 zM#0v|DGpyebrTiu9`)5Hhh6VGfN=ts87VLO0<0##jIa-*0AHku5OMk5NeoViP;M{A`BG(o+}0JbJTbIVGU)jb!$ zr0Mv)zx48zuCZk?sDBIXBPuoF-j5b<&zAM-`jx8^X4Q}H7ydIkc$ed|Bx-iOP9;Fi z295Nv6{vKSdk7j!OP+Y6$u=m(smj|$-6g0@U}fSyJ84#m2L)?q{ydPSd_cEW$&|In zjo>1Y?mjo2q-p@#9aP=gL=UKquYG>j;{-rC9Z+mBp(>faL}fi=oQCE9LEJY5=h|)Q z#`!&SbNX=L``?`zC zGVHuV-o40BUgqRo(^s6`XBc&~qDOG3 zG=KJ^qE~6SpGR%O^_NHKW(8HfuKNM2zh$Va@*{V)vD{$_qnLr}D|Vff{F#~(bR%J& ztB+ow;)%@eM_1^f;Zl3YO6TZrUU#JkJ%}f=&Sh?SD&_qR(iZ7b$0_Mfw|?ZjcD{Hu zv?*>~5@mTU@5M|lx+jx-&+o>c5V!S&k6t?5`fK;6C?30A*$L$$E5KJI{-4Yf>*

+3eK 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%0Am;`phWmXi1+ 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

OG`&r?4LZrR|Y%%YDI_$ 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�{%fzLDTdiHTkjpS1uFXH00 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

;w?ra8o2m{p& zF#jt7Od#!2TT4setMGVK<{yVQ`;VIRbY1Pxlvn%_>7W3(*%McaHZkj&m@qA8yFYW! z+#V`q)&XemmI!&+g8n1A)b7Xw7W5PrDup>)B8hU|ef@nJelKGu@SsD4K?>p+GUc#= z+f{!+W#QpXCqsKOI{f;|pg@^eIhYV>a6#0OxY5>43i}cIPTL6xTLu#h`r0yjTe53Y z$e?@L{{ueky|!#Kp2hvE)m`a7XADBGsyHJHiw?N-VvL$nMHU{7X+qSXh|+}4!yr8M zE@0`Ig0-qhB#P{xzu8BedWs_z zs%p)N36b5FpSd{6dezm4>3fOT>0auE1Po-*s#69bgZ^~V?mMH=(bH>bgP^%WtAFs* zG=O1&Ay;nCr1%SP72lJc&`Th^2D@O^J_Klk@9k4H%tbeycuV-CJ$G6Ux&@=*qT;=4 zi29Gd`hdphN+N#gEsaqM5cm0)d^kslfRS^6oQW!eye!lcdVtW=;JN#KzZAe%|0X^X zFAkPWD(Jw&@V&eF2Z4(O5lyJtG{}@pEK*D!^1`NB-8D^Pj6fG6T49EozhpF)w`Vk_ z6EOMI>tPeAZ$Ee_XQZ6wx^xHK0kzx9v+7-6eJ9~fWaVc8cm z0WqiYMgtC>2}J#SOsnEhoLhS}^t_d%96ca6$=_&~G^c{oXK{6hKv%R`dDtl_3?`+q zjwLbDJ`Edh-<%7C=_}iC&W?A8=Z`#3PnSS55-6~eyNaa_X%34vzMjckPpq{wrX3b- zUU@bUYCx9M@|I+hY-imdS*SMh2Qr=AzPLMLQX&IDsUMn!Edzj@K09)c;Z^p3vc`@N$I)N?>v0|02p7=vjr;A&y;I z8@}$M4eEqJP~}T@WYLkw=|E-WA&%kspuyy)mm<m1dJt8gSg(%ct#PtrI z&j%7RwO%KIHlr;*Ti`NYH49VEVQ})PBOY@%4_SGc@ZlM57H%+DvRdcn^>uTsxAfvy z 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

m1?qbnrHHCb1yDr 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ôO74ix~}8bhM}| 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%0A-TM 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 w2s+xwNH+|L^~)Slcm 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 diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip new file mode 100644 index 0000000000000000000000000000000000000000..39ed5322850505f8d22004fbbb1a8c0ad421d1fc GIT binary patch literal 1437108 zcmbTe1CVTOlQr75dD^yZ+qP}ncK2!9wr!iIZJ)O7zUTes&Ye5+&-;Bde?`=e9Z?lo z``J(C%FMNLm%J1(2o%6yFFF1P)qkA)zXxytYyew3V-rg!Iu&I|0ASR!HsilOa&d>mgDzcqmJ9|r!iqi17h>|$;5e`^i>Z>-t;YlA3%t`*`R>$AYb-|z+k0ATrZ z=>&go(AvVt#Ma4#*2eh%TlrtB|1T@oQIv{Zr$^{{SBqx9l>GJNaFWlKm^N$~PBcng z+#2^|pK^$tRpkAe3t7Kai$amP_L{+HK|@^vxZUakftp+YW=#D|uC|cN84))_?B(rs zlI_JrN17jQ8ri5ACzclE7~CF^lWTp83VXyeyhTQzPZQb~UPdhzJd^)H9=_JT!Ke?g zH>w$H)7~Ewv&di-gDV))7mx1IyuLkz6J)0i^EU5s`qey4U2K1&a~sS(yv$2=i_|n0 zS;Fc(rya1&m9BqycqW%9nsw+GOK`kDR>s$6La0}}o0ywX-tD-TK7=RSiN7LfHy0&%3BF%~2R0%BjHxqt ze4Gvem$L`{Nv;_dJT=yaA2yld7?wNlJKFpA}Rs%(lry>P*dZC(<|xJIR-zS zLI%{RZ(j+^6!?SL$SEj+v>>x-84jJ&r5a^c1v3Ka(ItVy60C?8TxM93taK_Q@qI$; zLa5O&HHIWnjvzG{!1qCc%Tl;!BO-5EDprc%6;*7Ty>&6wE4Y!V(K;aQeg^shVXB*P z_NEP`JyEXtEVj5#aBwoHm3-5;>Op%QC-2_q^z%cm{f5h(S}>0c?QIIp3Y@N2T`LbZ z5g$gpK!9c(njF032LHx_wutr<412UdhaeTWfs4w=L?#O=O1M0)>Zn~a`0bpq+A)2s zcXGfJ$WS94)P%J!j;O2=dq4^v6DT=j$rYNe6Ed>w&R0n?=~v}$w1j^n%NB;tq_1e=Y2w70Zizj5jfI0c01IDiP}WBn&_)Of=30D41{pnfZ{uR zo1sh_$sNI944&YgUs+GQl|DPzMa?%VL|&w%6*f}A)tmjyGC(iSrk`|RgQhJzt|a{t zt?jSE5#dja7J+qZ(MoPLSz4&Xj-tj(*ChE$aM`|AOOh^_6E^)7P_YepUTyq@eiA1v zat9xN*jek&bs5mtAJDydgTC0qu9QU5lg|8JF7S-Kf)^G` zu*8v~VpD8j0$&d!JruZMLyiVFZ@M~?F3o~1s#M7d%W}m*pqn-8Nl9}B9dQ=@c_FK& zU?*f2iNTH7dd4NLdk{Y0gjL@}Ygbnue1w>^lbLZqH`7O7f;(j6$`*)!}U!XHe=+sT+4M+2==%fFsD}s^p z8Gr0kW8sEK^kO;m2aAxwY6QBlzmFmM8D9U=^otcoMD2MZJ(!>1BrwPXsMy2frm>XM zZ_4)chn`i9P%h~2nKhgqFfTDBOO6lovjtJtZa={P3>y4&;X7J@008}e@*&aRgND6< zk(Gg&$sgFTv;AklA*0x?I7p9hd5?;joUT3tDxzslelpKMfo)}kMm;Wmj*vLsTR5n8 zaO?H%x`W$6_v4^Lz7IZ{YE%tSub-2dQ(mhcabrl*zIZtFZ4A+66lIx(lRPG6%I{5h z8EIKuXQFZLN0_lS`urCF1zxmrKz+)Xg4CZt31nfP^>yDhhz_S4<>3|)up|<{l9*TD z2~ZTzSB=SF6cYhuTsDe;BCy|!U2>mEy@=-2gM$J>N1aH@1%)1aOo=s5XVi=C(Pw!b zh~bxFOXe*S<>p8a>iLObup%0&lW1eWV!xZ?MadZZ%awQXqyr`!_8bxwYuLI{Bg?Vs z)J-s0Un7NMQ3ZBQ&I*G2qgk9Dl8RVWe4L1Px=Lz}mN)9T_234mrgkp))H#Bli$89EmdN5_!Ot3FfD5;Ki2qFEij-aYehFLB=nEq0jiKlbgf z8qFen=C14y*gt{;0O0@qzB!s07~A}-5++7v!*)Xy!RJ^_`XWp{L|jwRgbXY)4>E&Q z#7)E#nyWc+OH%q7kS6tC;1 z|I>HLeW$&X`&rexSV}4#L+jWt|DoM6ePg+HS@ophRTA>}m+Tjj;Q+)AR(U@gM6m*; z`RTJhv-e5e18bR5X!b)4mRw_o?f_>Zsa{mY$X+U>aGcn217c5D7V)?p9HcboiEuk2 zOZN}{J>yO??{1NE1F9;X5)Na2l6<$h1WY1knEWP#(9w>%4|Hx zM+Ile$okOK8`GrEeoRn4QB1Llr*zQ*`$I1VC3NfTL3I10{^eJFl7VB>mXfG`ZWO2( z$f~=;w6~6Sc88B-tv#C^D0{o&=dy*|AU-qpkluWjjvnAMu3$gj{jufEH`xvShc`UP2$AN zs$tlLsipl#^^bypy0E zhU}+?enYKeS66w?FQmnI0DKUMHxxX{EsrIxt6x2@LdivbFj|-DKA~2tl1N&~O2(eY zvYPh%+M4P3*kuYp*#_S_=U80F1BPrqQpvef#cEl>LOcrv30TSZO(t%HQC-~6M3xM) zNfnVF@YI;^n3Twsp;U~@9w!^*{QWKKY4q%!NsOM{y>L_guoJ=(-oPASX_hYj!!jq~ z4gMP(}>@Hw1W?h6J@Yk{Ii{Y*d(kMHnZ)fOr?z?Ola@=)*Zn=I15K>#N^BP%Bwdq+EW51K#lZR`9m zo4Ehzk|J~VW3&Eb1#U0^0LK5Z{r@9T{M9o3H*Hh0vVz?LJ%aB}ZQTU4cypt(RTya+ zYdryM0%U-9JL}m?WB*o;ntM@B!x1P>YWI@sdHTrg9Zt_i0&S4Ni`uqH%F&XKI_26l5M`f{{pn|Q2-uFo42i7u9Qs;cU>n0p5?VU<+* zy?8E04JsMlYSkUc)O0@TputG!YYOBMQ9;u>SkKPNkf~_~a~eteJ~ii;=0n*=z|CD1kk1+NL~CYrXup3g_4IGPd(NN1%_5B4USL)hVAK z4`Q-+*A3mTKEqtkcYd<9$gh)xLZWCV;C=LNV8nstKerzvhvx-@U4Twfe`?m-K&~TcruWu4XZ!(zgvbSquna_oA~4 zHqu_ga51`_Iau&GjLfXA&AlESD15KfP)R$VRDf#VY#VSJU7^Q1@R2Y#*`R!x>#%zK z7)dke`lc^yXUzj<+GYaAWEJglFE1@mu!>irbtXi%^L8-bs<$_+LfuQaCt}v7V^3ty z5KV5YIN=?mt$GO&5wB%&E?TR{*IMpgQ^XzhRYtddVl%^ZKl9OPBYd{oMHhR&YW(aB z%eUWi!JNjkC}`06e&AuNqO9c`+~&Y>nJ~TbH>hnnQ?sg%VKho5pKnqIBe(8I-mXdT zNuIm+UbV(&C^blQk#T;^q2|6kd_9E!&zV-T@)j`VPYi4#0szqckK;g5L_k_SD%qK&|?_b9FQjZ^N@L~l7;>8JPCqh&Of|UW*QVV$efScFi!l;o{85Y zwcY@x=z)u-g*!GjK3$(TmZ}qOv0T(u?=A-ky~^xZ_JwS()26sv@Xqx zKJN3~`qZ1IP^yd@Wr}}b1s=*o`mlvc;2TFaqvP{DlpDd48ZhpgIHsLQS}AW}2-~#KN1C%o)=a&U z;vkD(xn~!V*f+yH!t)U`SXNK-g#FuA1Z;%JgMU3v`Am*GJ;Lym4<7>!ip4=GXC0H` zUew(;ZdDLWM>?`_nOL)C_GeX+yo1<-{#s$YE{+7jFse3aQF_lJ$K**OjIOL&#J5B& z)T9cfNJs`l=2BO71Woa1(QVP{1@fpZF`ha^-DU~A&hHaKAu2{Z5gfqyn8=|no-fs( zu0$VoC8#{?p$_*|&E@G2R@M#7gm=`zLGvc*ky7KH-1tnO3RxtApjdVb*`1<6;d$asoz##ld#HJ^%=N+2PVZ2Ax^`EA^~N=P)LwKy|p1HE_U&mB@Y4?B=#5rVpkR&D{9p33s%in(AFAL zk$axK<7+h^Q_scwI>9^OH(EL>riZ8DLb}ecVU>(}TF4nHcTGQLTHJ5wnMap)VcqnOK-tUd&ESa5~s#gQ(MMdafKd!!&7p1xFZ1!VkeL~RQ! zwtAsD_hD0JlP1&Yqu%6GeRPW(QEk?yxgY2bwvUU-Jq+=IYFf!BXVW}u^T^l!?Y{{k zh2roiZyCQ@o)@09b@5RErkDT!87Z)8`32QvznSw<;^h*#huRJyux z!U@SA9Ya#YRVSGS#qRz{SP(j2#~DVRQArL{X0P(d&`ad)b6C2NOzrr^#?mn2`0=+L zOkk$&B4N09ff@!*1Dy1tNc~P33gJwbDSIR>WM_sQ6Vh;R{`Ut6S6#lJ19)q2~29P|Ora2Q@=+7*TFA8~C>&!lJfi+wtlWrlxaBm>di> zPS{=1bS_WO<%pKB0Z8&!4eQqBB(Ty>{b&A5MEKWjO7R|+2ayY2V>eiI9a-99{zw4_Vy*P;0HeJj*F1iUW>>KbeXv4l zAiFv;qd8n>LC5f;D@3z?pvUerx%i_z#+;Nfr2Jr5DmhWdw5!QjFm$&|9M2=V&KqIS zbaxWRpp-89XCU!xUASC;(zQXS#LmAyAeP>8{1Ed{pC=xPGCg=}0^Wgp_}x#VM@N#J zVordA?AX({!L}uh(P zMp}2e`KG@kOFbKk@auEU zeVk;)o8h&m=>-Ot1d=-Y)LecFgme7~9{73@yT36;`8=jrUOc{2Niace=zWb($T5#) z#z2KUcke;H;H*ifx|X7-S6j0-Vjn!$-fip9$XJk{(~)=i@LN$@{kSnwKM1d5unl}q zj0c%DFJxt(YNwzCZ6d^Mvu|X285EEP#Pz!wU=F0q85Wj(jDMKR88JjY{gM3ItIjN# z-o|-X_;jbAe^!PYF#V2 zN(sFU;v;HbAyHg>BVV5b^Xd8*|(;9-&*Q&E!0o;^r z%j_M4)i7RxP(QlK;VV&#)TZ{ae~PVwZN)KSs+(!T34z_R7wwXgM;stGpRkp{dL7y) zBB&1ncyJX@tPnXjDM)K|0VGJoA3TB;PFY=unnSz3BC4!szg60t#_QYSl7)#YDrLtNy@o|1&q zP4Q4((Ag7LaTY&!WI5BdBY)Svt1Q8zIH2958!`g*V&xHa_*`=W%k+N^om9-;;O zLc{Mr_T?`vt3>isd*u(cnT`Ix4u^kB2>(LgQn#@?U`6`M(PL1!rsSBL7-s?Wgmdf` zS;s|dy#$+nS|AKJiD+q$7fCKkfK~i{&Lp5XTk4DgBEzp|!G_EAz~d}K1uiC;b+-3- zNRw>qmCIGENe`w9e@LNvdD6<89jcw$o#ivoNlia0Xp*k|O&a>HYht{4l`=V!| zDx$klWSoon8v@d}e5M6~ql%c9ksfDk8^iTeO3WMLK{c{;_o^1xXefWiB|jVVRx2SY zA%7gpi?c$g!Cv=V0lC}6th@AA#FkP;UsWb-9iO*R*69Pj{?P(so_)*DT@8} zWWEDJxuYU@hPTEkB8c!Fm9GWpaidzXD461*{0%!KBll zGy>eL*ONa~sin$W^)d7e-ATYCn6)x4m#2p!2qBf`#q)_DLA=n`9^1|pJf%OGWPM`$ zd=nJM$Ujv0`J)9^)d!*RUm%9VTO{>#1k{&1Q4Ken%E}$5{IH+UR&D+xxOq2YS z&c?38_b!^ik!aqSLdia!?pd-v@9}m#iAGVClPXlq$6y$x@YQfPPfZn5j`_;mG+^;zh_4X^zH5;dZvQ2_Ou z4kd^tRIouc`$YEp)!*A`bmY$>GOt#Q#EB~-nT-_MAdDae*XY@pf`M8pvcjSi_FuL0 zEVpL4gVl>A)7h)oHi8rvAnR$9XXwPJsK)2RCWQuQzvvJKK^;inAEsZ=lHp!KfaXD_(VvF^goNnYCvB&1WyPtE zILI4m0m_t(j9Ukm$viLid=~|(4sZGMwFx$l!elQiX@OehMJ-pTF*1VB(4+3^htRBL z&yD6BEXKHX>!Rz33aA>2b}mUz{-N8whZ>#JESu$-t5BJNt4myNo=uEK1A+Pvb7`jsW4jH@1N@cyoj^zr7KMRbw0ZDV?y=NRNyA26quPyMzZTZc!hvThsFoNoHSNOl z*b9z9wv)7-vSjE{vcAIWotY3>i8FA!Dv;44u>|C_ekKBr%AoYfhGRy>S(7n0Dp8~- zS7oph#86`muF6i4tSB6_(mLd57Ow&8BpCkSTp@}5h8)&bF>*)Y4qJF?#MqR>$DF1d z5h}bWT#hYxgH4{_9bR_S8Wgz4DQvgChBD9fa~#4QHRdwyJaOu-M>qe}w<^+FRN8lV zX`^M=K}Ma$_;@+5?!H-kVne^M>i5vcM$!hcO>64t3=kn9O20C_ozjShuMNo+T5r$m zX{6vDv5LA3&tfX}NJlymnSH9mV=^;r6^cPa=&*+w<(@I}X&P*YydG6>k3mMw=|06M zl}Q2p(9svW(S)U*8$zvS!opv+y~@c+gVNVYGImDkd}=5ZQp9Q6;G9fTJkPkobanCt zIHC{zp!Y||>QeboK1$yGZ5(U}p>SM}bcr(xA(E({QhM`sX`_U4V_#MoBkjaWGV_oUfRymJhRDX{l{#BXNj>d4^xm*$SgkZ;?s};{CgwUG3Cn zqPOxmZS@!Uf7B3vNu=(&teWY6M!eSH|JQxVzt<4|sxQe_({sY)fcd6<*OU`aY_S+j zywHL8J)h)gBV>C8=okzT0GeXT=;pNZN$g?c5#uzS6oxaI;FnO!wrE?<%bz5yMmr^TMZEEnh zW!Ku&3R6*o>jC(S(lso9v4hS6q+<#wB78^&kpj}MEtE5)UBySh zw~8n%OQ;(if}OHtFm;R05_k%03>J_d>+nvV0EMpbQ{dG#05#!PYsq}(<3O=mCS3(` zUjCt&ETrAkW7gmsje*h)7Sa=uh@$#4P03GLPtrlJNd7L}Ks}>BrewT+wssni%LTND zB_K04AZv$WxbMZ@;Yt}i+8wl=pWMK2 zvFlJrbB?(2%}Bhs*cu2U*S_=t=p*n)EM%9EAvK;_iIl5DdvzDei{~v3jw?MN<>+b zVAZwMai8$6Uw68sV@Au^EI$$DSdcgvOU1j!CP-$L(n1{7J6`H=DesKOekOb-Q!YV1 zJt9|#9Vu5RjuMLeCXSvgpzYL7-VA5+5nV0KCZ@oPKe{3!cFu1jOt77zeP%4V(Q2v9 z+aU?P9{&*lQMY&k)xltx+7Uxb!O9t)pxlMcnw$bRp=C(|=x*PpUK)mXMznVxz9A*k z!YVe(BZPCv5uja(TBDYtjxLZ@r)|`A#iB6VB!Vh{3yfi5#xrxiQv}a*4vfaV6hP%| z9ZHXxWe*4Y&R7m7CKD%zf2$~te> za>p`|^1+pl$nQrjdGs@e#uKu}x}ob6u(b_--@tz%;eS8Si}5$)g0+dO?f+06{;NT2$;dM3{L?t+{%M>^ z{+Y@DLlFL(k;4$BN!yJ-4Ba~wM6P0AiSOcls9>E z(8Gq5Vo`Naz&3l~+EzNrBd>rtr3CbX6Eo`E7zG>`I8H-({cN+;G771f7~Pz zf!L$)_7w4llJ;hNvv5j@_5h5APPj7+Pt=<*HK0%h>E^k3(olnC*P||SOxyIzz}$kh zt0?mu~%!VMV36=b2{>$yKr zw|X1_jVik)*71HnUX~19=D&Phm3X^T$2QaKIXt%Am<-4DIL5rrWHHB`USLvz#G7N@9OttgX~$RL^g+aNObp?UIdSl0Jlc$_W0Ce-XB}Z zw4k<2!E-fh7Os(L1r{(lo?f2CcP#SICIKP(pR zpVa$zlS%(@HfaeV5m_aXf6DtQXxXjPqxe48vhSBC7hL(+kuvDh48zd-e!q=ZvE6J4R4G^+?4roL4#20V_y>W1B2G( zpgI;4*XYOe@D$7`x5qQ$!;y<S()jYDD|QSXdiv?MOwo%?5qQZVR{1cMfcqwx9iL(>3;+gY;Rx~xk*RoD{HiS>Z zf%&yLEJf+Iu-F$D0hHL~ub$JS*N>(|SaO#X1ian1$BNi^ymg1*LQ*IFv8daTeCm-miD>SG4$L!jefX8Z$2b>S#I2iRaWf&8IRsA;0EnRvu zN_0y2($GO~s@@phf36%8&VM?h!2tjqk^=w`{xfjYKI1p^Pb9 zHS^*!(RwQ3rwLNE>Dp03^wX#uN$#ZMsZ*1xogR1Ir>1BnBw7-69X}WQ>c^KZF1mWF zf2vq6r)PYcKB;6E#e1rqRJ2wAaIN~`x&`9(oh*eFSJr?|#WM^&umk*%Wo8ya#Js2<~lBJ~l9>%x8$S=70qL70v;B!cBsRAeM@pq&GMIS^VUz0N2xeTQ7=%HL_12ZptQIIeC21n@G~1v%#5(uucG^8Yr@i zT(VL2ZoPsq>?_PtWl&nx!=kGxA18~M4fZzfOpz?TI;lE}P$r9kKc>EA*V5uDP0y5B zCeI^V6A{pWah-H-H*3kD0b;|BKn8WWWkM~`vTEB@TIZ+UAK?KJ!c2>5!n@{}Uq4^N zdn6%7fDdMzvQeGbK=AHYoDgIU^bcYTH>gHNok?OXY>rldZP4@_nTEOWqT9sZs8$VS zlRzziCgdNJk;#Nt2Ab5*y4P6dU9{mk2@G^U7p>zPFRNjyRa%Rp8xGzZc4@>%JEW&F zsC(SJtG;yq@L(NX3zb0DkDdYuAI4r*I-IFKkPP3IvXV?E3l^VyX)Ci{A7*oYO0`EN z7qQCUReaoPA9joiW?%Pi7dPO!2bTzfaO`dfAFdEZOPd6Q_@4LldcXgW;lz0rRj@*U zp*dc-N3{qzfY`Y_d^|jRxkf-BoBq5?uODQ>*?YX+(Ax+v_#g159v*6QKgXqWKfFPo zADx+@!|IAHjEUOFiqqZe)HIr@c$ebuYA_djRj9~=HAgY{cmX|@Zx#u&AU9Ecc)4)0 zV|2AIk>`qs0$#R&1$Y%@$%F)%!V}{)`-GJ?NeMQrg@p(1mcpC`T@~lC*S?jR@P%;XA}QM|Xy8;FJ+-+{x8}6?iH_3db0t3u5 zChDH0Cn}Lq!Vdt za_p0Ft=C}qWwd%UUX29l_4kP+D;J(MF>@ARqHrb@`q3N&PyvbM%LI4n#2JmmMY|rc`sXSCEspr67X=h!5_S1# zITw$)u9`7SAS+`?dqT^e;kg&7_lqB0%|$yiI|xHbcYL0i#ztx3R(fta=q0&pvr6196{4JA6C zU`!|+A4Qz}rnA7VveF;72!#v(3^Vg7l;mGp!A+Ldgv5E=@PIZGHr!kfod6)U4}q;MNtilSZp)-Z|EA4 z5Aab?GRg-@!KC=)Q8o=F9LZ0>3ECL2(Dv%1X9;OeTM_ohdLzPPyNH6JIdK)Hd~brm zF!n#uHmC3V5JP54{7_-itKP91IkFQ5jc{hoK49iY4sMqdNew=j%$;aPM-aty7R%4` zf`_tE2`>mY$|lrvTM9PE9!v!!$+Y6@N{(OGA#LF4r>K2$OgtZF6`l%sm z0`(C<2JzeA18oqbgY<(r@h#r5%xZdhc(@eql}Bg7GM>BXAKW4C_VkPGV7ilNSDnQi z56KuiCsW0L%J2v^$4skrmIF$!5dV-Fq-N_Cp?l_e)6;Jl@%D|kmN_Xc>owM#sKQCW zCXyT=)?R)N>VK{$FdOkZYN}Eys~a>rb0R64auSJHfxV*u6(b)AL zaOp6Ds~JWuhDo57wvq+JBt5Ann~lbiEX&P|8x!`f{7@aw;01xXY865U{CW6$47|3G z-J!lsF4l+Dg)}=%n=9C9{(MR%@Stzj<{lN*B%b&^JHM(hKW0`=^y~4wM{Y{bP$iZ9eg%X6oM8NTQgR=9K!|| zLnwI7TE8MJsHw%K6<U3i((&`>C@bxgaeuQ~d78nF?6730aS!3o2b0 zdBKWE6!?s*8>3anTNyjV%Ta>W9vl{LoR+{i)ZjT(!7mdbv>{0Y5)u(&jj$ozYdi+Q z92({}} zUK=>Y*IVw~J;}$@Tte>F-NLk#rOH2ARM0l)$$Y7=_qW>L+#disSo_1~N!&b%hg{X& ztY2E>6XXWmma0W4Q84ois(h2;ZmD-~xllm~o|T*#x{kQIvVG>;u2RW~L{L{oL$Q14 z9W#=!WEEMejtQ+u86i}|39yF9hUz^ESHzelh#>hmJ<6}VDx%ybpe1!`WR7xCCqFL@ zD>7U+s^8<7ZK7piuR^C;e}j>q$$rXam#5O{RU98*HCB%b7+f2@Uq=97f73vOn0n~a zC+A$Ns2WVR2yEQm}75P`W_|cS$0^ji&T$)4v>uXJ^4J z+3AbrWYTT}J9z->$P2Hwgjr{jkzIxga#&IaPjf?|E48R?b>hSdCN;(aR^ou%q>*qR z8Gy)Tu&Mk4AK6!5W3mT4kWvQ9u2|`yWx3`rzYDwUQGxDq?DGk|YTc#fc8#W5l~4>% zVjdUzwr!8!#|#=eJu`T=fwM^5pc@`TDHb8*@Ob`dPdxb43XM7Bj{NuuqoH+U&+USf zwL^WA{W+}Ly8hWPR@zhv#&F{Ur3g ze-Q2cak%rD43Ad#+r1r>B_gjU-+%_%;1VCIl@OI+c3 zJJ>-q#J>YyD40SX*G%bT(_%_@5X9J#TogQ0YMj#DA}igJvFHqy#Jr`7qU$Dv^P)cQ zx*ZYt@*-YpSnmOriP9e5fiL!GzUSVj$vrl~2)@sd@X zU(axK1+?)C*8Z@&;+T#{Q@`!Se~zB8Wy}+%I7i@8IuGKW>L}J}7fjxi-Yh_BBwG+_ zq#*hE1s4xGAL>hW>)l{i4tifSiGzm?Y`m1$xiN zP(`+yBp+8)usyYrZ6ZO;qh2wGs7GxWcr69Zm^QV9NM`^gnIvR+Awjy5- zmSK zJ;ln81r}SiR8*z*WMFzWBa}vZoMTu2tDf=zz>V;;h8ttHBVyi~o>n$?@!LsZD4B^-+0)82oX&|m zj3fZv{g)aKn48{FRuA4!a`x{_`(DP0)O{81g*s1TxH&e>?w~67*s%5vzOMAj7yq51 z#f6&vd#Bh6{ZbL-aB%$UQNNKc>k5CeRR$;gqUAD3Gq@JCnEC_n?|5gmUp{PWoepe2 zTRgQX^iV8A=M$W=?_FQDL-@t~dUR`}q_%3ZL*k01Iy!Y&F1u7{Ozym0o8mj|t2>42 zap|G}5#^*wGnZ`@3&|LoB-K|FuSytK>5LVYc}C0Pi7dBVz6EXkgsWS9wLGOdBJ<}5 zEl1Bj-c;Rlf3rQr-+|Rkly3(tR@wHd$4t>^zE@wt-fuaEz_6`&!_p-<8jSZ zh$?CIFF}|WGCZi3Z$IRlvp{*3Sk)t|?{jb;wgJ@>*Aqo)DwZyP$6YzjAdx=Sl;~Tz zQtIkj`X(w}f_8C|>$#vAW+~~2AOoDc9vHX6pN)ZCmh>_N>Q&<}F1qt?r8Py0+pGj> zpJRLZ=k+Y4Jt!0vXc^U;G>Q$?$jmpCSK%5Ms9EehjH=dWMy?X;J)$3ZAqlxgGTG!@ ziW;P6faNO|fW9#UbvArinnfu4JXRFTCJCxkz8^tLa$2}7p&uXFjs^6Mom_f*i;jo5Y(>usuVhfy%KL25sQBX9(XM^UU^oLVr))=Sl=u(+}Xs z(1#Pj+|{GT3UGq$x#Q}6yua?(4r9RhLd^2^8T~ZSs_EtkJBUf}i6Q)zYNfSrZGW)| z9%Z>$XOu}JCA)+)1y!C>*~zj-YIFrDG+k1nlRw-qrE>gTpj z@v$Gcce)YlfN^ET5sNH25_irZyn9;Z^;Qtn?RsglRXK$kTa=Ey6dwlk(HQ*;wMK4| z@*-5@d!)&AZKb~nDGrPNP0|fxc!~y^y{#STtWZ>ldFK}>4L+`KuN$`6v)z<+|FjTRP z)ywX+hrrMM-aHpGYA4B@wi^v`rCsyr3cq6q-cNiQ&tAVVlf$rSe<7Z@#-rPx) z96LAK4PECxhtx5TqbM$`z$<5<%?KL)*lDg+iqcB|bS`$ct<%Dv?O-ELl5_B zm?ca=npaM_5V-5Xz*HbSN}%$cx=oF0JIiWOSjbd1zq#;l8br%;UJNG8u=8L$hgSRd zHrloWt8>8{`8TZ<j__JCXlcTPny(r z=G!T6WMc^}O}Qr@gDWapmcTsk5i-~pr70Bp@>X_AxouFQfS(!9xNx4 zWfHhp5qXp!nvRURB*ak>QQEUJ;f*zMf;~P&mXEAPOn1u**6!T)B=AuM!K85>HtKrD z-oNZqwls&X41|<~UmQpYqRbe`yV$MaP4^s*0K$&zM3?*r(FjIjnISbUnj}(D!|EK1 z==%>m0DhYMy6U4jaxG4t@EPHPm5>~uqwte_I+j4=EeGI+f@33GrMVRulOiL+zri^> z-@QL9=E^}ytUQfi^H{^;zb%eGQ}|hh`5=38{G_n_;v5;G%CipT0jqkCZC*NxE8i@3 zWMDJ|ltJj@3^4HjkoJyImUUScXxPrMGQ+lQ+qP}nj>rt#wr$(CZ989NwW{m&*H!)A z8RP!E=bUl(x@*t1=G=4LzH>1P2CxfWvzm-~xV{$|5Ggq+1$ttXvizQsCDTw35@qBH zA;?GedrXPIS;MhMg&$eYJq|NIs-N$+OiiG#Epd-$K8hr+>#dyZJM`sTNnDYLM~Rzg zgOO#Srr!s}r7vCLz=U3F>2|G#*^xhh`1>o^2ZT)0lzWW{X%F)L-|5{*jNZHNONX z4pe-20F2m;qy(qsY@5+mF*7bBcAtLm41^Ozjj{_P-Lg~8o30T4peemN6W&t)Ic-{z z6V3LD%J!Z%Gn#ysbu0(8Z(%7GDN}PD{CB}dHS19XA}!$+$Ux}*Tlo=FZjmPGAgZ0s zxO*yu{0N-#nf}h=lS#u^6~5d?;pqm}H%6j5DA3AQPslE7$sd|kDv(?NAS1IR<6HJ= zsp~(Ad_cd;Gf|ns2oQaL8j$WO5qciI`GvvCs74n%!_P2ess7TBU7^Yuz-gIT5`s5D zAJ{1VGc-fvpmA%-D*#B2%!t4Z{NS>>>B6c!-byfAtr7QoClzfeaE+GQEB}>O$!6ZK zBCsF7XJ!fSB;2tX6Xs;|2>osX3k0hKqx=axw1U)sG|poga#ik7tgo2*KT7&C&#}|b z38NMp3$u%e4o0s{J{h8o1suRS*~o2|rkF;NF1J7{a+7T{?OG|2nW%6w<_i zwgfVWc`Q($`w5wa*{9!wLm{sgI~vRhRBkANt%russQ^-uy#Mnmh~AHstIzx}D5)-0 zorZ-*oQ<9J8Gq_hu<8SEs&4%vm(&-5WC5a5;&pbJ`vh#Gf<3RPx?9st<>YEf_qyCE z7rRnLn%?9%$1B*{LIZOKo2l8BbNO6zoWTY@NmY@MBdx;R=pfHYkC+h}I4uY^rQB{Y zv8YP4&Y~tefp;y81igvlP~7|@d2UidU`<_33P@tuAE1C zKv~grf(E@;gsal41G!M8pw16#rKWt_`0x%}a3-r>d+ee|VLUlhHU>=zs0$N8q|P-? zNI#Yx*Dd&M5|u~omo08B^6W~jTz~JJJpvI;-3oh-tHqSP_HlvB{EF-CGB6MR=O@sA zr+e@$4>_5?xNPKq#%2Ej-~VxB;eVqoz2s-4189-Gwp7-O8Wv0aK{+P61E+jVDsYbEkwpNF;Od%>Zt2WkK#BeG7TzJ znr#sEU!=K2-CPe;@0w&meKe$IWIUWwC;rr4-+BIRmep8Rrkrh6q&!%0=sDD;`PMa& zGwIC531kSRJ>`d27(qr6^uu_}>YnDmFG?<^^De?y>B0p2PXq>k7UgfH%Rkwx8&v+y z({iva~WvGr|Pb>W?iK&tIfu_S0ad03wUO zT&6Z|TK3o=rn4A}I1?R%GR+-_GEbHQ>*RAKeyjYR!w@Uu{8c_2*2E)l%yt+$=VOL{ zBpT1CXU8m3`z(C-r({v79-z##c)rycU?pnaXDm~`Pm2rh_qRdK%wH6=D}Q?Pcu@wb2Vw`QYZ zO*qa!+b%OqiOR#4RV z8aEimaA!uaG5GN9#Wez#R zt2b-zcKcPxTfmGZ(PqB`c3PfIy*K#GHEztDg^y>N_I`VaA6y9F-Zi2J97a2Ep1}a~ z=>kww*b+UF@f1bSbNMatiS8NT-`#!`hSkd@$y)oE9J)w2wu`QTq`J^A9@n z{Xq4simLfXl6kQ5v*QX=Oo3tGhVLg?@Ir1PS!RdjOGFnAY#EqjnxOz003e=JtQtJ3 z3Bi|SV|(WjUMqgeTphJXandLY@n*v{bVW4Nj;HXFEW66OlB}FVY7lr~YY-0$xd^G@ zvQ1+JmCz>G;{NEiN^q~}HI;G7&cE|3ZHnXcM8MXgg-4;}hSd!^+YD5!Du6m-sRF1Q}iY7JT$+XOQ`WcL5e*cD6?X)Dn=2yP%J zQqQj9Yeu}+V3EkjEnUKK%0)gE-e9n?&5zjp;7QJT#p_yF)SPl(2+R;sKF-LT`5f6J zIo_}3H5%{v^{ZqoWiAelTt05D22e`H+K2lL-1JR=WYXKA8kh#;yP#fur071*Q-s@g zMDA`_r63DbAGK?5GUQ6;&orTDRyADw=QP*4Fqa>Qi@gw7W`P|To^bmCJZ}Io0Llrh ztbs8-vuU6^sa9tPFp2yye2kr%-JIEmF>-{#x6tsC5h-{VjjBo*4=0tB&5ByNIOkH~ z+D(mx5V!h9ZIPDjkr=xhHo(Lkd`MF%iXiZ~1a@?=o??2{zFN#VtvP_jG^3Gfx5wp7 zeQCXpgd8(LS_T{{Z(F*t-lnL4#Tb`S!0xqI6K7T+Qp>bT*jzke48B{mL9hSdrxW)L z9+2>>G9bVJ0Qf66jlZc@{-hfN8zXyzKW0e(+a|D}CgJc^8+4wjSfWh)tj8dqBr{kD z;f|GN!0;$^_K=ImNCl!|WGsoz{=RqI<$?x4hTu=sYR^>x&kT9#-4^lTd~@vz(^Z|G zP^0V6+#VwH9-Ki!qyzPJeofd0%v=2^Y+L9O93I#=tvS$0Q`yqnuFH^zO7)fr#4iTr zlWbCGP-4s+*|UtUT9O9mfd$s$spl8h9Y0coY8}i88J7$m0C) zX}zMdsz2(i$MLpSfU-bkwr6E*QQJm@3XC@NV>A^bOSvc27Iq7HR(z(I$gl0)73vv^ zgoI>!fl6n4jb%EI1vIO#t^4}ug+r%NAjWD0e19*F~`ZmP_CiIUFa>j3Ua;P{sgh&j><#Vus5PYumc0VJt)w zhCQ)9NXOv@``TW_S2b|E{tk~~_o$9=2Dd>dB2Z79JXn_Uq{4h+7FUc?e@2q?SKy}I zH-^vKmxS*)AXz$5gNSVgVZ9KKmiXt&t%u)ZQ%+_gUn{*GA0C)o8qVbEsPFF#pod<+ zIl0i<`|`^<)CbI%%Wbl77^Gy>@O11hJ=Fzlx6I|Y-#gj!CloaOo}xTabvF{R_HR@! zSxpsZv#`+2AEI@7cGeAKwul7F@K;(Z!FA@bO`Md^m!j32=~al$+TQV-V|S#+7qDXeqV~Z3fQPLNz=qV&LKX*nLQjx zFR800_Rk0G%q+ljAE;ET#Ms#eCTl~_frCFAakmt!8=j`r2oT<<9N?T5P|QC~3))Xb z=E7S<;k~N>;f6va9@xSdJ8%d(nhT%&J-3pNA{Bw;BF6YCEVdgb-==C5wU`6%)wSUm0^pee zYJC~AW&*ivpBRxeAPy>ixXOT$2(+hmcp*mYDHI-IO; zu-=LuT(cIrP=ep9rse}>8WOqUt(a^n$sEP^l=R6Hlmam5a3)z&EZ1x~uPVu<791XW^43sE$}}|(m!AL2lLAR!jXS&3d3bp_wWVowZE|B zUm4u}`%V8FwEqj4YKDST#FtF9<4i@8+Ja<^-7H7e6gWrE_Q>CGW}x# zw95qKlH!ZIg`Xi##_?w?$1{!c1jAsQa=hF3o^(vg@NoE#;v*t~sUC3Qp}E3o;A$;L zxO4f$raJ{Q)q9r|30B41#CsCEQSBLh48Y3{9;brw@|BnZMu;IO4#LZWs-y;fgxjY$ z9h)+$r1KhGdB+Dv=CF2A_8^`~JmeD^fe-GmK{F*+z97}d0Snt!-Q4zuH+lxSJEM3U z(fVFz4Zz&A!Go!&&GNE&ck*}5-ZWD3AsW4$X>Z`jpRDuktl4snjPo~uM;Q1qLVla2rV~ETbDRg|#ikj{ z(dGO+n?|v<1N0Ha;zGdOAdV!Ci&P#Xm*`+|>^i=bdg8Jx1!1GKSSWKa?D{)_>z{~n z#7P41|B5J}uX2&(e-G1tRs5VGHzN*Ahv0do66o=0-ynoAlUol8t(;R4`bEq&T?`z? z5{#fooOHE`xvM|${q$gUHg+*~uCqXlB~|9P=ZjTW%JtvxH(*n>7CZ=4&UA-C*6U{n zE+>@8ljzMSTs{ia@0=POfkpR7W-qW>jV3MA%83F8Z`Bqv7VDzzW!FN{9gh2{Oktlw z;9}(jS&3kNKr!mH5`iRdE6YrX6Jw0XAZtdE&a44HWNUUIOa0b4VGMv$jE#(@TjLT! zi|dpQmFAt=XV0u55o=Jai_pY`pRRzO8REJY67QmmhBrc^4}%trP57#L{!_FxPTG5| zYSUAw{6=?!r^{4JmojK3%fib(=t5}tH5wExA9`M@_f1Va>K0qCe`jg%XNh}#`ZN;0 zG|cK>N#m~sp#PpU{$9oW7dhk0BKl9x_(Fo?RBgJm;P>+4CHfRtazpgBwPw-L75(JV zD3mRFzr94no$IL3BZV2ZEbg<}VJ#|uutededlM2i93{c-jm61e{c8mhrkow_~j zMMT&hO%yiXzj+n#f5~QJ{RF-NwQYgN`n$(8#fIj34sdve4E<{Rxt}Idv zq#S=~(+pLWDv;tWIY@0h(2hVlD;_??B+7X>QZ8KS$eM69QS-9mc_onnqewY9Oqb49 z`ujiFPuPaC_P>1PwB4_O|0`nT-vj=?Yo7li{5)!01>hLm*t!Wx|0h24UiRzUX_dE$UE(QU!Q z83z@q$sf$RS%mD(%oX)o>?5yAYSPbSvq{xgA98-c>=bUGUF9Xdw?9I~%r1wqg(Im@ zs~3++=R(leESXiSn|Qqdm<;*1NEgsN-Bh2NscI87vVth8Z)NhzH8Wv<)hQLLx{lk^ z)S7|kEFhPqmmIk|QA@^bj?D!|2t-X}qtUUowtt&||5N~#7G86O6T z)O2Ip3$d0Sb;q6{YZ&pX#!d6?oMpz1lOug#4l2-%46)Fe^pucvm#Oz#=!$2c3=~YU ztLc>6o?;k7L%>KDt0%2O$00?-`LR?wBQ21OM{-wTm|3I?=VQa`)Kucxm#CkW-E3th z>t-qqWnp~a-Q^_)`t$GXHU8w$&DHQisxO4b@%8zuQ$qh9R-$4GiZb$Q|KXVT7jeZf z&oIp(JFP-XPs_N#L_5dCxKld-ps5K3r4E(pmO_*g#s(!+!d4PCP@?&_oc=#cEdFZS zHq>*}qjIu0qjI#N(swd8HnRUeh%FXRS4%CvHjVbLHo{+7xcm^tp*1P7RO6G&A5yAAWFhcdcDSGV*`!v3Pk?iK}? ztex^3lT{;8f-7fiC3+$nsr$a9GR_`Q8ctr(&r37i+MmkFr_>$LTt|1#jI#`U!`}=j zr~eIsXGHg#weVpTK&X=YutA_97jw{(BQrcEH@xbRR>h>n2rJ99*>hA$khMJuoIw0H_A*5!40d9-w#Vw_}8<>TL@%!)rdx!_*(T5Z&b}MFu z0dJ^G`5deV_c@r%I>MZ-)+xctwSD0;tQE$sV z1^P?3l|Ajo-<7Iq(ifxENuUFPTqZZ?C!H8^AGEWjHwV4&ph&UU-`$n{V)wP(1sL+^k>H=Sh7%d|dZB*b9xxC4HpZ$`9 z4?dsawM{S8cdo*?-W7`R(``Ce`f%3~L<)YdWeu6eqFpP{;Jw_{6$cI4I21kJ^j&DluRx~2p%8L&c|bkPDLe$Dwm=t zMqY^sG99idekQM(*jBp-eGkB;FEg7$WHsjO&1h-?K|7q`cDI?fqGh~({aKmlmG@ev zl^Kzm!TDxDquuVyAQzsB1&A$e^{KbpJV&;r{=nNN|ff<`$$yV(# z>eL6`8|1un*)ii-aR^vlZ4x&O2uT$ z!Y5X%XicW;rK{bOWAJZEyxkvP|6Iy2?hO#SwUTsp#v_nKXCYJ(w&xH zHAKrf=ks#Uuc;ix;1ltD`Xtj{+@+C9($4fMQrJntH<9yflCk<_qkW8vi0~y(ifhkl z@R-m#lKz-E*s7Yt5&X-xo8hOcgl+~RtK%eS45qN(2^TRX`m7e|=I#*+ze7Jv0BGg( z)V&BAc;yDPhy2|Y@|CI_U4;^DeXwpNdYZhq;S zdL;{(`w1X+=gT3^_CU=Jk>Gpj&l50hl*8uwDsOu6nUx3`eOahGbF1sX^ayu~hC*C? zNJf=%YrQCzgdEiU284Ny+)h+DvfTr!ZDcd^*U@Y>M+JM)Ut$cPhVi2lup)Mj8@3fn z;dlH)Y2q##^Hw(S!$x?F_ofJ~c4;$Q)k5?=&_5^QH>p-Ug!H~y@O2gi?sR`V>bZ;s zt&cVW6=--^(l}$HAjpJROQ+2F=ou-sDd9Z~>ZK5xrXzcnoD?vvYNrWci$o3K;fd~V zNWbH>9hx(RD;XA>QPn!xFhBpg5rtHb-$RKc5;8s@uOC-#Mp7#b6=9;7Xgc)aCeV@fCr=oY>2+*q12 zoK2yB_yI>U5`^WpJwzMR`}DbtC9o8A(-N^1lqK0G1cZ**!e)7P$Z z^b2hWL3lfB%A}LUxf@=%ZeSUHavS;1AHigONK9m!5QKc0{{{C@YPkh1s_^+Z^Ob?8 z#Zh;c1W->JVLqq@i|Eso&VeAACf5z!L)AO7+V8t0e)(>O2Oqtzx9?TAM+`iI%*M)i zqCMI$ckR3I&O80>R3W5f-^y}dQV}k_gN%u`0(rAxUdmY(2d(qe2E&wbP$<$$b>har zd|g#_W<;0VZU~?oJyZZ;uSf`yUi^BI_H)gVFV+hk27MTRAPEN@LH&^6MN0iEzp-TplTZ|eTkp5(v`2;;h+~a-ZlMJ7dtRuxHJh2J6;uHjR?oLSmvfu{ zYO(#v<$u~`|8f15AoPF8<^PhMTqUw@B*b5sE8xqZne$)Y zoBs1j|IzaMXGR}Ric&Vav}O1@HsUUtI5u-_K=kG8d$@6ZGj5^^>{`_3>|S@!nWG%>$989+bCCy2?&Nox5!M z_oZP%2;P|9jGUJ6&f*tag{cUlNY83|M(V>FMJ5~ zL#1&$&i?1S$aWJzlXU}#syx+`2s6Jxwg?qCn6576>@X{?g|8D2_L@3^m+4wwJ6m`9 zhF<{5_S<5SSKb?nhKCX#}71Hu;03HBYni z_I}~*{-ds-l7Qgx6w!a z@W@I~-%x{tWV{Yx>Mldp2%d1SI%L31u=2A7=@68Xx~_h`fW{>hq+xh7H5 z%(()aoqX!a6gU#`3X>c7-UyRYQ|3(v14w$>Gsnm8ZT7$iG#eu1Sm$*)+%d#ptQ`m& zTziRKF8X{!;@W%lRVO*`h{V^!eIxm#4y$jxo@Wo08WkIDSe$RWXa7Jcj>OhM(0=s@ zS-yPiSpR>-=Kn@A2K^b`K@0OG#I{|b<>*+Zn1&VT(0u{~RfaKLD$>#&DEtQ7Xees` zHSXr>8<9@@xt_PEVc0$!C*grx5n{buJMEoiA};p$HURaEqqwQ=PoLvbC?z;e(>_5z zS+W)1l^^9Vuu!BadbVC}aBfAenW{EW*Of-$OxLzXz!49q=NO)tlu;m1HUg_Cz%jHy ztS$!--2psnmus#_0=!2(>Tp&~rEYpUb7~7=y|yPWS`?pJuLw0pwZ0)3%ONTVJYqg^ z18Sq+0#=*%cG7X{e+P><%U@EJ~GpV-jrX$|?Aj>TeW2K8`P4J;%Sxz75w@JM9;SK#jSv`%L z-Vkqti`2mdWkd^8po*>qY!U_@2+qYk!xWmk3^((1GH0PswipM(HejfI19{pTph3c? zcQujMprZDNFnlT~v#^km@X-bJO_nYhB}w`4*uy7c3U63hj_T`^6-C;@yU~$;8NLhW z$8r~L6?Wp9&!^xrty{jsfW)Q7o66+6XIty%#dANDU&M&?SOQHaMnp-A!>yw}?Li|pC|IWsF(sECK zRd1fn9}nvWD?1~|a2(e$_v;+6U)$mNSLciU|MNfepILw!$#BVh%|zPxpvYwB3wF05<%htdt43}eB1~G8-&Hli zLJ@koTCS0wx1C$Lx-*o6KxX|3Z;6dudNkeGk5X@^osv3zJKdKBN%A2D7Ih0X)Q45t z-MT95MDJP~t`u|ASI1lgiP$&Rdk-AzRUetgFWn3_Zl4LQJHA|hxQ`UEQ!cCA7hEO1 zbVC*tj|49%C-^l#kFw=s5C+!j$9EwCry|x@5CspeeTL|Ao{)4$H0Z1C!^fvKrdF>d zu7ielb&Q3$I`ZI(WpvQpev7cRz~3c&XflO%&3c7mK}kRd6IT|;t-nRRl+TB^fZ~!t zw9dP6-<-jQ zfWNY+{<|Chs|}YZ#Vwhyw!QaJ)%9y{aHxPd*|$}MxX0QMtJ(P`GYFEFLgO%;7wl~Q z_p7$LIl>CwRSAnNm#vRm7dLJsePc!7Itn@k6!ffpC_U%VM{wKX3O!S@seMj$iSFK$ z#i!v?2Vv5hOUWMMoTw/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

U+QJih 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

#Okm?@v|YVAm~iq`c@n2&?6(S8+C- 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�r*$W_SB=K(;N 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%0DiD1G#<2})Nj>W!ZP1lYrP{B*&LYT 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¨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�>%x zc$P(+hu+9JIsQDONTWYQ6=`b4=oq}CdwWt;r__8oPBaxU(~1vl(i%eRV9F<@QCW^v zofSV{bhAa!?Ly1E`qdw*Kbc3PrNLrW zYzrlt2js?uWT@bWv5jp#hGc&#);S?l?&K&NID4hW+2KtYH3G&((+F)S%yM(CBlv)| zx%}NSa4D7JU%nsLWCE>r6!0pPc((=}gPNJ5#EypG4h>EbD2CTR zJS13838qXto%!h0lKW(T!dkBt7eqhh?L-%=O36k?ckj2U;;JgITnAxok~R-{Le^@n zf{RnuB|64rDg3J=#RDVD+#S8;JShc}#1!*vEw7$MJ`a9TywX17P`;wuX@rBS;r+;d z)krp@UXy7a0yQYKB@J2)4SN5~sIr<?##BXJ zdwyS>%D3&UQ!(+S*257OfOHy3G-4Us9eE}w3S>Hg^JJfD%&v)(`KTa6kIKan$H&p; zw)=tfG0~GBUnVhqbHcLd*P>B(r5mICD4RE)~R{$cd%_XJ${ZdE%tIE??4=hkS%m8g5lJW*!oL;yCz+(>M#2)P=-j0L561o@# zP)Mj(FgDqU2yK#0<4bPH-P10&Jw~M|C>Hi8FrsFq(3WAsmEh|Xb?zl zKT3*DhX$HnH+=;3qB&~n6l2%76VpdYw~sWo3im!Rx8qlNMg4#R<0X7@LhvT(_*D9f zy<^?eM(*h1Z&965;!C~MEl_qtVC^a0XIfN_y#lKG-J;iKEO=~{)6ejC#pL&s6`xjW zMCqW9LK+lorEhSS#F#hlr5stz%!#&$OV2vXW#iS!ya)2<;(x@wT-8o@dP z^5r#EB1C`#eU)v(6cl=^yDpu&T?TNM7Gwup2KxEj5PD3AP7YL?$Q|x6NdOK+Ymq^7 zo;HV!s=utwMRYk84}cN^m3?ldJ0&PV)U*7aF_goI4_0VDC^t`xD$3(&9SMy++U!*R z;6S4Y%f3qqI4bDYA7l|zkRaT{TU5tj@=vdKo`lwjt7VuH?JEcfIC{DI7zYk>R8Evc zkDSsq)sx|ZeumrVa~Z}PrqXhM!tsX~uWuvH-8it1kLh%-f1qJ^clSJNQ2fGUen(6p zoyGh0=ezs+oBpTbN1T6dos+iyyWYb#X01*=NM~F0&sqOWTMqCmh1@_U<8OP}9{T;N zH$oRiFT~&a2NRA%>L_ETA4_N222u(G!oi36_m z(%mZ*TZW&Jj!BFSaS+2*xI`&+x`5oQGemG}y9FSQDF!)%n7__C8lk&k2jQ3)$B&A;J zv4+e{9mq4&Yu);tKmqR;^P4FZaIEktyRnd@`-*r3f3+gEK0vD739_j((cm950G@>xwR|l0st(j7vkJ=1vHrOwJF^+zftDC6lUD?r}1fNmclz11vm?sRCK3 zP>7XB+jY_+IEok#Ojzs4mE{yA@Ou!lL9`1gw)Lh@YFpJP$UBmer}Pi?{k`Gv0s7vb z!CPEAUd9zx=^ELG2lXEv`wLUz0;>^OIm&6!Z3?}eqT8E<&k524jm0nldhu!RFg3xH z#~Pg2+@%>EHQ1s21@f|FnuPPN^TA6&?Wpv;5NiIp5Ywx$H;{vc-vYNYs7Rb|ti!o7 z8f=Z23{0y@iyU|*K3Q=f>%VT+`F-8qgOSPmo(IDwuA_EN%U4$Hf|F4FOZLft=my~S zP^*!V>fQ}(^Y@vv;K|fAyWMWvaCAlLds4_3AP}5Yg9jPeN@8-~BS}N4u$q8??nf7X z84F1+m2~-A(tt-T0EcwF1n)6zB1| z+s+d=rJ=Sg=Kj94swsY9A{#V)bLC5g{QELU6g(bIN2BGezx3ppm-)UM9E z#;zPHqXe>G=}o6@UbJQy)7NzMs(v8_1~id8H$bDzBN7bZ6auRO4l3wlhJ7jbD06$X zHM5`RDAPrX((XD+24|-z)tD)WtWppw5m7zBh85*tbaB~NAZjq zEnpiZ5t8HJBkZAW&-! z&^&~=A1JPx=h-n>f9TIi>i}o)>wvf?@F5K_pJ-*n^^yL|L6?jIAPZ4W<1B02DN8SY z<`+F@P`ODHW{FY6N6=|m8fE45%?GCKE|BBu@wYnyrN&3oD5pBqhjwbS+QwvDnuzl@ zXHS0}KbKeHU2R}7+0}*QB(X^_ zJA=LXjBRRC;I^k_3RaqWLVj%F%d|$7U0vHLLhE{Vy*DLdD|ZsMB5T&VzQ)OHGHhxT zRq~s{Cgx&n`^hU6;}$p4DGrbZ-qS>UB{zEduG4S~{NK9cN(rQ^%!#6K)!~^ck^r04 zbbE`vnV)6tU1L{?EG8Ng18rKUl6@Q%wfb+^vfYzK2#uc9^=_(D6R66Fu;E6x^2d

pMJncpvuADOTXwC%N~ray+or{3jj100&(%`(+7@*TM=6ahoRJ zRhQf&$Z;bGQ|eWVY=$=UCY>(mzrQJE?%2Oa7`A~0E-qetCoWezMXU|yUQldwXD>?< ze@J5dkk!3qjkyFFN!ig8t~9V`OoTVz#Y0cr2(!X}HW*E&Ed*L@2NaESfGEcq%K^QP z?6vq-XLl|K8k^j6Dwe`_x)@lW3nuH(eTX(*@74Fmb!|U-U4~QVE;8^?ECGF9@9gm0 zExA(#J<`H8Jgi!vPC22{DW8YD#us?M&Mv`j&h^v5HdlxCBkY7pvq6*92FUB4zHZFG z9)1Y?g}VRm(sI220(IM&y4V^zTQmHdNd8MG4&>?q3k3X?`T+v^+vXpm{*@d0>+OGi zk^T>({)?9U@1y_KtNX7n{$ED_hjih1IV)=O>qA{%V)g&ZHsoLT`Cmu3bTBrwF{U@R zH#0Le{kI>2{x#iyn#whf$9|X*F2wxz(5Hi9w_74Jk3-8UzhVBVJ8BwX8-k9111JE=NQ!+Ob(onG7EuLi5W z-put|7|I<%u`b8dToAk6K6PDNS6Rj*6;a?6-8-1*`_zRZKW28hEz5ZY|C!t)`maB% zOpYpUYjcCm;>zk-zm{Dbcny!E8+U(MC^am>$-dgZd&m41%;x4#kD`dAkeq~= zjJ(AEkm>k$o-4Z|`-BVWrkV&@ZR=u~4uKaq*#+qZ0aR8d&1sT>DHkREeIfv-BqPkV z2c-c0+yC4>?mgWPvu%-Fw^-!w zC41cUZ)&&=a0*$3?Szc9S(?LV zlw)LY--5 z6iI9F&>U+f)g$HAJ@lDtBBe<_TL$eog%r*okN1CfGd1@>XGo^>uAG48J6buV>4kq$ z(>W5}Xir)>UAkv@8lT-fSME387ill0Dr&sk!2rL(zv~6g>b1m@0Od-H5}!5!uCY<< z-pjx=kx*16TtVK*Ewd+v$>(IRExqm-R{l0EU%Wtwtnrn?#1{3t`2K!4ljMN$dUHI< zH?R(rTo$X<1jB!ov4!A(2tYGXv5g#ui4DZDF3k^AP2HanW<-0&j&~@3i30|_D+o~lnCpVBd#B}7NKassKf2swn@kd zIe@{?4V6N9oH+F{1fQaD53re?k{1<$B6{wixZ1)(SL&oHQVxY%G3q9PE2(-hR?})F ziQ?kDg#nwjZ?SGs&|=;)$gUwm7X!=bno{iRlF66dIpieiv*+pFCbEiCng~NJcE3bu z61nksGB8m$cSh&BV~+nuVIh~z#(WmG-sM1qyKx|kSL&A&lC9Wfe77YI=Uj*b<_Omc z2B`=TPf`Z)HqeI;AEf=MCJ1TNiWSm?V)vuEZy7@ zVeZ&AbK;|U!wHu@>eOdonBi|7J1JSK`LrCeG^tQ?a}+2Uk;uA zTO+cM{38tOl{o>bII^SZwYF-*6eY!^#QO3;R50VAHUm}Mc(FW%KX$k`CuRyG;ADMZ z5woja|7{P4%~pSwbo_h}kEX2sWdp%mn*UYQpMNH}>?Fn$)g-%dvbJ3a?cPc#ufqmj+F!l(v9H#t8om9ef?pmY(UtJ8 z@E-Q1Q2VbOPyRJHIT#vS8=9NaTRGd?{dbW)R*6r3m=S6Fjiv?xpV}xr9+*fFjusyY ze+@}8&Y88GwC%__ig?6-{HqfPN#Kp!SANpFuR9(b)}BgRAE&*?XnGt65i0Hy&I=O1 z+s)+!U^$7VJIeO5c_j6Hp($_zN`s^lXAeY@tL0m4+w*Y=rwLdejS(BE5J1QE}n~_{U%Z-CJ89LeO zk)$S;&uroXO`}D>vt1ulRzcqNt2eDg;m`0i(vrYNjaoIvSs1HODa#o7@+!}JFEiew zuOhkH*{_A^-^?BoL53A`lSS|8S@9ze=`;s@pnmNTU3y(_bK{gQ*}MLfTBf*K3n& zJJN8)q6}P3@9LrsVI8mu5wFI6J@WhD4?NwW`Oq8&LLisuc1?L4n@!9`Ts!)=?^mY2$75emk>uaXUCuF};z`NqGQ@b*& zL~h=-o|oDp1Z1c1|Do)i!X(|Yt>H>%rEON)wr$(C%}S%vwr$(CZQC~L%iVqY>3{cs z_UZ16xQMuz@kFe(-Zkf#V~ok!puRDA-QVO5+9y}^6lP-du9Q1K<9N=1CR?^+h<;d9 zn^(u+?f9zfNi-qDh~~bZ-zffD5K5lp6Rz0gQ725jgir#}ikp-X##?s!w(B=d?;MSZ zH)}wz5u?0PGBDR3`ON@sW;Tp;pJD?m@l&AGXUY1O@aHv_ z&*yL`zjemGdVS(jDMXy(n%0t#c|Lh-?YTl_s1z<&ddLyZYEKBt?uw%a&-XJc3h1e) zj()0BH#I6 zXmtUqDZ#S5QBE#mH~iq{MRe^UH6{t73x&KDb&wnk+9trLEd)GK+egRscXT*~5w!>w zayLi}*}t_fEVraT#g49xiexf)+`Mnw8?)l#{8ey0&DOu0Uc1eYQ@^vmyrX~r^o+#i zRK9Y;^MCM^M#XcD!Eti9eq@ z0#B)*srb-WBkl(XPaZ+9pkhgVY&Fi6MU9THfVahuzB(+@b0Cy8!nl*#Sj?FuLiM~z zQrU7h60;6JW>dFiaj(v8*ZOYy7M$5gzd`R&$ETDiE^)UAKw+qt#s^mH?3N7)V*Wb)DIXI` zVI_n#W*yoHF~zS5kk47cl zBUl`(%V}UBN(t>gf$?&O1;9<;>y(=91wo-A+P(#lE7^3%xLG4_8foGY$+ruyBb9$& zNi4tVxpgl+?X8A|#nV#C3$L#?A+<#;bog9pZeCTBa<Y_H9S*ZSvu* z(*;vSOy}5Stwd)Ow>+7C0K(&$q&cbbO=_#BJ%JnIuM@ zx*d_Kv3UHrIYBEN!eO{gynaitT2ApEF?IfF?SIcn(;F*5L>bqyW2qHsLbrn06226Y06B&k%4FVMGo=`P{*q)Ylq@vcGxnil0P- zY+d?`f9<4PT2W_q@(W^FEeT#wv!#oSzv6yXhdx zO>8qzp>n4hJa3*rNfw_v%hjXq2@)M&ehG^dEv3*fOt`D(k8F_uXabOm$l&tlO-5%K z33?PnB=gNkYHcza4IJUXWa@btdh)6nlK4i8xd+5U$QB7lry&AB1IDogv#1j`JR{Wtn9o*bGcc#=4{!Q6gxZoswPDtt@Jp%|ntqA|)N|~h|t!t`!b%pGH<#D$sTg+90 zWytF%b9gBdtic7x+Fv)zBJnr+Rj+UpecT{+j7I_M{R-U<>^XD|c++VC&=5tbFyw&n zUY%LNRh^o_J!q;9%3c)V=I)!n{}18qkAHL3IvP1R{x|+{cr#*?pVNmI#W*+_|z_XB-s?pYFIwlzMKtRO)Ydm{@< zyp~|(I@RfnH3w;ZIHEbj&@zXh6#2*2#iu2$-A477r-3NZhvTad6L9bj(P+>T5724f zvB*?IJpF4VO~ycU?!pTNy=SVfgbJ-<6Mhi6I!d_(*(-FW8%kOgzl(Vd(;2!wjgt=e z0b1k-$4Dz@FEd%*lI9p>Qw#uuJ9inQBPyCHu#lOD&;D2p5?Jx%uVaeCrAwGpKBTKH z$E%kF^(S4zD2bOObsZ${f!|X^Y<}bit9x~2%4S9GGGxK(bH?Bl` z@qE3HjK=U=(~jkD^EOvG>~s-lXW`zjIghs&id`^W3_4Gt8?VrvCesio2~Yle=ayXH zeX}cB&%S$HJiWi{oEd^6Z4OqokDQGUEYm-ZK~jHeeDJ3;2#7(y)Yk_QIwCMOcQP2% zKdypCU^Ln#Y{xeis;GPsUr-Mjzg0Pd3m2WG4J;p|0dKrYyLsS>s8>y>59vG01*i0l zqs$sMu;h9#_h)Xq~f-5r|7dja&^hlpT~cV;fnRvVz039 zWXO9BWiw}UQD3|c7dJ@Z_EiL;WmA&!!42f3Xc=iptnTS9Dk zdMLjRbiJs`y;U-#p|8rTm2*oG0vo{ObyVI3gVjQjF7G3*j%WetdfZve>TKeKd&4_| zdqUZ~r>RG8394h?Wz{+4>HGxxbJqR6aVtCei@WXkC5IEnb%C_sXKs$)N1(9R2^kX%*kzR$pGsIgO$#4WvbdrzLB zacD~yB}6!NkukNHZ9_H#7L`Zc>J3l(-}3<*K zgm)@+LYog-O%!gC1_-f!*aR_b+((}@K4{mBXPIM=1?W)-$S|+)-DS3O=*QOXAe%ZC zX^{a4@vzvETW50wUJT(z#WKz-_U2(4 z!hS|!$0Mt=FkQD=55DE?OHYg~u^(0?R&LJ>xAZwZZLN5V6dka%h#RzcfFwI!i8z*O zN;Nt~zDqhH#%1Ry&QjV-#JY-~ZnkO-U!@ARHc;mX;onAbK8<<5TBvPOC*i8b#rdI0 zRY%Q{gSkp-?A8qi5rM6OE6%1#xChx7J9C2J6bBVx5-x2=AUj2OuWnDCABNSn$+9;R z*J~Hcc8j128eCJziF6HQa{5l~(j=g~;CdU`AXwC&N_scW=A3T<0?$S)5j*Qh2Xqke zKBYGoJIMvRI=~6bug(i0J-|x-pf;H|{de6Z`gop&r23>Kj@Se;)Bwp9u->IDQxd}${weL4l0VK ztmx`&D`~ocD+?;oK~+CGDW|SN)0C!SjL(L|`~PsT#``z>-O^0|-y+@r#G?Ivh+h$X zDU(N$zkMVB4{8LS$0Tb&%8qWOd*YHd`!hB2I*Tu;4ic`&d$B-+=h-#h&du-mET;_s%!GL!&! zNi&73vR+OKMFo{nyuNvJ12yY0y^jwtS#$<;3${Svt1aEq#Y{Q87~&f)Fw%sL!5yVxnlv_Iy(o^gqpJnBX`Xz z-cSf7gv(`^<{}E!@ncBwBbnD8>MNky&iHBwsu(FhYwv>y+S4q|v9FyPB~+xZrU%+0 z^TYpGtM~V=k-aig^UvDpNB)#Ces*9F&O@J`|NKnQ3!atFFUw6wP11+HW0Q9Y8?HM% zACrW=y5O=slqVNPjRWBnAjpKhT0V1Purs zPMxTQcT(1TwVMX>D==Tqvlyl`W24S9pDX|1mmvkHw90I2 zbo1j6m2gN4F@*k3avXg8kgv>Q-x_a1hNtFZ3&<_J(Pg&_L;t1?ps%j={ zta;}UjfZo4=M4cD_QB>tPR5YtNdJv2o&d=!hUxG59ud88Jq-05^_||xH+F5#Xh5NH zM5t&S5lD-OMsm%0R~^Gj5>0p{b-`u~nFsZ=U)(+Z)sEovc{5EFu9^=j zO?JyL3cVYGD@oHX#JNDZN)wLTTE^SNNPIJWu-TEC|Cv(So6ixeP`eyj!9!vOVD6?2 zk!$eX=cmtw7>fa;*F}q(G6@|$MuAL&Yulu~w9qzEDxbPT4wd@bc5=XS@-ToG01a~H z&+CyIL9A}y@Q`fOjKoLrK(>`aonTtc!F&(1DpKhFAw&JfE`ZXNTF>JtWpab4djalvhztK{sxEbOwA2 z1&+&)!n;xBvQ(A`2=Q1RcX=(3IU`F9&SX8yyy57{(!H2&n+bvQv~$?f)2w7w5hb@X z838nQbK|S&pFW-PZ;fhN{MfcIdKS9D_FBxjA|FdY`)0~4@%NyQDcw z07+KnGMbW3PsG=ZUj7HoWn&x)XE`tAC#F{ zG>SD35fCZxZTHY4PzGOm8#bTIxQ0o}&!6N&dGbM8&G!`owL|_!$;*opVT+`gi`gD(Zw!Q^^xHPvy5KA``c(s^Y&d47$J_!jY{TcZ9iE~0^>hkaeT<&qe{s?;I41|^~A@*`WU<3Hlx{2F3zOCWbfhCo|k zoNr+B)R^zi7FO$21C_63M*3Dv;n96ZVUKz>ufo=L*pRqIIQj8bJWH&gi7%(o> zTQ%fkGvecv4#1kUNCL{109e|UG5x9XadW{mjkpDOaMzOMWrAPT;;8hH_3MTbW5QVY zkjCk4{dUI`>ZU{@TS8?@l_qs=p5e%?iTPxeBW-=Db*f3gtZmVflJ#(Z*z;}Ys2G!US#O<{qB9NP)xc4`w+a-1NbCZ{kPpp z8JH5P_l5EZKp5hRaYt8a3}?blQqW0~NR974K}X2CQ_tJkVP|FrGh}ah8ycpG7UX%x zjcTDt1HCOvZIuRrM(QbmsK1N^K+)Nwqaxmcz=uf$F>zuM`zoX9ZmhSN%eR5+tb0BN z9!ut8v0-5`c2^RggBrf-F!!4Qze;C_)!lhcizd;=Nd1<#`{hyQ3Z#6>u7d_i7dw4v zC&uOw-wm)II!3QJin%S+Db0z%GRAZR^Na^CDwQhb)x3yAH-g$E>IWvKgq2{tSDwVq zBP$+6p@6ViB(VAXs0 zvn3v4F%eFGnM$q$!rvT2?V2J*}45n0|{ zsa&bTkO?HtmzrxF5;3~PS7`5mvtyxdeCH;8ToN@eA;>79bPEIM6-L}=+>Gx1@}cai z6T6+%C_>e?&@Cw7Pp>y`Xa^A}gQM$l35CyWQvI9e!)x7wzWjCbhBP#2j;hl145L2e zV)R0QM3WY$2mjY3<6~(8^CL+8hh-6S2$Kd}=EkaZ$J34sY96MeO3+AP2Vi8oK-_E} zcj8S!3oxa917Hs3xj7nL5rh|&lkQ4?g>5B=dD+5~Wviv!){2>MQ(N6Lk7|#4C-VR} zmsUcIa=(^7TGu`54@|3Oq}`0sJWKy&WDky-FaOdzzh2lPT+C#g*&a}1XU#AT6}jRhlXI=r-FC&mpwjmeN`=7g z_>y`0^zv#wL2uGh;$LX>0Uu2YtNi<<)>_qStwwwXEumFJ8I1Cw>s*BTEk<;fRJ+qC zFb4C9x}0uIo|(D=uSE7%$5^|3#s@sS2u;xXhEFwy2cZ*)vFCF_9Lrj^62bj4B66Pg z7z0#AiszleG0l=QKc6=kX_w{pEfk`~J}X?K)`WxuR|3H@otH;Vi3ydr-Ah}jgSB&{ zA7p6m6^B@FEpT^5H8XZZ4xw=UO1@YA?DpT#;t<4V!gBGX&N-ED)I7`+y=#N<8>o~f z2F}?`ZYet7rp|x}2R>!V%Q>e(QgRnn=QaK2$8u|6nZ_obM! zGRe7-(BhrgycJC13JJq*@6bipDP|lvwNOVUqGBAmVss~yvnV04>r*0HZDr%&C#|Nt zM}rEZ#Zql9Sb-mONTihONsDDWIGa+?`KZol_WhHU6f05-N54|)V` z3#~$WEQewe8_xvvgRkZ^c^dGkr%yeS{6WPwUJ*@2TeMg*s6jJG;U0ndh!`Lisji91 zhhw^GIc1qp>M2QW<78WyIe&?SG#$~|vq=PPASpAHgF+TYt~Q~vFdGBVq*YX3%Ky5Iizp7YWxwS>^5_;-RQG`m;kj zYD;cRQ*fbZ*?xa3{}af8?bb$(ZGX`)CQcgRFffU?QCq&&7w@oM4mLd-Lwbs>fgNS1rd z=72EU^#!EAGu?e5AwvDajp^!FYr{MyTdLfwi`J$Uw9EKwma$JmLQPSyJb7gyDMG-2`BaUf}3 z=}spbqDGrJ5(jKTPq=qV@82c|kKsYj;H(?r3~;NKqCfVK1slO?EmGaFCpiMvu4`bT zHGB3PvVtmZOO{_S@cqULa5)=|J~vpCgAjt11^m{To_VmfcGU?~@zDY(nw1cl^5q1k zu?_QQNV4a$y%8)0fuN^hEx|ARr@k_ zl~F-4euZ|Up)WWza4>W~Z z54Rn?34fPyyTNBq_azY4ydKJ0Cuy~FxAebXPCQ;n%T~GaoC=WaMiVrRo+0ld3?|_h zqT{ukn#`CzP!WZ2za{`A1oI&Uu|%^^IyOlQvzkkn zc(xE60z&*1>B70X%J(@oE@FMw5D5Wolki&sS?uwL$fb;8F&oxW+%4dyZ(tW*78Q%( zgMAZT0vIfhsg#$z0twsAoUBtML-jWsF(=}u6cR|dqJV`)t<#w7YD)KP|Dk41q>)Ul zG1U|u3EPm+*k-{=qk#9SV)pb5^@YHji&)fzJ0>3Ox#f!^JZV|pctfJ+=cb9Y0{psE z^zK}OvoFVF7PYRC&=8eJ1&1u{j|fv2T5CuHiCy}(k9mdgcO}9W(1ziOAc-ir2xYIEHqJZGC?71FuB6p=}N_a*g{|wy1u;J>Q z(kGeV5w5Z{IPCA+(aUGJ!x;*xx|C+-n)~B|nN@`%#I^=Pr(%2CP_x2=F?0LXjphVg zn+h$)QF>{@X0zA=YZ6T&L5q5f2H3(KlV=V>X;o%jY#l5$jPoM5;j|Vh2BJ-AHAZ+a zuNrlhVvnf_S*jH$Str0|=g`VDikLuPRWD6qDI#(G)-DYTdsq!?ge_BD6i+Q8m6=$q z>B<)9*=vV^=*-$Mm_9+sAUV~5(m-hAfw94$6${OQMO)LR(|d1VGKf0V!+ySfW?>*O z5rn4m4osxV7b&kyJ}3I_-d5QXZLVaxsU~`r28@TZ%=G55ES}M_QQEK6)~vx#U=2v_ zlWF_M#{6yc>YsQ9&)|faCCXTu=L(xfcKaEmME-76B*p5PypHC{`v%ymN#`+vd#0m0n;Q8Xel&`yi`1P%1uoQ+comr%EOFcRE zBw~qWi#uY8t|rr4(z$T9${KvhOkZ2X8GW0NI&Aal@-OD@ZUtF!N2v2#IFeTZYm$ih zXeg+1{S%`0l3UaZW;{~zbr3kbiyCI3ENLXyeJ>M$+W8aIR&7i5lW58k#avtJu4En_ zO|xjEoC_F+O`(-WAJ52fjP3a{2n0#3Si#(>M|ObRrZTSX=leKe{aOYF+HOz`P zdI-Zz9T>(|I2#?eAzE>k2w2}>K1g+6AxG1xhTLXd2a@*`JN8)|NsH}k*N95c;UtUj zMmK?3FngqKA|)!yM>Cq^r<6(5!gD0&IAtTB)o0`gpNX+ZlF)?>`7?kibIvq?Kv;Sf zV|`WQ>hpUhQ)IkZkq)GC!*f|)sBkJrT}X~$MOZQNuAY{W!-jCP$5ftJK0?mUwF|}i zYxUT0L2d^xxu=g0d?6NaMKD^awVRi(p4!Da*xP->;zodnytvkr={5(l`R4i{v7m!L zRf>*y6XV0TtKCOA|Gl5!B^VLaTg`lXi#wUhI2`R4%?NwR}{){e6h)S zb$~DJ@%wM3_un&ue`P!4{Kd|8v9UL#awns*e{oQZ6u*4fX`y~jsZ@7=Tant;Z0wkq2&*{m3qnC#>?A_pUM{VejDZ%@R%d*9 zib*u$!0{t&#fl9M&Nog%C1?&1$ca7S6C&~)2`774uuO!AQ)}5<7-#4D{0aQ@ z<51qgZ(KOn?^Puky9PbG9Ry1vmQl1AAnxeZ5?}(lWT~ZGoh8Csz zGR5+{{jlI<2TZ*>K;P62_>l=_pQR?6d%AQmx6HHBx}x}Ex?@8h559s8H(MTOP#|uk zv_EB5?uJSVXQJG=Q<8OfuK_*3eNrj4gC1vN%s8yZH@4-w{m!0+XIsQ zi9Aud>PV8dE9pa>_otUn>S&@jcl!t{wa+!((F?O|y4TI5nX_eiuSG`TzVE%dTx}b> zPE3~Oewjf6gRypaP<3S9eXpK(CIEPwXpNFg$Db#GURtYuC@4!GU5d9@KU;3>vpiar zBvn`iV;^$qO{0D{<}~8S{3i9_&Wgdg>NF)VF&k;V=G}#xafD#%I32_NpI$Ed|*d#HxvKUw|kR)##gX^0#|?R@?iatp3$#e-u~4^`Ku1f zKX>{6kL>vuJ3T>BO6HG#9}iWabNLCY*PN6KOR%U!##oi*4PBpI}%RMc0>MUzgPTFTGyRuzFL?)(9|6HvQb|xSk zDgYQ*@hqS-%SA~cxnWKwcO*b-LY~YC`ACRwR*$HDM8c;`fcc=I6gLAIYK;2k>hlz- z4g8kPW}+iUw%-OHWyy892VWcv0o5iTgLV}uFiXmU@Eo0Qr0qk#%;b9JF1~ibOoU*H zoh+5VX5tCf+X)b2`N=;NEA7!|2H)C7oFt#Mdk($03X%FwO*yUeWO))+jZ-D1X0!jB z>P%7fY$j;d23{rFpgQS4KgdugG1fNKT|7Oise2INC0&b!D|Mc^*Ao5OsTboMsw?ruon!u2RfA!@pJ*{wnPEJD~sG~{X+I}}q8fXSfXOS?YR93q3M6uq9%t;Ow?<_CJUTj?XqXmk^&I!;7#$c5n6~bcKU@vS z_Wh0UT?uq)K~c+PAa-#Vs&r^`rewf)pLUR^38(OrMpZI!uqPI^kY+%o;yZbnc$p!k z6oKu@o#t*9s&ns5 z{3)>=jGJxVx(V%lj)qQg;p&LbD%tie1N-6<9mar5aEKttYhV@Hnw1wC8iD>i9J?2|D=NvoetDfA+s{Tb!gc!f(6e5koZ#j{%LZs&$dR_p z8nNyzB)`FFYWo7~@0}Mk$Q+%v`X)C~g4(Thp&FG_gXfi;8Bn^ zxW}dp>kd+cn|!y-S1WA*IG=8()sThU9zgLL{UO2oPTo*VE}J@{lp^8Frk4N09ydTR zZdWP$%p>t013yoS*NYjCgzQ@pAf1GE+cI9TLTrgI#g`0O;43iF5OczQgfZGctwa>f zEwIdw0vSQ6PXux2Q=SZT69Awnk$EII@QkrwF$-2g-lWb=4Na+(`CW1ngnaK#Q?q1R zG1Z|(9B+@}leCa5kTg|pO$pmF(NDgA=te9;5oASFNslq;d+Yq6lOq8|%(tc5+(62D zb)xXa5JYppo)&&hIn#yf%OA`9H?0U&KGEMZ2~aYNTwOZB9{+}~{IgE5M~W4Q{;CmL z(f)dZ>pyq+pE==waTzqIo>^nIAb(aBv7RAWj8zLa?)697lOeFI5l;~FooB0(h9#%w zFgmjCQ;x)xZ$M8Mkxefh=iQ6F#$ag?qmwNDV1n`p;tW3Gc+9IuWI+Je^U z{ER7FSIt?N;%IRwz`lRWO(tYU)ih>?Z><{5<+-3)LEy-EUukXGhaHM-xeT>oP9wtW ztQRW{^BS3jwd_?1-w5pHr$`!OGjcD?H%|G;JuYt!IVV*~8$sP?zesK`QGBAx?}RID z%_T{QM$ce7EIkWk?qQ?SxOlwG&SkB;I}% z-(+zuBeC(&QGRlWA1c%VM0JTAYh6F>-!?n)J~uc-nxbH3UWd*fNBCO3XC5hswQm8m+RH=XS-w4?avNVG zBwn8HJz%Y%kcveKoU(ZxnD!5CCUS?5MaOkYl5!Ie(umAnTyl5l3z5C(y12w3;~(lx zaJ^Dtv1Yfu;iBf$z(^KDLD0lxuw^|$8=}_d)$eYAPq8Z)_;mbg`R341!cW!(vz}h? z0-YnY1GHLrUAGYmm-;%_34D{$`V7b(iO_&vsZQwAp>Uc7J4Zrl#75qYSQW3TDmBEui(E=?VX`-=PE>r3fiL&0T{S_@70!Bf! zc9j}6R@3ojb?}VPwPt+eEMft%$cl3?#rqoQ)k)(~P*7@kLwhi|4_&Wu1LOt}#& zG%r03nXpzlwS=63UU{3It1B50UX^PZ!0hOT=x>ssI#^Mot%_)V>%kU&o{YG(oOL^} zE{$Z6FdW@%ze)MB?|{7rl$BM7fzii0BCxJmzC}X>7jitq&Hg;+d6PhlA$}<@d0^Xq z!y-kb5yIi*xB;-Q4?l3s=_SdE=kfQOh1R}102G3A<~Y-_eT^mVBO<4eIR;~ll4A-n zG>CK?zb2wNOsdUv)x`(1zOvNFu_h72?b;c5j49A6e#`Cx{vdj{DOJsx?D(Y&f`Wt- zx1-S0_e+WFUKG{Q?*Uzklh}`)TZ6>Z$v_#;F9p5}6gS(Ip?_w0d)hYs+tJ?A6vC^R zO1!()=?n25(Nj(`1P=6$1CKbwP(Zb2qD zTc+XMT4%Nb4WG3Fz2qQ8nstg!XBy3-3z%c86p(N7-Gv-eQ`#Np)PphpA3xX8Yp~Q# zEhMb2ip&8~9I04~ds~v9C~;K~9vOar9Cewh>W03&D&>C<_A1hgjFn>^Z2Zz^E&dij zluYY9n$K9iO=Y-;Ur&)eh^?r6@|h^RQN2xT$>xK?O&@qN+JT*3)^ERQ_`!@Bu+e^L zRipLG-4T2vx0Y#KYJ4l8Hs=F#y#66#Ascra+1j0_r>r>H-Vf4uEG)=_e+>M77}oKD zVoQBmUbwi9O?(xs%S6DVpWMalf;!&KF)Pi@A_Ha89kCEer`G`Z87+)Z?u2WWxLZZ< z{ArC{io)RAcXvwRx#jHz;!g8#E7MA6?ez~Yh*Vjg2MOxY&PwKEY`gIS}L{nbqc)CC-|iVS;a!R{4zqh+`r>Y?-+{AvJ)_ z^;}X9G#z-U;!oeZbE&^ST!{>6CxEVEdajqGM2#?X#acqi?aDXUS2m(r2Kz?P?KjRb zix7+nQCP&~k7Sy0S>QtVO2?`8&MS=6D!&dG#}N&oIk>Hi!Zo4ngTccn@SE#^CQn~f zFOsE>2k$u>s@fokN6s48;*|H4IUD`)Y2aiX&YQ04%xKH1buC+lQR0{##hiZK2>qNr zCtn!{yQPu370Zg3Q16jsBgwozLv6sbHx{?_>zUZyS$SkshLJP@gCL zFCxabCtmik=T|RL@KY4^NB(gg*#@_t-hWQ%)nyI`7QeKPb6+X_UuhlxnehA_<}svp z{5x;{FEXBl_!{dyTBslw9*`kIR#vUndQ*?33WX%VruAG^MM}j&s1QF7*87TEV7J=5 zeL^Py5>qC$TG1F>?-2DWW#sa07g;VS?ql$CKECssn!#Mq;QE6`lp?1)!giNH{On zVEL-D>ai`v>}P7yvpjNvwg1lJk1Es`NyS?>26-1+FfFY%3H1_8%)p#<^>47!* zG0%FrCoX2u_erdu)974+!|hj)P+j1(%%xeHn0ntsc#TQE$qGwrUgp$|2R02@XPUe3 zB-*-o|481$Qh+>M(K2a(Yy^TCZ4GCrPlRn+0Nz4|2eOAC?^sav3x&?u$)wBI;a>!v##4z2| z24SZDQNhz`$Ls&mi2N(-1~UgedwV^%|Dp$Z+t#gZ@nx>y`t|xN>xO?s{S)N)hnK?t z;-@e+AwxDHwjfbKI!r@Ord+LLOGz$XK0ihYItTGJ&&903ZG^9NGQea#C;@$jScRgu@T~Q=0!IUF3(`0 zqQ$(TApo+wI(EG*5)5_R1!<|US ztji+smb-1k5$|U7woB`%o&p+-P@Nobm=p6>X(w#qVOt6?a#8UV`AH(W>s}D2Yi0gC z2|Gt__EQ}a^tNW2f}}TZIp9=?4;m)9R}n*g4Js?s%Y>N!;K$bCpk2U?WexG>u7LFB z=*0yi{lJuJIp~&pJfu!L;a$g|)_{Yib0doD6t$s%r|KH~yBe-8ee}nhLc{U7BS_G0 zeN&Q4idNmRbSC<)UaW{lzn!b)KMrb{XO5q&d`8OI->ci$OrIuZt z67+fH)uo%!V|Q1BJi3)zIr6mimATx`kt3tJRoW={$`|$Zz|hFA5y@s8I3M8*(3!x8 zq)=9P>@|c&52s&3rq+DGGQe++Y+jz*QbUza?v5z7AL7oXI=BPP4EM_&61Pozm}sU#r|z&{ah?J#4P>>FZF z;X%}}Z3=AL+fd;q;yktJ_c_$QL=gW(#@pLKqPdGdNI}o`(}S*WsA@8z z_HY6N6a3c=s}JY%ao#k`?&40OJ$<)ii{9&N%S$<-a*mtbcS=BF0h?M@sRp2I(AC9< zAJ01xP>$B+(-jP9+m|+$0Hn7%yf^`?IfudpI#vl*;xM>fS}+Z_iDghwmtbw z4kuCc@vGNQj40ODqkyo|8x942%Ykrv`cM)%GLzodZk$TtsBSK1cdXQruPBc1=PSfN z$un{n6KGM4!x{tPWP%t6xL;zI;po=vQ_O(3#tyW-`4)NKx-mFLkoI-OtG6#i%LXsOD+) zZO%Kd)N6uSWhBOfq9pn~CFQu8AN~Pl#sR)zQ-n9CS8l2Y7U@2Eu_yrI9 zJ2E0R1N;(GyUE1ag4`C7@uT(i7Wn@9Ww2NrWGzIwX)?hPGS zqz&ri6GRYpXIkCza`BOJN9NWVb1UCW90y<~TFOGLN7bFxh=vqJt%8sv7ytxpO7q0> zQjkIMYBw2KI%p0Njskj#wmz>{n*P3lQxNG56A%9ztcv{s7%1YjnrADmRMIxBX zt+>A@cC*k?1xv!{Dm4oh(@V*;YR)+kwcoN}oOp;MdE^@wk%0osx<+m7T}oQ>9ZQy+OAgoBbT#p}T`^$g1Fpnt@>TAO zITV-#tZ(*8n;;L}9vz`dbs9np!aReA{$7I|Ah{BmewyRphgdORxmF`68&PF0lTUoXEznp31{} znon%KD8I*b&I;?om?@79$21(2TqDK<-sSe0ToPVqS$g zpsz5(r|%cI67m+Tvre&vgI=Po+3OM;j7%#bAae_nun3vZlDB55WpQ;|C6!Z!f(;8T zq^Ss!XoVM{qhEGr!HLMuUpnqSz27F4(8Ta+satq(BXGRnBcpWO#Dp@(bliI^k7Cmf zJ#5AkgwsS!AALI2j7ZpA@lCZ8OhlD#;Os1Eh~vI56%xO6zb3AC45w+QW!4{qtu@;p zQSZ}{Br7NQ=*gflYl)S;bMA9P-7lG6fJYtOi=l;5b_Z zPyb1hu;-6!xtmgC0U=f|{^TX;OH>_^Cu1p=WV=W5+j&ii|FkWmaT^!u76kTBg~uTZr{?KQw<4NbT_IGQ%AUm?6|FMQ}szn_(9yXxLt zmkEFbE?2F-nJJx$92B?Z2dhz-*7i{K#=shBj%b(Qa&%xBn%Z$t&VEB1FzvYY6P|mQiN`1|l&w zErBJ@J(8v=@F+`g@s#z`Dh4EO!ae^*Iw~TuDfj$U8~jnR{=3Y}z{bkf#@fi*@!xv$ zILX$0CDw3X?8HR1vi$N4U4A?#gEF-AebGwRMyEzHxq0s+OOjl0x{Rw1m(C~al7MJo zDZBwb(fd%*3HzjJ98ZyBK=rthA;FEDDW!G|1m!2*Tq2Jf-cHG%w-#y3OK-28-N2LX zP>F}*>3PCNprKTtW>*> zM%ED#`%awp7rxr2kp-?R#@suDaQEUOhlR>SV54OS3(3zzh@a1?*RQgQfm@ITdee}Oa@$?*NLa_w)(eI;Tb z)JLM=41ns|oKmnT3PNIE9@d4}eH9XrvYPT1UYT3M(teS=2!D zLAwe)63GO{v0%JMQ z9@a`+!yUGODzu}<$wY!bHZC>#x3<`4vE`Qwl<~y)xTKe7zu?tMnL>gjn~zNDh)A{1RF zACd@je{iCLE)&S20$${Y{bn(JCbz$1tB*Mna4mli0F}0<>;L2I9iuF3w=Cfd+jc~T zZQHhO+qNUa&M-1;+qP}ncE?-&^;doC)?0O}f1E#OoU!*fdoMk6%{AA0yHu~nh};Mh zkwDINn22dQt9r)f_nK$kPA)I5wt&PIn^ja@TA8cHC)-P^Okm=ghN%wb4bIcndYf0R zCIl91xSA$bLB>vRS|9cZ9i8|pk=q607Y`y`-S~9@AX&q#|`L|BQFUr zGTp=tHMCDoJZ1s61SF-~cJd=!w=#%&Kj)GeP*QcleqKX&0k8u`Wd`3EY%jB(-4M(PvpU&1 zp;}UHSd|=B#3W)$2xr$WK+>RBP%L5OLLyriuMt!>U^!L3s3*`j z{X&P_7Fk{|=1ggGf;CFawL|IVxa0!LQ+u149%}NEuK2?H3i$y1cl`LTZDm~830lS9 zh9dP{YyX}0%6~AFe=N8E2Dz(Hkp3$kb)2b6iAx%oozE&loaavCdYG|RThmJR)G{|F ztzs%OP9i41KSgJL;QK$;qY;Q)O|(CWKrJiynt5#r3POyYS%fz1N7hOc5ru{=Nt=&f zl&#sWRb3+?c|vxnWQy%e%RlE%wA?LoPI99Vzz%fExp)~VCfs#SWMM$A*vphq=T-Qw zq0(-z?3K$pp?TCse{oL0(9+oqS)yWPNXyWM;(oE$*2-wk?_W>6xia4WRwv$anI-AB zBglK0jZ)T0i16m))n+i{0emBP1b6;v64rsDJ@~`Xz8hbK$q62C0d|&v3*(1HH|Vwh zz#9Isp9~goGlt1?dYCvuc)MBRJC2uKHcn*fBP|rP>^Mk3i zR1=od;70(8*$-(KxI0{Z7_2y)ZB1IFcmwCw0e8BiEy( z=!;^q^tqfbnIb%D)6Wk(v%(2xev&|rPhJ0R4S&@TL9jmh(%)%b`};%vKS}fdT}wey zTzXQRNvD0LOiwu~|mpFb=8(f@K8;L9p4;_(Cp5 zF4nnxcQNk4dO_X8K^QEVFamDGS+brw4{J%Sf}KCI#h8d|8|l*8FA49m?x!g^xC0Z? z*uj)oP?W+HQ%n4WL9y;5sO^iUbPVcvPLDyY1H58+S{1?IZ%LE{L~ zZmqD&fJ(#xj>ieekv>Y1yRVh!CX6cZ-TNsnMNH15Erk)b+>(6B8KUl%PW&iGCGZLA z)!_9~+c4`|WYJr1IwW$(ELXAC0&;EhNP+ zS_5-tZ0mGqJj`J1>69~P>2yo8YR~d<(IIl-jcoN^R3ud+4nY-1JP}h`H^;&SMDyvR z%wj3#-g(bgOIH?$(B{K+_bvRCEh`P3dTTE7>5V2EwyU>F?C##=k4M;*QHT!QMLf|r z0o6h{#C$+psnf&1Ek^fa_#L+cgoRfR=qc@ccbC|hBs61feC=SQD+MeeeiwTrgQ<(% z3;dECY+ka8-k;hdLvb*Z*C1oZHvtSmagA~Ye;o1q~^XF^WHvJ(cbx!Xx_PtppX8sE>GC^vSOucDWasjbc&<%Rd*HUZ|FICJX6h@XK*YJsP;Xnwk^IxQcPdt!oVY&?nR-?N;+Rjj`NO z7)0MW9Wy1>$VHwOiO}a{TT*>3!1Ve+vB;~t=BuEUT~J@Fv9|q7ArWo|qr?8~jz5A` zY6B~o?SU<)%c>)yS;Srb-c5WPKd|c8OsWCOu62$$Uh_?H)BYP1*wu|F041=d{Kaf0de-)IyBVB{V&EVphfJP9n82@yn` zRO6aBUYF9+IIsF6gYY|Kph@+OoORCQwiy4dTVZ)_qszlMl-DW%v?j0X1q3T{ZTu|W-yLx&VwR_g z1nkivC|wG0j@v{S=dhhOVzmd-!Z|1yp(UeMw)fGe^(deiEXo<(fRwSD0LqztDxxne zE*yLtDn9fBpS$y^zAV?4l|8eN|X zr*xBN0okZp^o}PK43fIOq_V!Ifou+n6Zb{F^N+c(v+?K*24~JZw*5K{H@&sZ+?8HE z6PEn=Yecn{shBDfiWDJ~l$TwCO_MU4+r&-|DfXr3b40}zXAkHHi|Op(k)$=xFIDzc z;Q@$fMQHP)jRWMlHEze%DXYBW7;GB+mP@Z}cq(@@NyU-exG=-SaA~_UYDTSE`By=vw_7+Psj_6O=z54T!YPZob#p@Jd);@9Xz6^|4 ztkH@gUGq}p^sgv9ezN-O3*E2m6^i8P0QQ^1Kg%Nqrd>VH45%@mf{7a=FR*8`;3aqH z>k~FtGBmjIb{gQ)V^OlI>IFKkO@7+>R2!-?)hsgAQaMjJ_}Pxti{TtHuR^V0k3dxcQN5IelUO%2xNB)fQmiukWWMpODfZfC znQw2pOp1d*g8SV`|C@8KoH1F^A!hIsekyWsE;BuD^Q=p#p82n>EM~5$=pnCB! zzh6%}%Q-0u=+~waS-^_Ha*YU4=I-v@+&0&y$4ebV7*FrI2T6b0mX|RjY**tHn`KDg zu)~50yr=AjtWld77kh;#&{ zX)nkEN=EsM>?npyg6(x4RkiLcxo6kqh+j{Z*D&XeF`l4%W0BfLF~#*Zj`wmH{!}FxV|xD-w$g0u z2x9PbQrS}oosclbrwV`sQHHYzl}0!XSG)juJ*-5n)DrKnQ5uv37QJ;1DEkbo0T&Q zOr>x{OiCh;9@ei+OzCkqQE`X@F5C7EiBK2%z_u~eytqVBcWnzkJg?!p#j$Gq2nH>W zf~^}=V{(v;VoLA6Q}Z^Lru1F9EIoHV^2(OgN*COPD^Ol_jE<_Ddjc%oxNxqdXB>Jg zl5|S=7TS$E)f&`Mmca+WJZiF7oAi&H(VrUDmN5d;&6MH!@WO}G-qvDyu`%>&6axaz zCe=M{I9j>MV~awCX7O>ruEG$R&iwC2rwY=mZxjM+976Vy zs_Qdky>ZeF^VCW#UqzsTW`-^@6bBF zS4EYFo>!^qZ66sJjUPTxHK=z<{=d`Bg!1lw#5SFP0{kIhus8BRD$BQ_*>&gG$Zcjy zP&sQrcMD|+R=q!5V~{Q!4N| zLUCS~sOkC$e1E+1^?f_SdzxQu6t`o35vI&_U(XPi(`10?X7$sY+fr#fYlv_{TUpPn z65s$58Wb#Q8Q_~*C16m}-cWL^^I#TqmL-?AmvNErXq5-X^SCCPaPIer0Z$iEuExJE}5!CIuPh$|)=7K2WGG2%e0#|e*oBNz)``FR;a((hV8 zwI!|$SV5P$?-$_+VQ?VNaT0wf4*i4x-3Urjz1!4wL^`gTK1PeiK9~|biFUu69Mh3h zw@JGgkn#(7UusO}vt6muqy9JQ1F{uKkL^e|?ZNKZFoJsl?o%|}`l=w0hF+lSnxx4{ zIe1E%6)2*CbiOs2l{=zwCUC(ZpKHA24Od}xJn1xapRm{}x@T>K3rRDH^<5{%XjYpp z@G(D5_>Ig_fy%OAV(6LN16qIx^2^MFwBI9=`!t4)@RT}~)wRtWBdnE#-No$Sjn+h*x=nH$H06o#9t8$esN*ki`^Fr0_^Pl8rzGht9z z4i#6T0+)68cdrsxeo4Qh?MAeJqM}$)IfTmJ6y-f$O~ zp@I?cfA<^Sy4Tah>wIzy3iK3zFB3X&=tL4xV1iRruh-PYO;rIoIO2msSQWp^5u=`x z?OzuUS=pcn_{jNveleyMyy$>(s5n#{%4g&9<8E=hbXT0;&-~chw$UULEUGPXsvoCx z)YN)J*}`$D@23~jNrn+TazmbU4Ao*UpmkjC&6_7fg0^jpb`f98Zmrd^2J=#%cmgih#P3_KY~lU7v-g&n`H5F5DBW>XQU& zc{N{Se1ywI;xu$Jou{b0M8{t}H!Jy$9~r;`7bhb$4VQ{qIi?ls9@83ySX0~?%z2;X zP0eo_4&Ln#c>Ptfom;JvuhJn-V2uT>wrvulaZfG{bkb(m&t~7;vA@*5X~Cdgy7+!q z5uVtDZ7S`7Srjx&ekk-0vI&J-M8RX){8E0_F_UkP*xH8)dAv-mK*4=kC`0%R8A`0( zO*na1`AZyhAPt$hE3~$nq{m1{Fr6Feg`Dz`78Vc9WjjNRq)nUhmbJ1=_&!?@mG*RH zLivHPchJkfaLA;S%N9sh0SHMW^hg4sGxSyjLwEKuO4g`J>XbArWI->{Ma@L9^k%Vd zz#W$-O{y*WwFmD@j-CL=C<4kmuMVtrF*z6qomDo@eoZrKj@xv+H$U_`E}dMbHXMOe zugW4d2}&6U-E*SP8NVVG7Lld;jpX(?IM5QVhJ&B8nwc~`E8s{vn$bi{lG~H^BCq}^ z?L>ZCAqhG1cJ|XExaI)Mifgv;x@f1rRRTB;Q?Idaw^-ceB%5gi;9mF@i7DbC22U1b zpJ2VEEjMB^$cRf=7{Pqw4+A4a7Gc$T=`?TBhP2`mQfr0E0cnIxr{fXPx_|RxRvOQS z_4QuT{pJ!v^BCEM+V_Z*E{IqC@Wtb1>j$%n!`zT71d^F$lV7{vnm694%>=W2Kqh1N z+Z1jfaceA8h9kh(c6hw@!lnza&@z2;bUB@N_!_eIn4l{Gl{XH>E5odm z8Of)kILW()@cwq`;8WIl$-c#XZv9t8w_=(%OV(Q)?BR?(YkO9|Y=%vX>MW4*o3;A^ z>G`NV&%=7U;v-Xta8f^I^P^He^&IcMcRiAe13K?C2Ir4v@1)}8P-^!2H$zYV-vfYr zhM7GCBOBD!?v`~DhU!qJ-a>o_W{vxIeRrX0KFTHA1^x2okDBfoPwD zWmWp|Djr>ufxp^o5KGvbZyuVYQTE#?QmR&TxpwrM+D)4d=Gs0re7OMdGH>SFmyp2t z$^;`T`Z32%5Ua^s4LfZK=Wr>JCw;JP8N|mQOU@)d9^|COM0H2r5f@zFt79~30o^gy z8p4++Ka5{hkUl#%c|1qIcoefFcd9srp8zz| zZ#wL^!dr70U{nc5)l8^~&#m>N&SdN;6A?^r=8hh(64tkfn^F|sn#a=~{mxfcjEtc) zf9F{TC4$#v*vJ17Yd^Tw#7c&8A+bM0_*odTIkFuO;c*(T0j}L-8B0gtxJ#ur)!bJZ zIo7W2wtt7RB8l*k@LaB@OL?L^5M)Df_>||Cbv@sAeQ^HjbMp?kcM)Q}-IIj3lMuoQ*iDfenGnBe0OK3wmMs?|J4nj`7OwPa? z9$C}2UF#uWcl{R*|H~G3<}Fw;7$VOIsoIcYKOD(x)(aU^=5)i} zf%PL=&iSrm1rWvvO%uS_x1V5K3vkOeBFl(RzIT|~9?!Mx683wb$X1}$Nu!pV_)5QX zoUn1esC7?i19@s`f5%9reQY<|usfSMv2ex+{cyh!rb-awA9VQn6gPRQJNmn%Ww{hi zK?*l+KA@|O7q;9^KOvt<$lu__ubOMVwqcAli02luZgn?B2;m-8z_^{3Uw291`UgM| z$A|{tJ!3dgNn3!^6Z+0FB?7F`NWiarNP?}gDVP+x0=Ldae>hEICN{GoNA8b1oKkJA zq6sA3im`TXzWLsdC99LMmZ&Al?$3mns_l@|(?0sc%lZMGFc>^|%VapPKR_aZZS`5J zC;2aK{QJFbDKi5<0sEaX0hev!<)A97Y!KUol=3P#zJo zW-NA`wZy9Ee#uJ{Oi9?P(TxeLj1a1#?@1(irq>t);Y@#!wn?AeFmc2~{bN(0-*;%`Q&2O0&GtmSzn~y}ux#i4Y z0jRDxtY1jMl~tGzP(UD~^^R5ABTL%N*{Z)y`rdoo_Jdc>@pJnk>@DmkDcUi0p8&3E z|3STx5#*?wii+mQ1>N*VRmbRMn`-#Z3oSR;rtgvalU#UikJhi52f4UZyTw9~2D}?^ zE5M8ODGzmp-=9QGhy5XEw%S`Vh2lC?M7|B!gKaEKW{R&4Mpo!u#17Ax&WBRL0711x z?iXXij%ks(iYW1GrV!649G3lQL$6;KemALn*rx3Y@`x=KHJD`wL~Zr^(oBq0lUL|K zu$cU2ycekc)zgQ8|*GIv-P6_Z~rsDBx(mf@2?l^Zi_x;CP?bSYU zF9XiX8N1a~Mt{1rAgBqYf$P|EV#^28UIj=SNM1ca*g$D;@b(-rLwR;{1HElEx%v(D znepn`rGuDdB}*fJbC{TxTCsL1b4AA`ly>8w_XB%RrPshk-Ek=-x$FBq#ruB}_3%-` z)a6rz8>tLPbBQB!GtAQp-ODncf3{O?xq3L4va5E5+O!B{15XWM!Z(Dq*zmNe=tT|Q zy#&8^n2p`d^uWz`Nb|0SqDuxk$qy5C1BCB0GKwHki&V2?%*j&7h^8iA;JA4~H+sD2i^QMj(B;?cBUBf7eub^d6lfJj@z1 zEDN7R_F_~hGOpa))JjtsQL16D;F z@Wu9D!ee3yR1-%0`R`zz^zJ{Bq&QJNcmbmCSwSXV2!>} zYf@>VwT76bUsSWmFldD}7^{?Pau}kgsp`bcZE;Tx6cmr*LwCw_Bzl`}fVl)(wNJ|6 zs8@x&kjAxe=8>_0t3y;>+Eww^8_5ZhPR<0iUr(b(qi?8|^y{q*Fly?(zGe@UkJl(v z+n~n+(q&%46Zh)aObT7xNJG2rRT@VZn)c~<;f(gRXHn_BbKS-#F>9^Va}I|FD-|zi z!0X^}Gz51D;b*Ly|kCuCqJipXWMoTi9KD0og{e@kH9)#;kAt4HG4~zzhW7{8X+`XlMLhSbWYzxy`9oV?@~@75 z=b7p_b(>xzoCigL(l-gem=HtVJT2dlvIcbsGI_T8tCNuU&8$bygz2t>#I@*X1o!oa z>jk&h=kp0v7|Hzvc&R(4)mmQ@{Q_@*V=e}0`S>^G+*N>r5vSs5F-nj7-h`peluc>^ zT`Hx=hXHgQceV33EJ@&Y4o3El5lIY`4H_or>J1;JnY>^IGZR0l!bYa@M|EK#O8Xf=@k zh<1#SFgE3^qEhtC^7R^qa}T#@SBl(g1r8l4lGbt zeoHZS7Z#3NU5J_I`SW$Wgm$efo>o7FD#Tp?8C%s3?ibuESWdx8e*)UUwe~tjVGq3P zYt%a47V?`9+dF`l6ljZlQK9U$uTNwhV89CaKz zCiHq5!cw7t3*_Vr+&gJX0xT*h)EWQK!mHTT$PM?ZNF9Uqf;{?t^a7p|Q;!J=FBR($ zd$*J~M)1-wQyHt%SxsV4m-Hv^6Cad8L$>C{P+5x$$(x@S+SD191bZQOX*rS` zkhCCc=>JBbPV&*-xK1*;>*4PNtN+Q!|25)@(*NF`FsW;A*~l@7Tn6he(Bp81N^6+C0(Yhu{SoKdl=AvtAs<Wq$V#pDgG0vyV+EtUa$NPSZnoSTTD6 z+t-bdO;Y8Atmryrz=uzFTO^1(jq73tGSMj@rukYSi7X+jHF4SzWKaEQ1WMLotN)^y z8y~Tr9(0@N3cB}+lCC~+w#LHn-6XkG(OYtj;r3?KM}-qjsRGv7 zQP-OzF3g_$>5MbX%cSJkj5-lx4+*9c zYo(4{&C6b0-*<>N#>49HQDbWz=mGbT=_angK(Hg<9M_nr)kM_EI~uLdmmSe=913BW z@MpP__MoLCZ%xj*DHTgh0j?1p>Wj0efs)^&CS{R5HK4{hiBVeIy@d!3Nx@)eA`;V< z!;&*re~z*uUJ+bs=~Hu5Rf^O0A&2E5gjW&uBX!omX2hDpd(kr~iKug?-P@8HoGte; z^|vz~D-&=TIJ89-#N>Bor)7F)4p60PJ1nR%VKB7wxl8+ontH|7^@Ze$*A`yOCkODM*5m~* za)qOxa_854RRX9r_RfM5YwZp!tbQB5<2y={*+e)6SK&yDR-Os8G=XQMrUBN>KFu!F zc714QCbp*Vp;dc!E(DGx-hY-8t+7J8*L3U(v%}2nQ7UT&cWj*u-ee|++v>Bx5=4ov zaES?QlS?H$=m{YTt>E+%g6DBQgFLMm?o`bYNhyXQZ8yz9 zz=h&oo6-G-ad!e*N<|xB+ruWs;jcpvyZ$jCIF41bMu!o3gRXT4F?Gp>ena(h93cRd z4kkVl&Ljcf|AgxIpn2H6U{I7BlSC|WJ4}B0kXsN7_|^`NY}pV3%ql@8R4v(FZe^z-&;-9N4?1X@!1QV3fw1`I>cG|)HYbvOsB7EU8@9YG z=v^|&>*E?KncAXxc3DBVfS{uJSb0Q3t_CDV1F!&h`DW2vl?02&Zy78B2Jq9{f`ntL#*HRnQo3l7_Iv&l4b=LEAsU&>JNa!`StDL#aTb%cn~Ye>`+5JJ)*hQX1?T7X$7z58+akl2+h z&t)|fYDfsw@86fH;h@MSnYzO=3gY1r(>Bj}#B2H~3aYylv+69}!+G(nz3POA*w|mc zpt52vCMK??Zb^r1!bX+EuAoUc>N{ww)nKd_iKAyck&dnCcbqEjSnIZleQE#0@ zGl5d^Kv55(9Xilz`e$72cQ&*9PpNSFBzTp5^%~MeIa1k7?x^cst`Cx!lxWPoL#R6` z6r~a6gL>wR>%cixxnmE4FMI=VBzIeu;NVf1getr?@0=6{p4GK1XwN}BB|dMb@{g=8 z1IiAabwT~tvAz42QK*BtF8&H*5(PaXs4s|{hySou0+&ra-|(APO7gu~g603&hW;!2 zvHsR>{hqn~)@~gy1tB60s29frB(k3YTmgh~n)!)#Pb|hSN%$*R$U&SU8UgHh>Avq# z(j_F`ioF5XNRrXf&Fv5x#TmB8oe~O9djhf|1B}q?;|YVRdv{4jL+Ymw(nOWX%g6|{ z%r@%^KG(VrXw{A^B>zH5uVe*7ghMZ_h}ul=84f_%0+y3X$P%iz>B1-XUWgwZqEwTW z5r52!RexZFibwUW&K(0p&-jirsM81}Vi$ceC1@zzFOYtkoWbgi5adp>WaeU({u>Vf zv@5|%%}3#pA!M3EZs;oa-$ysi$hw`49x#wgcCx>GYE{;VY})XX9r01X(N9J6#l}qQ zv%Vf{s@GDLjJlibt{xi2nm`iOjuA^Z*#EfD<5|3(OK2QjVeXtx6C5#?NO-;EOYC|H z*-i^q09g#PEg#|P#ZRn%W^=2bAy0-lt?s&m+NsVj|6JE2PTDt#>e0oqUdEvMW0nIC ztJrM9z&jThKpdaiaWD^=CxVu@V+On$0^T@iD^kvL5dj#lWRlCRA;{8;7!()=r6E7B zK%k`3R9$H-50(+SwpC&PtnrhUl{}_4GsdH!`GJ!KYyvMaa?kv1u$M6W>67PwOYkTm>nZEpuReSp%^~J z96w|g%ybSki;-`(gSvYUbthm^$q}$@0_G+g zxJ_K=9a}*41^Ifnf|^*KHB+dCnN2PhAS#MH%+wrAQFYw%^)8_tQ>2oPmE%_0dL8G- zub5$umZ;EE`!>LBicSi1vSze70hjU)aq5vB%;TQ#9KCJ)$0D_4 z{JoPh*%RPoj>iVn(7<*K(+*8gn)*BF53}=G?}x>a%f1|JH~;#_|9QgwJH`HQOo-aS z*wNO?#n|D0kYoGmPGjx9PwF$@_|xC9t^eWD|0?$MtzT;Ut<>9bqzcY%%||^Xo`yQ0 z;298=6h-V!S8Go6v;c1VXPfAp|ZoC!m%BsotG+X$7oZ){~VB;*4|I=k|_<+s?8tb#rwkQv$j# zNdtIPu-DBZp)v^OqorrA9u|@_-IF{Msq@4FQEBo>{^O2Mj6fqt1F6-Mp_d>i1Qe| zZP|9JtAw1J-j3M#PE$5bQetUa|_Ox8OaL&01zUDehsP(u=7&$nDP{xo*e1Qi<43bY;ZG%T|Dm>Q9>U>~J-bKFb~zJgP~d^vY66 z?gU^SxLc*WI1`etuOzobbY=CGFI`gI=#T&Ge9Q3y^^Y;4Qyt$R;CpOa75eXIkN&}| z|D|(zrpkrG?kK_suk6eX37VLZe@Dwm$EE`!Mo$1=?2@}aQ3>%7% zjKy)jE ztFo6ezkp)frXRB5x>Hb}TtABY&?Q+E=2WQ5q~K*0<nG;MrJIw(;@y-G8kTn#L7}4v)MTW z=ZM$eJK_t>np9dBUbY|g-M#FfjjEbCZNqxKwJfXZbs;;ke@0-`1FQipRYW&sx?p{BIK7aH21_d#_fE~PUTBiEZlD<~tDes*fEOY-B39@349+?I z_-r6}P__}WxepXg7%+{)R0y`L8iM^e()}vb&j%db4P4!VPWmEt2+$&+ZO~YWuDjLb zB=E_g*AAukMH+gK;`4^QB_Yb1X@{_pDTQ?zdooi~v9tadZa*=VQ`lDHOrcEDmuRl6 zs*tyPrJkT}Px{J`fiv8xXEB34XDZI&?vAKcBF^2KC1v;?Q++hYS7{$DM{-{0>jYXt zhlhF?F!-i)7|2+;>xZ*V?@1YFnJmn@*Gyvdh0wZiwF!Mv@xP*S5y;9znqJ!75FGv9X>WQ4Dxhm zY1bl@BCq_uyhsoqZKrYr`z+Qa z@JO1DLw+b;fuhEf%7jS3n?RCtTbDReuau2InsmrW5k4$=8iGzwb{;=ljtX60>%mMB zSBORiBWEh&`1bjf_du-vauKD(cd@94Z4ih49**UlUHev9-5|oER}+1gvy|!>F1u zgB!|jxX)q&ju-R!?Xa{$CoKRIm$fbP-kgwHsh^>)H)QihmK|oZBNNaiV~7*j-044% zCj?>w*wWMmLT-SslV#MTu))s<^`i_*8s+O!BDNzYc5P67ei_4q66#Hq-`Ky%Nk7rg zxa^XrDe~$}@AO^BPCrIMWb*_)Af*JM$J7Gy)+`-0%UG`8}PB;2{`IZG<%C=a`L0F za3G+%n~R2B*Oq)AiwUwuc_TX}!qZq}Z(A*=L_QaZsi*T-_}~{ud5!TBmh2PbU7z;j ze-NV(*7K=P|Ar@2zh5fD-<)Os`3e84&{nXDrYa^q{3q>OM*h#m(l;jYN{-Z)o{%Die*MNOR%qDZFHolvC@dF!4! z%yGlXblWRKRu&9u2Hn3U(^sC%Y;AdUVV|&i$9<`7n$wIE8koDk1#;-_T#B6HvKgN=zQQu3lyfx zb$-g-1{VXba&HhwC+s$})& zw^%Wh6`*|9YOMUb2E3{+{8jdTzx_MwP&??VJPCZWK z^eIRmT1Q=$9&owibvx_a8Nj`iE^PCVx1UwtrnZHC?=(PA1u1OhICl~I42PcK{!s3xmYi&(2g6@`MN94SSf7{Cq1y*7hcYlRSJxKKWj=TQI4s#-@E&+ z^~X&;4xspnQo@=7h`4@=Zvum=$kWG|o=;%FNXb4^!W66FacgF>==?a$(k=%ZyP#ig zTr)YwmgBKptgz@_1YEHb!i&xEHOe{uGP}*q$aP{|e@pK1B7o(Mlwky zNtI%y+tNRB7%J{fs27K2U;{}ZEZJC>AAS9XaTT-vdm>Rfuk(eIEDYR`){^O|276LW zyb2s-VkZdq)~XAhohF^p%11$)E;vkTZYWskP#mNK+J`I6f#ECU9DTa-(w}uX8rCK9 z7rcC8*=0K=wU#Cln%%)y%pd7;n~ouxn$2+89#aWphZvzt6QXZcH?pQ>zZ+?^v3ukK zfM91M6iZqTH?CQKzTTnz<8j60rTY2xJIF47Bi&s8av1m?EY-IXvvqWmbr7<();G5i zcl_`40hM~9=e{T6k0?VNmg})vGMbbGz=>208o>J@ax2bcG|+}%A5$+&PrDfHXA2ix zghvSCvQ0O~(lI>YfdufYP+&+_KD?qL`T-@aZ+^Kldw7iA)VO2`00f4DLA%-@z`#N- z_u`rV-2CwpR*fZ7dt;W^18yS-b%JOXT{McJ4^G+r zLbJdqYKC4B7+m(JF*eNN1j5aJT&J5$K_Kq~r+}S!!xGBG5}cQ3w3G$iruD&!CD1vZ zK}P&8eD3lil*k?Hw#TFn0hOFgJzuWU;AyHxKLM5w_fED6WH@0?#j`oZM|@jhQc-ds zmoEC%;8RgbY24>`f&wOP+Gk0;FdE119bOBa&cc1>G<)7UX=b+n-}igu;u%^@9L*SDy(k@IOJfiC z@DE*{VKa1WjaS}P-U8smR4QijDd3f?!(+cm!WrS+b1VcGdvF%lfVgsNl?0pNB_z*# z?@4XLDx=iJ&EwcVBRThw%|9I!>P)LW84<@c^$|)%QUYPxISgikmx;S4DZHcoBlnEb z*ktvtkWdU+TDR#xw%ta*@D$F+gscIBFTEAc&;&b}-2N}QlD~?b`?h4C+wbRr{S6zi z|I0q;YHVz2r0=evZ)0lw?R@`Tvnf+aTJf8}@;_Y zCq6?~k#_3ZF*;RRT2P(NYT;5ql3=b_RT#)@o$q6&Y@#Vn&^+PNCf!o_8xk-_))s!d z8$P;7B>P9kF>$xT&<{#!f_W&v;OHNDQ$O{0{Dtyp<*%!Bp<~eR(yBNBnprtO#KOTP zjXcT4w~6yB^wls2#pyziwWa_LUjerRz6LhIgl{I7uRAA~Ii1*>vPVzGgq+c2HgMf= zH#77g+&1pWMrz%9*7;>an)aP0iiApBr^AaTQ?a*rIpw2S9j|KWI)Z;5*F6;$HsWP`cA!0q z4J*{nlHO%$N29>+Hwh{sc5^^8sEDfvn+G%iygvfO6cv+shITlq9_boulGE>JLR(w@ z3A!AeCAg52+yMfD8I^{mE<)Sm9KjY|+KRI@WR(K7_5Kt8lrZo+y|!a-nwutMUm@4>OKChT_K&NF$H{Ljktl?x}ELMf(3 z*|8&90h~O?sOTPO4;Pv^EK~h4wzfLF{4z9S z9ET9RQ?aLv>L2&Zf@`|X5=!!ki6VHgNd9$c4|@bcXHSv~W0vT6PhSdG!t{jiw|wwT z%i=aCMib1X@L(=cP@X|8YC%u6A zrLfOxGL(t$kCIH@GvAVJTto|!x=tF7r5D*ygT7uZHsyv|3p;IkV(K$pRCS{cH{+eV zUc!siG_HabcY|$lW4ard->ylapLLv-7dPTT69R#ErSxc9s)sP<_$suy>w`a#aso3g z$4SUPdi3Iy@tb%q{>K!>B+~> z9`EK7I-aC13apHp9KcG`K}jS6A;hZ^Nt*y%-5M# zeC>G`)NN)j*5P#h=ktwn=eHXzF-Wnm)gSmS59L>~MBm)SZj$p&_l7q2jraDCv&t$o zzzZ!a^i1129Sy62p{;3VG|Eb{SX<)q#$InCrFJNHS!<2`Xpee^QbC->-GFI?#(Zgx z`P`mjU0K+1R@8NsROHsZKoT*gGfV8X#i=ZuoKQ1Dd~Bg<0+=8VwSa==L~$>)?F-Hf z!Cx#TSCpFLnU$Sjvp#JjdS!`yd)+e=xTj(r;muDX8L8n(Zu>>`!t2Y3 zq#t|48&M|1_YUxqUq3V?e_S_oIxZ#pYyo_2^K2&^t9Perf_zoqKtcP#(z{lgZ(|E0{G4c=73z`4d|r(`S<%b z{P0il1oYG#)&TJRj=H%E3={FI2T4d_T09$Md>YUsnqE~Mwx&KwTFl(*^*z>ek8|&``L(C6r?-Chd>wOJ<{!MKv|-9L8^ghEjpJiipMcpld%a z+EL+{v7(M}Eg}$_YIf!n$iHF1dnmO!67;Mi>k-?#&#?_MtTdw^Fz*U)LC@;LA45!F zoj$0XpncgF8;G=y3X?>WM2epMQgs|CG*}7}wiPdQ6ZyqbEpaZXEVy%p3d7kxA(V&Y zmCTN|^Bl_Zz=Qy!!pA=$l`5*qW1`&u8x=K$vht{e8LgRVAQOQI(ke3VMct?1mA54p zLXyX!L=6=Y>a6`DMI4@VxiWsL%1<#WukHE}+$moL;8eL1qn>k!RFU(GWtAbd2CfUZ z0)6J6c)#Lb>al(9pZ|q3;XSeY^9G?<$HZyDl|0-jx_VTD2K{=x$#_Tp7|oejC`><; zg7frdS@$sT{D879jZzhBLt}9K((R$M_z)5J$5@B&*$5vt4w6(uFJ^L)iO-hf2X4fE zV|l){Y!E#yd)2}IaGBM63l#j@%ahYv z!d+W~uhBx?Gl#VS?Y4q*5~xO(vMy6;4uz%*TG@;k9!^?)Ij3LcI92`H*z+6kq3F1O zLoMgj3wu=nm8u%xbp4-}PyKhEWDgQ68>!ps}jIRnC4;QV5WtiUi zoA3-9Yx0GnJV&HseVSyUsDg7O%ZHZ>D(Pxi2)qMQ1`mFY$7Pbl52VZ%s=HB7mW;2W z41S1YHj;t377LuGU-M8%a-y2&`pijP6xxM@%KIyYkWyZ{gxU@nc5zc(Q9VnLU5&nM;@C#Er@6mp&Q8Gww3*9B4Bg z6G|dI1a+`^yuaXCGP|mpaoy$|{z{O*w=RI)%H)Y{DjF}wwsz;kd_#GIW8pk{^kG5P z6E`h=VgP1FYF`j1v^B^qNt_Uo+C*G-jk93(In`{sTNc>IzsZlcNEa%(^32|+Jdi^> zhc9N>ieq#TNURl)cS`KD&1&RGog6l04y#7D>`fP2as<74)l8Fe_SeyFfuH_D5=8@0 zX?a8i_18&`Ix01xv4h>%MvT(=3@1(4HDd;7j0RX11K!U8cFOW{83bB%lyaORqkd+j zIKm8QCXm`l-?5pMDJBq;EKbUrSlEdS=+Ex3+{T7l5HGySRptxHhPjYjw zzxli#Y_cM~2vyN57#`~)U>vmK$HWa(%$KfUp9ER(&l{CAh(#4;PtMhDAoFh&9lyp0AREcYT8WskWfr-5o(B-r(9EG2~ z*@_DrhOdzy5>CHU5%ro~=iG_%VaeIy1{o_l1kbN6G2A_Ba_k&v8zSoSOY z;ocXbjMwM~VJWSqihB;SI}?gGV$20_KX)0~@>BA${vLdl%>wRv+wOq6qzH-btp*9Dqmg2CRsaKIv9v zR#Yet`kwA_pGx1xnqW2Tw+C4~-E2WoymX1p?cCzN%{se^oPbv|pSK$Iqw;5GGitXY zD(!`%+WT1=trr8l)77UWFR#|dehF$OA7FTE@MDn&bEJ>-yb-O|Lu6OLbI(*N;vA|* z6DWoygl_B9S6oJk$?C4KmY|m<%dzZ= zLJFG!I?JDTJREnow6(eRSF_?F3W35I2tsfJ=D^;LEXE?h=!LfV|BfiWFyI9c0b*5arAP>lQHJ5dS5nVt21Kv@>&uk` zZtmO{gygJ8J?^Kxt6S9a;$rXVnYOj0g%Ya$2PwBpOHeGB$>lN%os2`8kt&1*p8}Z@ z92t>ENq$Iob|w19aLG0ud<5mrxNw?%wTxbqW?tXV>BOKpG@Mr}N($!&yB5ulGQkDo z@wN~=+|0ma!M%`doDA&v9ib^k6HD$U7pUHPLp>Zpa3fzpmk20qv<(lP5%9^PQ}Dw| z4~Bpn3d07#EKFCc3RZZuL%DMLh;&=bGi7z;iZ^ z&1+V>!;*KzOiXtCDm@++qnAazJVRo}15PWcCVDFp?Oug+Ss4%!z~_Gl&EX5uGf)79 zwi#e5`SWItqnVY_|CWdTT_NmLk^k#)0Pn||?`{IbM*c+W(n~9>OO@2kAh2AGC-VRs z;1_i`5(R>?!f!i(2`7>9c$yMH-$`-Z_{Ysn7nhEL;iUZBM#DOMdQtM>VPcM8YIS*W zs?lFCJcPT!ryi26h+M+95(ddk>AuF`4~d`i!)M)H#5jq*G>y^3dJ~JJDT0UXh+!*{ zUHY8>8GRL$AfYTRMuw>ug_M&lr&#X!UMC`v=_g*56<9=>B-*SzBro2lx{&eJ%R@I`wur(P*6$N^YT_W<2pgC0=!7|i zqX}j#j-6OY+>dSgnxT+MNKAHu0rNNFU%p8Wj*kx0eVmk$e)ELhH6W=XqU635rzf51 z(?lg)G5Lg63zi>~8t5BVzW$_{RZQ@KSo^84w_qa(wDnUQBp={0{{6l2d?uUo+{T7#}tF3~G6E;q0!04I! zthhjUm|sT07|z~fc^xg@siU$Qn4R455&Yt`6CSVp8KH9F+{W7CF6_LR2?yD1w!49@ zePKH-9((ldKP7ZHNbN=yw#DP(d!rGR1ln9*8{Y38CJ%9aH67!4lM0WQ?EHBQ*fttv z#r^)AR4x^##EA!a4dg;nbKKFTi{ry6NsVt|{9I6$h=@qsGmRG~urJw*Ojk&9h7{t5 z?yfy2cR*82$TY$GMF|`M{s7XMN^1m-3bV5owJ4;7B`Qv5NO%NxG2$X zS?!z@U8iM><}{ThW}Dv1E%Z63W(!+8$Y#8Q-oYP~PCG37q;Uz~aXl1)!x`MC_=kqa zj2$skbRBpSnLG}Z8HK_^Jdfe&H7(d7d^_^T^1>OjbZyv=K)BOH@3&Z#EiKOoW zPp>!AMhnlE7QzZu#1pq!Ln05z5yPy_zF1rJa~{<9aea^-^q-6wtuXh1fXU`O6WA~4kclLzqoK@=35`1244zEy~i(Opdupct= zn;>&rX=Vc)+wX~969$x9X#msV`{Q!^-! zDdb7}VcSIJNsLq9rK&#SAI%6N_ApSC(u zC;=U=3Ef>kZ2>t_+aS3(6KXjBPc+o`zTAZBJ|$8*1xiJI4>#%%`)w*1SY3n~{;XJe zG$eAgxWYVeCs>srC6cu|g2xV~HCbXBpq^{ciWc{GmmOMkyUY@1@k0E=&8m;7BpBXI zTh=YDB0m)tQl*%Fz>%C&ea1d*X*=R&weVa{qAEj?pZYZLJ_vl$ zaSw|3K_|E>w7;zHf3s0|kyRaJ0&d9);P>a+%ioabKb@KKR2_mp0}@~mt>l-ekuP2p z;}inK12BwMk%ZZ(w#8SdE9Fvw<8S@{EHgu}A?oH^oy4pyzvcjMF^EDj# z`Zb2L35YF2{?OiAd(AkdxnOJb+jn?@X!(MZXYd#x6SDVP%J>LHdJ+YQP(n!m^IYnG z!`7`0ja>hMt0$@cFRq@gWA{)i34@FE#zt}7%wkoG?j}6vg$)77cw$js%t;Pb9NxBF z3MnM(69<_6SJ1Dr+ljC6`S6qC{gsHK7LV^uMZhME&A!>@@y&u$GJ`8#FB(wozIn`C z?QXdP@q72=8`ep3g7P0p0Id`Eq~w;PE)riv+8j$ApvjI!LR@EfgM6~oOH`687~xsV z!r#@INK=vvxBLmLh;*OBgtqW`H$YylhRjg{3+;>DY?C>y>DlPb%_rRcVW!CiiLsrZ z=Nm;d!dmGIzF%g!`;r%WE|gEXf7$NAi3ujaC*-)wDEt)ZI@wA^0M?pAn?!&tn`jqs zQM$E!aK@XeKgb@VKTj`j@vKrGzG3V4eBV*fPI#T%@i@fGrJ}x##q*t8X(nL8Pxval z9V#qq)KdhWYSV>kB0*H@iBf8`1`->Svpk3eCHz`lP^tQU)(bb?+Xc>|_vOUw4=XtU_^#HOQJchC-}0%VX;TRvRZ z7EYI*)b%7x*$|_M%uGQkuQz=t0jK3v)TYcjyR}t7M#vS53inP>{PSl~60FE_S$nXJ zN*u&-(RJ92)oLmb&i=-3(-Iy|`#^Nq@B(iseQvV896fA<)U;T|l}q!shLFfInK(0a zSgJlHmCune#yoHMRNod4Jc=}4_rOQ|o}bDD)4uNDSSOLtxb0ZT;j#$Qe`nz4&^d6x z6Q6B@S(mSRLM_LG4of_Vf7-NJ-~6s4Yw886negJh*4HxF1!El@yNfHfgVu)A=Rbgd zPD8h6qn+K}qwG-)8p@L4wrlAumMM#1eY`U(%c9xr z@e<|-Riusk_&V%fR7L&JA+Du0-Kn>ztMFbjKT*_f##TNgGXJ7I8Pd32FxyN)6t?!iFwq3WO~?ls0LxUWM6}-`YgfE)wQe;63<2 z0J0afs&LnQ1U-piB205ftkP#eq|>A4m3NF(Aq6i8(VShJ;tzEwI?t=j6m^hDi{5~@ zj1sss0gvfUU8v4e*34d>!OqmS>I#kiKs=sh&=}<#2aDr%OoJn?)ELfqx?m%Nv+gUU zw-(~aJtWv61o~1r9G{v^I}LNbK}IwGN^un;lqci4GkDWdc1-rwI;LUHFAqq){<`Ih z3exgy^PRO6@-eTX4?oowwPEOIt%T)a1y8ycY!t|`(8J4q3`o^4Kpwjl!+BNn6zC1z zT>etm?_4TWjzTGx*PIAe(Q7%!2FG?vI-_n*nu&ZCa+(=V#&y~^-JTm8DUHh#X2UDO zd`LQsl`ViR;1yYI!JqM-tqneZY2N>~kQC;%F1jXyC%Dq$$V6u@)!n77SuNrrRAW)4 z>5g%qq5R>G<7z$t-}ar&$LZRte?184O6u@MsIJ_>g5RqoQjq`BcBmS<-iNxzd>>uD zYDYUIZ^L-SjMd@%^4cO_&aJNll*c8vf}xrf3L~%hJRFGo@D1~LCUC~m>vKe74^Cs- z7)po@r3qT#2%)1_!*%ECgg9oQVWy?__-M%T4gE>{0FG;JjA2qfCJ%5}%EJalRO^(JHc6-6d>*iV|H*+Oq07Rt!X$=TA~&A37YlA>H?QlA0A zFJ&SR;{rBFTl?Yccmo~8$N4opJ&#nh4M_azXm1bj_@UCu;wOh(qZC9E#fnuEXH*`p zXad53?KG>sfsVbGa3jX%J-w9`y&7US0b&bfcPOrW?RXK@!q?3wA<5Vn*a9!Sh!xV{ zDGOGQBck1KG3%V#z6!&!S+$p;3uQrS@4DXY!T>7%v!tF@ua{chx-_t4{&E2E>*L~j zTh}@i&7GX9Xvb92^Ws8w@>v2z7Ue0=UyN8H0cMQg0u^V_BUVN%# z*L@6D?s)$V=20wSE~`5Vmphh~JLHsH3PdI2;TSGj%NO!%J*NI!2j z>SL{Bi@+AUWELpnOJWN1CVjS(h}I=kF~90+COb~^K5i6jXo8(ZmTL2jJ8$%u4?b#f zurNR#vi0>Xq6ONpo}*shf>fzCp=e|wcrl(Kt87%hp(izv(nzWm2=!+b-%Vr9U<$bw za1T3cxfk*>9CyegeF##VeJ_`9sr8jLyTL}i)axB8gs4hxN5wCJwt*PF9tecy7^oK^ zkiO!iiQIyT5V>L3k|2yxYtOy`KU*4C5f7Uj*+>KJtm==3UsQp~dENs-DQ&G_??GM$ znkJh3a!WL9_Mt<0Y2U)=p0oX7lMW@u>Twe9&r*S16-#pU@U(ENa{bcNt6 z=k;d|B+&`B`V#a={hR89kQN%$H76GxRC3O;0VuJ~$>@gjbzyNu))knbg=vH+ZU)cO zM(D$FRqDo;wj1QT_|pi(8VSjI1%Xo5G`J2F`v<=j%-4$`!DQ9>+T{7L6T|pkFmFsh z^vp}vya?ag*(J)ZL73!Oou6Pd8ns>3pKvtgEulU(?D|`-U$f{^H9i}V%tUdC`6ZuY zs(RDelw&4YzPu`1glWaaCYZ6^%d8lY^nWI)_npgN4T4{0Dc9(eiGbLO*~T{oIo~)W zm)7V)yA??H%!KEj_3PKcRHEXBN|c_fHBaoEeNMR|$|G&(Xm24~!00vGNuH45&dL<6d1W zA$7dR^I?)yL`6yUA$5?S+PPGShnfrwKD-#yme4_4GhMqjGS3jRDrA<+2|xT!(GUm-s#h7h)yU% znF|v+ES7GV&?3hv;r|F&Y8`J>vi24|BYAuOjnQWmW~{0J*!(o0Z~5l}x}l!qe+ah! z#0iU3)@1$z&eoVL_~@ROsOB>O_np9+AT`HWk^xKcbZrp2_aJ` ze2%Z|WHy;~AJ};?1>3&zMwj}TQzuU;2vI?3QI2!@sMx*6mY847kg-padJR%w zl#}NqFLbq+S(=NLSW%E4@Q&!$bk!o3CSyw`kP|u^yINcGKGX7}aRdPt64qxtxZ)wR zbLl3Hfxs;qq3=%25iUaD3JH4S(2@%t<~}nHE)(}X8+BN|VAV=494Iy#eN?#+IC|RO zC(bN!vw-r%7|~@AMiUCyf_C`=k+rw4)9-yrFp8X7-C=&^J_@KfqPiQ09fyyT@nXfO zzFbue9&5hg_~p(8iE+7{wj9s2<94AW4a$G3X1K0(Viv!U)qFc4cubVWOyqI@F5;UY z&4M0r7dSCs4_<=4`TVs$E24lt%M6K5TdhL}%07;}Uu?vgvahvvB+=@K8U7LZ%I-lU&lEwyzy-+haafD4%{1Pmu#^3 z%F*sm?YFk@Y#)mF=BZ%D+K8fBQl(qa`Mi}Q_lU0Z2WY}T`hX1p8$V?~O&E{hY}OKup~LG5zy#gWqHN&n`#psL5zRgE4S> z(4+$QJ8KD{$Yy!&EiqvgQb;&_sQ}6XDhI)qSAwr(FQkQ~4|CVNGHWwa`X1qYH5X<0 ziR}8of>9CqX}Js=mzsY4;hg1SU+U7QO-sseim33G4S1gG8d5l9+Dm@+^>ouml2@Bw zgnE*GRiaWkc|7$??Xc;CQzTpWVqH@+iD$W{*&*y_f>6r(nGGAtqGhn#tZzV7?pgW8xBYHzRZ;M2WqlULQkIr3rxT8ctxv+T`DDVOe@$@_ulEwz9SY)WZF)6cpAlxO%zDp8- z%2ptmkJm2IiS>^l+M<$n#oxe=43a07isZB8;e>>saRfq>m665966`fOqH9Pb4P7%_ z7jZ9{H{nz8=4dS=;`c}u^~X;z$B%;Sj_TwG?xOB}dAWr?B_q<^xbPEG$Hhg-#L^+o z6M@Po>otl5hycE`KV%)_;gk{wJPYtdfEHgVtNoem`e(>IR^Y-X>R*Wk3@ZIePwmH| z!Xsn|Sh{HZ3*<>S(5DJ}maizYmhMVkgYOm!eC)s;Gso2}a%{ES=}x_7{H4K<%S*Ui zm$>|c!V?11MG%DcV|_&&fdy3zVX)zPnVkJnG@Z! zQ)~1_Nkju2$O|nVOd=xRb9QfyA;{&3RV{2(Ym~~(p74~1h#E%I4X;M|V!cRSzWhu( zhc$qUjYAiv9nyen#xzPSs=XHx8bJ%K-c@ zeZo|u==BoGrDTYxedUUorgzwUU->0(WBht?+5e;$in&q-0R)rnUK7W(7c_>b+kmK0bd-E8W`+VH{J#BH`k@-LJt`_ z+^*O`?{Y0x(&4VLc#+XE=P20U?M5w zw~%&+pO|Go=@)gp_t{qN^EI6-Fin@tYe9(SoBgtJkLAt=4%PdJ*@OWw*6iJHlQv$z z@*E@pi2@h;|D}KTUp)i=6tKx;9UFitw5K~FhnC`^&}{$YwFFC8Swvo0c^;oAxgH2Q z)X-6X&1L&3(%?rCs#!*}_!pDyr%M-;qY0Ph@fN4L>Xqy8h7$dx211K)rta}_w=K57Fb{nxz>>KA*1Vs56G_n;e*3f{IU(7j9CE#4j8`jo>*A)lb9L~a$ z&3_woV_l*i@ETUsX^THU5DysLu}DP}bKxTBCk}EG(X6iwF>*ghVT6%eF#{?C?FuU= z!E}+Cw}Cb=vpZ|^>0xBNqp`fwv%`c4=l76u@*9zWr$WPT#|z(kQb2Ug#1ACFO8E-M zJXliQ0Ka1*-=TcA7Gh7BSIAMnxn&alcbYb|-Gec?VK~VW#65W0y{wTS2 zNnfT|Zk&wbf!#LX0pZDCvlI^#p+J0@L#rjO5cq^(RM5fRpjvVk0P7q-ZP%-n*|^ps zU&LhakTF5{eWR?oaM`o$nt)1iHtAUv&C6_F`q0(*L%~m{A>Qx-GWTK;N z?J0$lp~BA9s6>*&Ym~1-8gRNo2*Rpk#!#K%^F(`qMf&~Qq{}tkC?QQDindxeVi_j{ z-K@X6MuGo2k>r|cK;dyh_}61h{Dk9Fl8s@6WE+z@L!eb^n)gVKlty;CjSR{nBhxLfa z?uOi0BGO0MBaQ$YzieClA10ny@H>ZauCG?$*p$zTQsU3+4W^*x(UKGLZWzEEz znlsasLHt=~Y~n&kojQN9s^RI8G)DuS|Ju(oyl!&1G@2qq*uo=cn<=4YSTvP`AXCU0 zUxK_^+OI01+Ya<*=T{VAFw2Qtj@V91xol%#uL6i!Rx~k~)m&Av`ZAnoZVue95&w>h z2IvB&KLNfPAwbF#_+y3czw4p@GrA0tm;P(c>5bk2Ut=I(g|{;+kR=fCqK`69V0?2N ziDrEn{=mnjx2a;$4t{XU-ByNMhUbjt;`*8+OS{q9qO=IJ`9!nj;Sj<&AETAJOKVn# z1^{I)*i?uaK$LK8(@tiaF{Q0}b9Wl!(R4C68Q~-%G#}ikxp=q`7wts1c{61?9)d9) zv0hiVE(%nr6R`Jj*6yO-4oKxHaL(b;`+{Q#^kT)jNn9?(uE0_t0YB|o+Se4=fL9V- zK+t_W;*rupoo>H)rpt&uV(R0@ft-lgY#{qbS_*WPq8a|$VlN*?cHaf|3Dw;axV#sc zx&xcW-Md@FzRiUZ-|Hur_j(5m_T%0o@*D?N>DC1Cb^j(aA-)d>qymaH5a2leADkoq zDSrI(0Te|7Mm-r&0Ygj~I=VAqGBruQdIWy694vC5Kxt1ZxG+E32fw@lZ`roer?f+E zL>|qmkFY_N*fGTl)&!U};(fK(6VP>e$TG`>t$Se-cJ?KaSamtELBfoNQklNu8&anq zHw_Udppbkm^AGMox}l=4BW)XB)T|?SQW=R4J%AC^msTY6q(tG` z^;;a4e`!*h0%DK~_$2>-fR_ItkpEscc2XGs>jmWwfDm*-DmWs@>mSQ8gEIrOph?Ow z3gM5;eG6JD_ud(eQXbySskWN6dUNhBTmijSO2oQL;<}kb!AeumfplMNC_UyW>R468 zN>>%5p;@4iNwZS~;pl$}$m0VA(_-REiXgP^dqGd$$OY zR_RJ8Hx&i<)NNyke6wVfpB zk#kT{rBNtafIvJP30AFE5Uo?7(sd4O(0M;iDap4Tr3C%LTJ-Me?YmkHbLEZ1c?c+D zA@TVOC})TF`HUNS32mOsULM|7%ghj%epj|?fB+Nt@Uf9-^6-!psv)-1j1WW>q6#dF zZ~*DOb&W9rlZ_a_z+B$A~3v)NZa|2@Rx>Z(|xfbf0?T%JD<@qf{(|0%>t z@%*xY5Dz|jhbtDdh41mw_%6UF6R`#3pOCWM@~>i0DlcBioU zunCNvlCugkh{!%&!rC2`Hun>RHj-soijShBq8Mx0po!4d2ZjPRpVGH`N8IKZ4_NYH zK9L(fkH>dlZhyp_={X=p+)0Osi_YhzXV!yE$deVcF1tL-ygJ)01Hrh}Xd6L?zc~Hu zXAi?p+&!rmHH4oO#X~IgPH5}qD1)+gR-c49yJIVjGtp~32k-E}e zjY=6$t86T3oC?X`L0JQXsf}bs0$BRZC4Np?lhxDi{K%wxrOp7XnFI&tXtw_h9Veq{ zMItDs5I+9x(=RI)bs55Hs(po)>S2x`UO1<#YjhgUK*rI6R)z#m9X?^;knhSJv(Nol zIXI1$yIe8YRV)5t^ak~DhbsJ2+wQ5)+rd-yG8 zE=dZI0xMsD6%m7LNaQvq7ki8C)VnQH{RQ%ScEJf#&&fE{3qMc;2~pB>{C=nhcIw=c z{w!oQeNW+=62CTZG|L-)99=2~4b`hF1rE>mO$t#dnM7Dl_r$MSR_$4n4=}QdRI;I$ z&FE8KHPM`MZhHES^=+T83Y`Oh^BREl{dwczzb;Pt_w^=AMKfle1J(Pgh64s!T9i=T zS#TW8Nu5L#3VH>mQ5H&?cU0nxurA=DQ4#*_%Hy2F%zZci!gTHMmsZ!+#zyWU)EY&0 z#?F)BB&wE91N;vNvgwHH;o6*0Tjbsr8@Xm8cCB!klOl~F+sTFcDtS!2ex6`b z7^MmEx$YdGP6!m0k)c2fl_qhM+?hs6Uk?bnMm-`i^*-Ehu6ht4>e>Xl~Y7p>^^2haDM;cbq{B1h5Y+^Y{! zV`rjNcQ8_-p;L`#y-)J2Iv{zR|l418+vMAGL!p-=tbAkq$4U2OV4=-VI{$G%F*`9FvQ|tLy5s z$`gtjB<KHQBv|Cbtu1Ng(-APTz9}$%Ac{s@o;eY zX2P86JkK39MezA(0Xx&Kl{-#XgkQ~)#A5cx8`@RCCB4{FwyaCjnw?V`e2J<{RQsJN zHyu}7#EBhuW-wMvzqMz(^y}tq3#PJ3qoZj>31TT`)z}T5b~ft8HlmFQan!yFIjhBg zwLr)Kn#aNTj-7pg%;F5lEPqbR|4&QvKk~|7d;b6WIl00D0Ru)_fPnt>r%1(07Kan* zJzIw{<;4~{9GOLRwK8M0K6ZIGFtc8^)NuuU;HSQZ@GEO&|eNI7ZOxSlwR`W=#`bY2Bb8n`{Gd z@fE*@3%z?04ZA8{9L}cY!c~U_g`y5Vk1_s0G77&$ke^L1cFd}r{V7o1aSKk0dDB5< znS=jyajwbov%$@`|0>^_3P#!V0g^HOtR1uD&D(P^SQJyfKv=j)4%KopxVI1_kD`;w z6<3&W92uTUY)KhBYPP5{HMaDU!$&VbkF-*gxF(g9tpDEI!2z@-IR}O-NGi{GWwh-T zA9nUfj)+-`d28rN}BDR$v6<5M@1k z(`jwqSp<(oAKN*;d4tkz)Hu{2G4M-(9RJvLPPs#Tfa~xOR}Eb(P>`eZ+p@=uA?bP);jMQXqiG38I<>R)tPzTmfkFf z&c_s;&dDADtAQUw@1nB?D5jpKV^s*@U~?Oc@ze8*J#_%(RG|Xgmq?X=wKpxTJI_lZ zI#B$pRb5PirXt_*t*zvsomDq@r0hGa@CV#nC?o1St?&xyfH|L0YNZka(X70|nK>3)m#~I^-hMt%M5X=}U+mu*#W&+<=fg`HH z#Qa-2F6|~EV7bBKVO?E*LX@89Ioe5ld;qsO-@kl1Ztgv5fX!V8&LQ&wm6-3M$Wuo? znwwvNf*lh}qiRy0DqXS6Ds#zg1U0w8PK*2a_N+uUBqA|F)+4qi|L9@Mob4p}vNkM6KcUz-R+A89@FT?De5eT^eM_kvz$CfaG2n&kBH22>C8>QMNxu<02_ zom~mzQd59G09Z>}hFmySYcPG-A*ws5YM>A`X)s|)m^#P+-M^dZTh;C{iupA+z-ba~ zFw3GeayA}Qqw?~mxn3i3hw^tMs3BExj|M=227ufB=jOuy0^k2V3`tV#{Y%9ItP_K> z@kL>ey`=Pa!g0q^u@tY_RSTklM$RIIy1hy;ESYRWSoe$qb%*L-FFIfm-ci#k zT=l3}%6&CjyLF@=GLa}gqp0Jff?Hg+pavnEAydFVofTW-vce^;$F}hqAAg6jP|>v7 z<&umN4+Fj-Lt=F$Igk*6l?%Das)!h;g4CTfNqts^W#d#IMx<$?w>*`E28dGd;ag_v z2V{3sFn85QlwlN?Ve-O+fb+qO0c^-RkFNpt7x!>upLA%=&_FsYPO`dBtJ^ja(~7lx zIXE~gx>6`NRJtgWld;{CySUiwrC)dO`;OrK`XMb?^Els~l)nLyqjEmqzQviNQ)^HQ z>vTHpyYWZYR30How{@4;8mML!o2~*kmvW~+C=HJum~N(}CyX_?eYrH-o&`fFFtx0_ zwTsZj_fVf909?!)%V_F3y}I%wLN;J$nx=D`OyS(28o$9Aw{$ zdQfrV!ub|rxJX`ctEvh2hUpkH-i}OH9}7#doxDm)xh+teRdWK76|uHAH<=TK93$9x z{JV^d`pV1@1mGgifSUE^>dW7e@IQ4xf)v+f0OK@oDSWa75GZk8>CSfA(8wggNI&`^ zRO)GJQ>sI;KQ>QLf1>Am0bXUD&dfeJ(8TT25*z&n=T5MdZ$$y2|9DdJUE?5cDJu${ z!0|SlzQ2To(zIzn1Mb_GlKI7_dQE!DMpy7UMCXZIM~p(VMjaGn83O|N?<%2Tg<3_( z&tQ$f{X%S|_z>B<8~t!~^m@@8E}4|&1^&=`V4h#LjY;w>bvZ~FF^QwCjQtw~lqp6+ z6DdLM!RsP0+aWBqrH*z8-H}q|DD8*zJ19-|&6lz(gv>^db+Yc&$Ek}bJ*w5Uq?B5a z^+D=H)(Hm&B9la%m?P{H$`6LJAy)@nmO!TKc2(@|2&BQ?T9p(YCbJTkJe;19?VhF) zii4};E!46OsKShOj^>{nyofDg{2M;)K^2E8o-q^7MOAW^t?9>wE~(0pNy%c!go{L{ zh-lDabGk294jaW>pcwhU!BbXjsux{5wRJBczXgW;%=F22pdfh5E^y4FzY(Uox%+Jf z1s^4I+!k=`=zwGYa{~1DPT{{}qEQO}hl#3}#D$*~OG5Pmhe5LpxWQ(%JDbN-$*jmN z`jDITHxiM3AFSKHyK69zf--bW%5eR}+kM5zZW$p$dLvQ+(e#wLQzySR1Go2pZC2LY zJmd;N>v_Glha1@prClF7cf#UNSvjLdYxb)q9OP?Qt+Kx=vJ!9+5pk;k(#Ae1vI8cf z2Z#Oag7_Vh4I9o%f{zvH=Hsxk1o<-eA*m0KTYb_;%U0mH4f?;nYwrFX`B4OGWmaU5SBpM`%Gf z3M3%feqh*zPS!Yg?kzdDQ?Xo>u3hR3n=!MBCJKhyL6MU4b|_^EgvXD~UKFn1h@te7 zdZX^wmt%WL@Re9N5HC*Rm&<6Def21N6G`@g2Wb%XWbkZ}1(98qH)sdVmui!}ji6#x zfw5EElnyg3sUu5gmENBNU^c%?s&{HGsu=*x_!IE^bN|Ti+k^gDV0QXTU}PV@?zmY+3?mmZK-4G%0nLQ%pF0PyDvS)E`l-)qnQeCWO{X#K9N9r)~#W z@3~7nY?;}z(*&h(;oLc;aPfj;!ONI8XcaI#U>2hON z7S#a#rKQCbl8f3t64})sG7iHPVhR;1YOgSWQ-eaIgv`J z4s%^I>fQ40!{bH2y!%-Z99wU|Z8JyK0wh+f}=4+ctLDwr$(CZQJ%P+jiHvx1;;( z6MgQv{jFFrGh&UI`D@0?F>}1*ebgY5AWNn=f}q72hQT$6->7e&t!ZJm%z+Irk0M*( zEzpS$*qm~qQ|2-0bY=LN5>!@?)G!-MwR|&B&G!mbYDLmaP=(-!poPk?2lR~hAILLj zDiC0keOZlVbm^=j()l0U=p$3-Xzd6~5SieU=Y-beqXdRVK@q$1;D%I*4W^{UK|usA z>rtu9J|(Kj2%jN$O4~$wDj_QCk?>IllK%RWNj#=1zj>EY@07ui$U+&GhFBHAh#?5E ziilcJ2a-Cs%qKxAyp%#G1?3l|9|R@+QVWA`ui>CZprX*(VF+l_B*hOdfE;b!`lhf? z<8Rz5sRd>=cxhk^oSk_v5Vxmm?%PWxP^ZwQNb5lA?7i#xt_*`LpQF)yp#$LoQ(d^*X z#V8552A&EJ{be`cHzL>8OVpODO9PT4{l;{6$xKP+*G}SEf1O#K9rEjM6CIGtn1rJ? zU_6+3DX457^Q;0nEDf$Jr4T7eN^^qUe8l3g-Le6&skyou$Zf2yUy5;>7s}V&Hf9DFg-3L4GN``Jz7357Y`IguvWP&=R3r>%rdZp%JS>ts$@!HYQ zWxWf3MYf`xd$?{?7Khu+K2#Jx3soZlo0d(zdoQUVbqfFW>7i9NX2#1}>=cKUx0x(% z-^jBOXhD6w-%+|Yc=__8v!Q#wJU@fpIm`?ych8b8`KTH2@e`WOWw-2d2h-eGPwhmE z6a6BSYxQ^7t;H%q=EeN#?_s;4k?NSV=nx0&dV&IAG=Yso7Je?QXLWr1sDK z;HW22GaEk}tJ_aT|KHzO|F@px-<`*2DNg*P^zfbURA6n3j1Z#r@Wjq^{C@c*I_sXk zW)>t2v0{FOdxiX8U6LBnNlI3J0Ej|Y(~~@n9&KuqwY^!Fkis@e)%3qnIq$#;vwBxR zR_1h)!l7K3<~K|By_7}qxyPF=M)T<35<)7b0LP)9C_-d3*5b(`RCw$F z9Fwuleia3vj(Nc1r$pU=5&P7-@S@+DD>}-i_K~(;DHs9QhT;q3v|K0&tPBzAhv}2F{qTFHw2{4NmatXU=HaGJ6FQ$~Ey| zNVG=n2Oa0|T#QHx3F3^FSkt_2n{)Xv6cd!` zuDY@pj7+P=_)Dz)#x<^a)(LX+x%8~>yBdArdjF3t>;KLU!2B1LdLv^4CzJmNnABK- zLtf6$>t@7{D)L|P2>x@;pZ;SD{r_;xwXy!M@;s~mNs)S1g=a^`qMwj{^UE9cN4D^7 zQu8=*$7<$}!_X|F!HC~nJbBv@9ZTLv?pU2C+948FaOVa}CD++KKqSSe&hWe&6Pz)v zTpTYjxk$`%F74CMJZ&@^yODsplUWN+uW>4KZD<| z89O}-MP#u8{z-e^e>v+z;CifZILoFkvC=Ps)w+UFUj1LQ&^iH%T&F!%gEwX*aXqrAyeSzUdtQaS#lwcRR!<>RYq z1>I_us6xLppKkT(u8wutSl&wQC5)=wEI?&)(4N;H4aB?M|6BVE$3}RLt8ddPWoG_2 zNf~`YCS-SL+NOi5E$A;#O$qs4t)S0&vrAX?dAKxz7T;e%4lIvCUVjvPA}^?tFgE)H z=O_c)Zh3KYjk{$X*$9RCj0GpIt#Lbm9jhAN^T>V7RTGx&nye+@(@9aklr)gB^{Z`&hg58oum<*~8OZHz;oZ%ppUgP?KFmW{FCY3(Ka~HvqG_pefelfcw(LgNEQKS^XnPKzPJyd2e#Z1p}%8L!Tpzl_#T~ICuu?3 z*(5hTTW;KOxoup= zippUp1N|41iyx0D!x39}ot-toTd8aQUhQ9&Sa^DZJpw4MvENial zTuT{0N|*I~$9(#)c4)fVb_a)aJ6R!5Nw+j)`|5Eo7Big_S#oZHDGt@1Mgq3@)h}-? z55i-gJVAIYxPi1f%{Dh(qB8#oh_muUFt1s6b2*Vtn}II7sH#MGO10LmrLY|FyP~Wj zLneIF=)#%y_RQhSBCUIy`CRB!ZEN$Ky?m!%X4m4`_C}kH7gP^+58LZFJyh^t=mBI4 zyGB3`n1Zt^E`qGvFD1fH4>SDi|yI!*#w5j6v4{n-iKLQ^}8SKN+QnSN@4 zVPr2bn+o`BbSkk#x;qTPcLMGbIRIxTl=C-MH-R?l<#X%`|%abZN0n!$vq2E513zN z`Z#^HO3bTeCh@D6<$y=jYn3J3wo?072(`)Y9S(U;W^MhF@VQxB`l!)IFq+$Q#3)rj z9iYQvLk2?P8LKfum^_SPC-ROh9+$kcBT#L_oJp{k4_X*f}(aSgaDNhBcm^ zp2u&u4Aa9A&!#cX1hGz}OHocv#8Q`*7OXK%O8xypF~sVr2| zm2O>Rv`Z>^qUfeEyNGzGPSFrw!u~+^4!%EjJ6+e~;`n#kf2-hgOy>Ysq$8yIdP4B| z#MS3$To40C+{fgZjq65bt@Al+p9|4A-fA$WPuUg~WvqPh52tK>Tj@A)klGMq3`sId zgdUi1xa!N9mmJ|Z^qQ)bPf6k&q2!mgxNPT4gd|CP zR8nnTZXhF$2}f42p9Y(5gk{s9p7)<-gzVc;AM#N^?KUUM1JTu55I2U3`p{7>WJ>kw z`6x9|i7@-P(j$a!@i4E!j~|NL!t8l0{%Rd)ZDR+Eg~w#F}$JW1gIn__q0hyK*gM zl7+~GH7V3wfO^nTO9yJ8*#sfk+nZ(<_;b*@W40L{u-E|PW3)bVP!z2XuA5M=>$>St$72+UkusjEBzK?jpM-${Um1MnnszoYpJH0d1k z>;a8&+vtxE_sM>aO&DGcrNS)Y;#z__%r<_>M^8PEh7Xpz84&$ASO+I3XTdN%7*4&{ z7VzXLLKbMH{$j09slcHcaV)8GrU=-!8gGfdWmOf>L%@d9EZ2sLplt<|<8eaoD91;a z3<1L)bF*w!KwfST*hyx>!-AG3>MW8TP*|NzsY#A;snIK~xh{_ zpfwVHh%&NHCPu)YT5!WyWX4=^A;4rVid4BWJRlrYNT%3dpyPOB0nKd7c)m0CK|-L9 zk<68H&Nk47fJUxMic~sM<%mv@^RK)Phd>`;IVc~(Czqk=Y&Du||LYLW4r|-m4yG`J z;b)?N>kdwjmv*G9;JLnO8DuQaZwIX_+^w_;99wosxajEUcCD+6Kx=H=_pgK17=LkB zGFq~Cm!o+yTI0X(9@?~I;C`I!Y}tW~(f$KnS?j9X19-Q%9k{eowSB!-mEoR{HED-M zO6?Qew+DxcBW_tNUXb~`#)Yduwess&ix%NE3+c@xzVI}LAslseIXviXsb~Hl>!{{Whh#@w2P1Ms6m_vVaO!goj!w;!T=Mitkj?IL(o18?<6O#Hw*JYWf ztSl60R&@7YAsc`)&z#tvPch;#VP~eq|}9=Jz_I z6#fkaf-Ks{RG%s4R|(zLs5qvGI?oE-ex}lB*>mcUjr8u|;$Gb={cWBfuNsI7LjnPV zu%K^ctBbWS#U4L)W7`MEkxy$t%T!hXZT}3xgDE8eFs?2b%i{(o3a@7g+9O*U{DKC3 zKwe@RX+jn1D;19(F8&7#Mm&Fr=g=k&hU5-=i+ia3T<7~LGAd-%!49( z;DhiD9|h={1DSfxqz6vUpDMqhiTTGhkG}l^ftL~V+-y1SEaHse+sUR)75fmy48Y*ovBc{uKI%DH z1L^f?khRlm>2qT-Da4HKNU~tkg^UIr9=g3A&z2C2$2{OUbxSxNew%4HbPmT_RTI$? zee@LfUBiY0azPILEoF|6f;R#xyiR(JXjm~Z2IP-*L>#g^6r&E1jE8j;R?)HuFU&aN z2($KMAA1-kK8%OKPmc6+@zP{_Jznwd^!bY$c)L4ywOeRWJonX&g>#K_iHkP~&KTYC z=Z$!#dQ=_14Rp_;dhPh}goHSABEjh}NXINIrdV99_g<0@qO9G|qkkLgwE3!&pSr5A zV(kLTe{=EGR?`=PJV#}9)s{((g~9~R!Km2LmzKH4_nE2;16Y5m3=*8rBccvPkMLEj zlP2wi)nt-Z{rBw-=jo|5I2kk%Jd;r|%3;!8$n?``kXxr4@Nepf>{J3wV*Nk9TnFr_ z@+JhULtSFOa~$71@^t{5y9=d**uuz`2n;tvqtUTgSiK63PccTnF`5xLC*?mQ7bA|ki|-+7U{UH0}OxGa3Q1K{35L! zSl9|mG|)UMss6dJ!_z5okrfkkZ6e;K4c}#paXCBhtW99YeuF%ta6=N%@Kt>!8w-~V zNM{(>`A~v8Jt(`Cvw4F45%Ma7ClGl?L8ApIs!eo<-+V^YxFSbS8kepzBblO8LPRab ztEr5Hz}e*#6SvfQe1zS@UrO`*LVXt>SQorUIdX+_v!~ro^xPX zSPdHEY(SR%kC$#C!N}{laLLJ2EMI|$v#|%lU9eJ<6@3`3?^GjK{@)*z+e)BV`zc?q zORq~--;TUKYj}}A4iU`XOxsiD*klqlr|AkryZhW zFd86Yn-K%}gXLhVtxm$OUdU>E+&`Zz-zt0=$@5V=KiOmO@0sF!;>|WhLF-E>PszHRawq#SDxX6EFLe6K_~DNzBHP zvF??qVMp3pU4x`P4)**7wq?;J$O%R(85Ecv6K|U}b{T}H5!?p-PslKg0Ny>O>KYmE z%^Wf&6heT47e75YvbTM<2LEcE@+7RIo@=;filWpN3IaYjPM0WIJWr;>>pLP6!Z2dU z*Gdd;+Q`!`cs!i?f13nrn-0@DPSym&@l#Go>Lp2_1NUWZhw?ICu)`hqaLn=Q67*A; zR8#&oJ2o=R(jukeu+V2c*?56<>71SDl*7h=QvkH*vtdH{?%mj7g2I8*u>g`{pX@ zyJI%r!%Pmbuu>8Kt%EKx=BmHJv-A)^;OmhEG)aOC^5X7ZzZZ5?6tHSxU^ z%-i$3po2NWu|mjzun$}a8*IOH=LB7skr$h)g#i7lK=vk@2FpBU(Y?? zqQw$~byS6E%{)P;vv?0CZqW=!sRH1Ko%Kj|KKvu(H<9i`N3#J?mu8!y+mYfRg$WT= z^5CN?zX(5=GA^)jaVO!(UOIo@4z+MfD%ucL(hou6l%W_`tjEqY1-wbkfY#g=)3%)I z9sP)K{$!xaID!qBMU)E&!OW2iWNtX)Mq{7c0bdl45pxu7^0oOz%&3Yl29QTo^zFqxXd2;kLLsFybvS&4G3>G85Lm%t1&P7HX@>Ryq&N!zFo=YFxFPUreJDxUFpVIE8GhK|njO^|P|p?a5fQ`PVB2o>EJ_Xuey&w3kC8M)SGVL@V+< z+osiQP6D*4$`?uuQ9p4kO}%MuNUnGu2XrwCAjGV11u^_10!R12(NQ+(qS<3VaRhj= z{)?P%{&uSGYTKeF(-``fbV*Iu7+VCNq%M8$cM%dg$u8092eWw{L>Y(a^mvjCk$b%l83Q{ty(T- zgu~()S$1XD7S5u@;rj-$)wRc_EO--tENrH}We0c9etwyS5VF>_uw(izbI9yIxjk6a zc)2lq2X2HF(~6+kQxVQc9%fBlmqL#Gww_tST52DY-<(-Aj5ng~B_@=7p%8z^{$Ajv zOQIg}Z++QXJRCF>NJDY7vf4hofYqlu9(ek@2K2lefbEKz5RT`^PglQ=YroR|a&j_{ zYiy$l3^;mvPdwB@!#@e-X9;3=ZhX_CSwM?A(?~pq$4f*wbF5Mk6a{s%PqgOPz-k*& zj#mw@PkLi(;%?$baIezMa8QA&e9@Xs%AfJYc1Bq>^n29PFs*5thYs*hZ?Ct)8wtP- zeF`4v4uG#Gsy8b@^>mXJ)5AoMYcB$n@Uh4#l>#YGkFUI10;7@97R8SJK%VD5@Nj~w z^@5oT>t(;9zjvweqd_1OP>a>kZtem>wd29M z;zDnGKqH9H=Sag4g^Eq$aSv)+ zYT6{0lql?xL1I;KiQ15$1>V8{65N@RrsOd5sgIp2O3tU9TNG_I?zLtx8w{t9k~Jxf zjDc4$bliNXL1?e48d?P$ikIFJ^0CkbtfR$^zG#FyV2k zfH?u|z_jF#=;j#g#=8?R*muKaBwZduy%F$yqwj2!ODPQ|Pypx;F7=qHzLm4|nmT(~ z$I%qNXi9-CJ3^r$M*t8{4ayHcT##5!*9OlZl_O>lDJplcN0M6{*%K+&962F2#QE6C z6v2Cxc53Vok)fg-aNR@bUvHc*2`q1OS7TMpmtweH{2tsQA9!7M#Pz*9I6tI*6sOxZ)icg-r;d~xILQdI3}{I=In$VADSUr#(t5xL$Z@WrylBAqZO9vUlLM7mMXiw?b zs&zJ7B|n`GEMqCK3}^ZgOdVGPoQ~y@&L887wTQGl)<>r#$u-wY<9&XF6$7t%1B$R4 z?!p^>oC*VmOj9mt?uK%6yR`9FFkJ}RoWETezuvuL)hNFEJC*40t#16JoBHtRO{ac8 z^#B|H2TYverb7DyK*(eg&F9=MAmCLhmS}{MW}5e_0Ex2FeedI=E|T0tKx3wn*QaMq zD;oFfg3SkV5Xep6!}c{zb9q1ORwGy}z<9=Y)$E#3D&V6287C*yI?LZX8+{VR=p>kB zI40owi%qawI@l8$M%t2*xvqD%S~}R7hQ84xA&(mx=5oWxbO%TfoE3wkws$s9Iv9?I z-q9!_j|dtDXT#`Z6^vdZ$b1J%Wdqa#%k)w+$YKXf=UoMGqs4EvTY2=!O0U@lrO^wk z^e1Gs17`iM;`bBU>{dSc3ANaubb4W(aMy)zBmK{Ts;+rUZv)I-wle>D@V`AApgt^{ zh#x)LjF>^u9!1&GF3NGM>IO_5vuktb&)DQ}yT9FGc)erk=9Nlvo5gD@$j5-gA8R^c z3qC%iBNZ z=I>MiEy~sXBMiv$k8qW8?$42&tT-_f362Th3X5*Ht7;3(X$hZ724NbV1Vd=>1F)C} z?I+ZHlcwNaMx&>i_lwRqe*Q#H=!tOO@B6!5X(-WL`rDQ(_^vz)pO3S8Z<^BBU6ILG zXG1PTCU+8!oZF6m2ll<^D#p)X=%hjc_qoVw&-ufRC6OLO$&|7?^|qrO`aIS3r165l zYdjr~TZX(82Jk}xj!!10d|vF+6m|bb@0CXH#m$xc9SSPM?o|%P-~M4CZw%l5s`Hu)3MR8qARCzp_uN(@Jlnbuzoh#K2NK`FsCxpRe3Z31tbe+hHXl(o>(O6*ts8|$ zgp9{>4_Yx6@=R0EP2a!CDLTZVUGu27Zvm}DRfetV9ji3$w^cMzO%)_JaPQ=UI%PK; zKOdb~)Q`J*S{^k8w_LnZWp3t{K37)Wo6IG)X!Dxumdi1|q>quB)hjc`l=>QtHfqnm znPbLz;SUy5K!bdlq~fP9#s&Zz)xDv2NJ*!pc<@kjqw{PLlo3;_mXiwRe%LNVUU-7cI5K6|SnGP0Rs;8c+&T3U5?o z9>q|EJ_)VJRm>ySw>a}vsUz4Ih)`wGk*PB7cb;&z{-aC$|6Y5>{Vyv84)%us5B29- z(RrCY@E-?vL;wJif4i==jnThDX?Ce?hoVzYCm* zo#4Bf9C_5~z#&gNj6IIAg`)VjAyByDcsX??bFLW`Ufe9SS+{zQygE-B1^B*036Vsx z|EBUD79TXEbx4LL;iu8Vy?Zw}b$9Tf{Z1}rp7A6Qj$RMTREmhx*u(s)NkOHIQvV{* z{?n@Hvj~Hs>99#SuQVu76&Cbp5O>RjQkKZ9+;e^zYvNW;j(b4iO-k`gZFeT zxa+#}I?XYV;eb&u!O^Qk&~l#wCQebRQa=GbhQE?&xYixAzz~y``=qJ>tyk-)K2biz z75gx|ip2q%f~eA+4g26lg@pdpf+bnH!;aZ++J3frw4L0Chd-Ns`rvS!^k=>D;9xD} zX(cf?i`I|s^pYpVYD$I&2wK6vDLB{FP7h3>*ORE~6=I*|2M6G^rmG1Me_2d&lVOq+LAN6;Mvo@tBat@v<*;sE)7$;U0Ubf0_-eSz13>SJY z@v_cu_~E^bu*hf{0A5x1y6jw5y{O~fF$WzVYcFNv-Lk~|4N*jQM=oEU=-o50SiLr7 zq&Ko06-pS$BM1qWf@NPeGCB|uu{L584R&B=JP=DDD!3m#!N!`d+r`GpGAwW~I3N|V z{?7{=S+Ik-OiubjOw_bt!TqW&F4lCPo@v<{4ope%`sYAg(a~bx=vBI8ud;!J~9#ci55%4vv~ExMGEm`6Hg@=ZH#=lZ)Ob&eLVk z(`D3CNHVSlNBzU7g2&-!SdpS+Rkzj<^(Gu9b zlvOS?mJ|a9H=$~Hn!m6f+IjomS{5V(k|jtzZ5kvO;U;;q>YZ(s$2~)WeE4vom9$to zHH1U@kx3cXSVQj7qui^WJsY(`%4IFBYTaDaUj|iT8^`u-Zi%Rf)&KlzGo3)yXd0yT@u-VSp3;%lC@7sDLio z5B0!}=7;oWCe%mrzx6QasNisu{+^BoqaB$HaWA`7Ze6VwTx)sBV`XRO`BtDQWDCJ0 zJzs5NEq|UbpVM&u-QHzCq^O$j22cEA5tlF<6tJi`M_tQv4d))t3?hhuD(`Yl;?+s3 zai-dHL|e?qnrr3fgj7~~bN6YF;qp+qW0!^gvLw3dqS*KA&n~kPfwe=x_Y+M6!!(OM zQ>Q_lfeyBqX}0~w!%4SM4clhp1{Fm`fP;tqqfzR1{y0I{JpxU##lgQ$(^-bq9;&%H zbeM1!Z3kS_7|_)=2T#Wcqg5J?jjpBp{k82V27*OP(i;A%&~MYQhj?`0#-2+Jg>kZ5 zgo&V414uct=o5muX~E_dqvNSWxhK_LbFuNX+sAn@U^g)mN>~P9wI0_40a=zLh}Taa z@GC_XEqACc28??51wo-iJ8?S^^3^68LM;4U48((H2{>`$CdYZQ_d}fUj>&TE17~(d z=JGqa)^9*(O`!tTAw`6zR%*B}!99y-hI|YG&+k+l9x(V{up4fvU2chPU=w$H zM}Z1I)rdWaCiopW>u8jtGKEHNj6s{mHqBb7_uI@!i#XZepPE^S8czTh@i`=MquR&6 zPF=rLNeaKh-h<_HBr3fXjHp^z-vBaSd|wQ>#orH;s>4&oZ_!+uX7bdix%R3q>^ime zR+4Glyk!(gZWEA*!DOt;%pjvUD?qcQK6C??Bmy&ACzBG@oEq!z6z^csrPW+%tN*AL z$GQ#slWx-s6tez2gizQ2$NHlWVRI%v%&{ay1nW2%B#Ol{o2mC@Te?@w6*F^WZGXmdSd zd^V!>l-7`!P1zE8N4K@D(mZAM*851jcb%`OGT(3+HH#78KKkiv`WbIr+!d1VFwfqZs9K?H7EF;?8!%jvZ>Wn>gm#%}T9OT?J!*Y^L2vmda{lNoXH^{64&}UuzQ)d3iJr7RX0e8ozHddhYp{CP)48{>X;KWYA;DiZS1HQwhUFpw@Q5s zAU`A#s-=tSg7wNy0SdHY(QjblQ0;PE3^4vmwAGj%k?&ttH!ZXi_gu6Y2bgnxN|s(? zcVG2(gK@91a6otsQ`<2>nw1Lf843(mm$*oI0BRRKd1if9)tC#OV(*jFBA!=SUp_ps zW_hjLuJP`-I`8`YpZ!uYT&^C?KcaSyABE+AEnxdcVq*5+KxPEVN?Hfd!)vdUxN;&Q z_W@EmU$PVWVkJ?MKB44!&pBfc(m9L59+Jd8||; zhEd|y%i5&xqwuWd`kP3oB2W_hrvpP+A8(GzJ(IXn!tAbtWjJbes3u6C`p-!_obot- z!F?l2^$HLR)_rsesq9V8V-y0(EdnQQ%dm%MMoNs{!enp?iP)r@+p>v$zxGmN(Uy9} zXT>X^$)QiWl>KZeT_mJmc|mI3No9l-(Duci9%y;ZJ^;Qq$a`l zZy@xgs~9f;I4%jW`hooeHWG*DAVLE3ZE%5h-_4fej}2FjT0P$zg6yk)jPC5YZt6!bJ+3Mk1@_kwNQ`t1Y|uOa7X6(T$LH zwTh^f(r?JnI)_i{>5cFlC}IM5UXb%QZqXZG6)kj$JI;79SAV9Qmp62kEvgSx4_5Yk zk`@W0mq{@%Q}rupn@a=V(_uma&R_QAu|RYYAP5B z=GYDnKpg5xfuk#i8W*vEknAwRb?-nNadigsF%GTtM^dCdj9K#!F+{XI_K;2wUg?^hBK zmfP%cqh$(~u{F1)K{o*lJT!oDb0=d47FSk>@=CNPQlqUzai26IL~I5xDTwn>^_Xsq z2E3BX6`|_p22t4z#qI|j;m1A1$7?#&QB^2BDC6tzNzuAzd3QEsIeD11R)AR74Sw=a zku;`Ot%cssfp$q86{`&9m<#vnC|`ES>si^GLFVjeZ+p-vLLb*SKoqESAHP+oSD1iR zyQuti1`q2QVz3t+Vr~xr7Z{p`@^V1tI0hgaYNtGp_;Fv%O*R&!v5r!Si_7u#^Lk|X z=6WCeX*C!vb`XjKmU$X}?xNS97Da*@cKjg|f{oYU60{CsHOI-@lP$@nt6m2(i2;Kv zM|WLd{Tjgk=Pi3fx&N5dIpm60VE?gr{ItmF9J7}21?6CbGrvX=$kD)M9=IrCppwBs zrQ|N5Y##EZhDYF+6+nd>?Sjq+P!L{(ZrRXLfEJPeoDI0z%3m28CJ=JvL$|KAn+z9U zHty`n8hzZw5Kdd!c#!g?mt4WlX`JFeHn%NWwJ#ymgVM4m10uJ@^l%CQAQ90z@T7>P z9&x{ON2n7bh9cGJ!N-lYo2f%>d-u$VRraE@0u=Y+BuPaZhSy2^iBMOp^>=y}(uoEW zkhnm|SBkX-%+;X0PFX+NUVhQA8l1Ce3GGPvv|l#Z9egb z2EspvMRk}4UxJ8XscU?&D3drLH zb15oPsa2~N8&EtM6(y0Sx5A*murm;>BPIyMOr;d!m*}@&lbV*6MYq#iEcOF-R-eqA z{`-4WgSlhq6VW_o1vWy##g`1n27Fg6xZg6uE*6=l1SF9o0vVBgZAcHd+k=)mb(8Udy_T8i9VpfaU{ z-*|^bepT8%X-Pfa26v{ ztIQbk@>gsxFiDUXq*7@hy#NCzHRA-ggnoERoqp(QgjJ!myQOlfi8Jq&S$|4Na+-U8 zn>AArL7Yp|VWdC0E+Uq6i*n6z1L;}24R)b~{}FpL{k>jy6Q>{dwmTAow+3EE3qAG7 zs_!$(HB#4CB!FZN>QA7O!_NfU&UZ*`+J#529~|8IQbMbzQ@@cKjoUCP=*a9GMuiNc zkC`F^fJDjgG^aLde3*iU4IjFk(w|++Ms7_Vt24mQHjunfGfk^rBF8UQ!w{F4HJ12< z)#jC4g6`QI!d)$T-r~+*$=t|Sufw)C%b8AT_HcX&r` zY3iT)l8QM`EEu7%4xEzNOaRS$sHeD5{1ybZS@lvbJv%he!|D;n8HH-5`@I8`Y`it5I$M+nlcPiLw@PC<(21Cr}B&Fl!bIkL ztUTG?jQbk{`|?ysqz-`|o7FaGQ!K=-{=F)$=ed3fsl|7!=xGNEeO2Lr*6US0!D;R9 zf(hk9^cYT^$`j@z8M5GPi$Y_48|0~*8l>srvu6c=fL3pf6jc5QH=JD?xY_9r&-oP4 z=jAb|I><432f5*XqQ9Cw^+kDhD1_Y$muagjo#>Oi%x$gk%dgd&SO1+_I;bhG@i7eJ zY=w7s4Il4iF<8lDp)=IfVo~Pt4xDdmkQImKPxuBcnB#|mcgpajEetQPYgDA~J|b*U z91vao4b<`}vk~l09H3=-?K4FM-Cg-g%HS-WfWlXNP0V^!a+|mR>VpjGc$ab&s6S%Q zQ?uX@?(?eQ?=ef2Qw;8u{^l?nSq#Y>6pg25v4x5K&bSpNc8`DK8g)gl7p9Kxkh#63 znSZYq+emlz_wJbPgb!xsOs=CyIj=-37U3}?2vyQfcdrmv=YBx1L%@q~+(Vv6*OZRy z2;>#7BOnV@CtFj(a`#}EIn*PyZ>MIYgV?IR)A@h~f;0z?r|a|9RqA!2C0j?=#MWia z?a7tyTKLI#B|W;z`V|!TvkId|NLpvVs65+0_g2eP`^1_9SQzO26s?ot@2{JoLL%<<;iTqdL}D@DdWT3=5a-|R`xv-8q#fEof* zWG-63GTO_(f-Lk^g^zMp5`v9`&y4dI35)y!x1FHTF;RG=jX|f`z7FyENv?G|IrtE< z7R%ixa!90W@%$#Pydq5=z?eJ_f~*-qAOWILR>3e-O(m;Pzg6`ZKmMsHKaz)Vo%hGS z!~I7qOa5=uDFb^O7YAeef0IvjsmcHJ2mTyXd4r}elNe7FYHv}LxNa`WUtm4YA5=@w zrb#j}2nirshU@Xm)yKc|?6lzXi$yOy<+)@@b!pI|c0>%dbc8;qk~5`c0LRg-2~{Xl zFmFU~X1Utb3_Pt)v{7SxrM2l%F_;M-`e($#n~~jP3oH zwunh7lt>6(kO2{$%v`b{nh;E?W=QxZz(B%w(!zPd{jkWlT*htwm#;8@GD+lp8X0Yq zCI}tAaf}nILi9AK=8$e_8;WB?QTou{Ma-H|+SXaa#>kFi^&8XEmv+a^l6AIZnxfa! z`XscSHk_P&D|bKTbY=;8{O67D zh?h?|a9z0hSs%71kMNhTI=|**e%ayVoJe=yN0=U?&B^foe9a!*$>+15+{yEQE}dD( z(lsH3yQX*Z3)$D7gzL96GhMnuHg{RvLYy9<&QI`{7wo*x-UyeEu05eY_v;FIaBtJ) zci~>6&HZBn=ErnLREDM*?7`Hs)ZxpH1;c9yGdPkC5b{j`pes}yz~?wFXNrc@672g| zAkDidw}uRxU@w1;F9OU9fqeuP!A-IDoUeF_9nGp!wF)~8Yj~0}zg{2i1?jIG;N z)Kb4znBz_E0>p?|lLPN6I3!-M@bv(W=d>z< zP7r|4s^N*rnOCvq!0*V|=qe^ea}6sZ)zN?;y5rrToOH7?Yjel36oH;DTc%PUt>3mcH~Kr(mQ29M%kBIom7ubd{Lz!T;i4)QkWEZxM@xfe8FxZbiS5z9N%n!l z0;Aq`UPTJR)H@cq2^@9^MKhOZR&Bfl6&r`O-?YO{nxZDnCVSrn$a6FXdZ!!m@BpQ?R|DHsFcx2{ZRUGY7&?zjAk z3?RwL1EW#TfN6PS60?U0d0kne5vm!z%al}xL+9S*yGB+FgNkF9*g#q=vGt7~ON9JIGVCJt=FMach!XZ{hF zV~($tzP)RhKAIp0lYK$kFYSG}jL-w1Mx(;D={138ysDOx9jipp=->;+rS0 z(5Ey(5my<8B7wS;7YNG?$1-OyiuSDNk?-)Q6<9LVrLpUWi#gxHpqnav-O5xh6pq^s z9dLc7;eD}nzscEhxvdaG6 zxZCNN_O7UXSj_#DZ#nASk_D|dlq3aXi@V+ZqK!jN_)}kVd%AP+x9wB!))2V!*w8~n zzKl~0l)FkjWVq}?M6;wXNQ!RzK2jcDAmvojV0dgPPc)6ye|?Pxc17-jrYiR zwmLm7L3r|WiQ80w5tA9FvxaL}y@l^agi4>4Uoxh%DGJIYw1WH#pu@0l!Z+9RkBt zfYsWGC|HNO$CG6^zo~nDT2m@GT`g|%S7b$e)cF9yuw{A$L3O4BeKCP^YGDkUGiRm? z4drR%`am*Pka^E!jTzS9nGFwzKTKwy}~uxv+}CCPyWMW?dJgS ze|`Q{Ba?%py_vO%u930fPZiPrKWmi#FjV`;#D6kX``<^5|5$ty83Gy>8UVl%7XX0j zUu1v(wD|vV&iF5!+p5%G9WX^vzp{GrSIVMtBSlWss#Kwz;UlT*A(VXgS{2Hs=$U8d z=m%tGAS{qRuiv|Pj{e3riBd+VU3ouy?09Uka~NEjJ|aiF66*5`$#O}ZRbsut-S<;O z#Dm7D^QPM$iRvRph^GtHIZ}#>zNBp3x>6J(%Z~;cv5k|-TH<=>_m?=aMzEXAMZQAQ zW#4m165eFz^GSig z$cY?tlrs^V3QtRirah&`ck2jE)Qj7$P)7+u9EDqA_IXL1*lfz04zZb{g7P<#h7ctx z@)wUmBaJe!xhI^&QB6292Fe3fHL)TmD&txMuVrs?kHU-n3N3U+#-Way*JFjLeL+sd`T`0PEGPU9{WuiB~?ax@+ zPHBA3TwHH?mrQTwTm@g53RQv$E_ZdEJ84t9ykBm6m27;ER`adnMXJ|$Y~Tc3yXG2U zT5G$2cnf)*!)^RlGt+kR*t$LD=(vi0|2tXT*D`daF<{r?wPOLhw)J^qO>dtk1fKc6 z_4Nqvzp44tABvxv`UpPxiLhhoxN!EE*t^U71~=< zwR?3k*!g;w%CicIN{Q3P+X-bqAUf=lc)@-NmMV?YJHA2HQ!D35g3o%umuu(@$0SZP zfBA=?D6f;KbyidG76SXRJ6mfN(;aOnSoklo_v$}F*>vC#qBqi$SEAO{@*`G{z1Bhx zL-#U8cPB#^lvz^%l+wt%yow0-XMI9d*o)X*PGvKYWxQLnF{K>*d1%-Kml{EJykC4@ zA?1k`o75|-*Q@g1V#tj>dTXffPnv&xIK>wumbt7w;#Dm`35PwY>jFT(?QQkFOU5p= zZ};iH?+WRJo>&m_(0C7XUanu&Wlkp&_C|Ka<4$kgdL;!UpzB)x2WRg9W!bW<3zu!P z%eHOXwr!(}T}GE}+qUhhF5708_1E6}-gn-4_w94e`{x+Bs@52D=C^Xj%$Si8kzWj5 zrI3}lB@Iw?PoQSqrY3_)H1XU4rC#x=P3R?tyP)k*{zN_-h209%STXTkjTH6Se4)`8 zm`w}vo?K^--aYO8{)8ZUM(^|p%B62tUyViasO>K~l8xBInBm6W6oXaH?unw56B5!D zpo=ukoihoe-e<qyC5D{4Rdl&^4u*u_|)wx-z3BbkcO%9Vj zn{ZwM0OkdvqI{pUB4Re6XJPPp;UmCzk-l#pZ$D%OS%v5f!2@&X8|89X7SwvAWr4TF zgb58)=t-niFAYw{9(pvwJLLJT60nrIX%XBb72o99hNPutJQwIBnC6~lp$8T)qykiY z!?!IZ-~^mNs>$|f#C|z&G|3Eg%cI9k9lm5yk|N_~8S!T&m3ZqUHaZe;G3bGgq@2!9 zhkQOAluW_FDc4;{xv$pKE5w;HwL<_D<>@z$LO}F0_l^Rt149?|lZyaOFx1v?$qnrP zR7zBuL!cs<`-T#*!%8KF|RZ=z5W5Lrixh3;rVjz4@)6%Vq%-j)H}g>)}Duu$F%56^bh4$gE@>BD`LyNI5@)N9lmkW8~~A1jPyLM5TmRy;&L?T1;3iAf_6 zs10jhqQ3wbZ**x>j1&8gw3Fh|nP1z$;m({_9d2UTxAkd_UoXh@*y9<>PSzT+krlYe zj%PnlTgxERwC4^$(r2XZ!dj;Xi7YdEQg(L&DdwU``S*H&g3+wWC2=%KWfqr-z%l$w z-hMiIa%Yf1(;Q$51z}yOOcX&mJBv={N}78HkFnsgg7)w?RG69Lqr|mLD9PzK{vL?3 zP~V8=#`=B|5Lm_Ee@P2EE1~%us~GQJNulG0RESo*mV8Mq%7)+h0a|(@xiqL*0+{h+ z-dNkL+w%=iLPXNatCQnIl&4x=xS_Jc#!H1y@(I*7kl-cyq@0u^(!~;%t=T>3Tgp*< z+cIW~8rq3^u1IzMQ?GHUo-r5WwcJ9D_f9tHsN4{2C7f z`E~|M+f!t6@NAoorXwg2!KDR3#PCJA&&DQL4Gs~n4=ty|Ky;rA{j&(#UKM5(=4uw% zpAB+E)hHkNn9*x%y{x1EBCWa>er4h%eD9o)ODE1%qn6ckz7&epB$|O@E>wWLI*bz3 zvu#V2t*5$+rezB2etmV-q_DugXmicfXXIEo{_dgoinVgm4x3((G-2@vk+vJeub1EZ zNrOkgT3$WGP!n;h!F%k5qDGA4&e((KvqfB;592?;71-Ha)CLxSfCdj;494vi=o*1Z zI!%(wCIM3YKal&3*8bgTykMl2SZaY78_l6Qt`lB5=KZvsHq z)6w+HRy~%?aa^mas;xkZTJSCSP@pQ+bv<^PPTtEcTwKl-sY+K1drYruB~Zr#B2fxw zp9K3(NE0i4id7R?yU~Zk1w}e+E>rBz-D@E!EMfU+1icu%H{%=E63aXbT(aeDLcoyU zAc-<{MPcO}Gpj}I zHh3!y64AkUBSyxgp{QAw4@t|c6Ryzm(hQfAS%##nq)`=aT^1~?QKo4@D&q4AiFY1s}F{Cba z#b7gqw%(eRUY>x5-Ii$L6yYvrmKK|PCT)kU-*#CDJv0syXIdhqrnFUhwi59M3#fN- zn>Y3dzr+8q)~A4FKCG*;%UE+VTIblf$f{?=S9kwu$^U@9?z@b2$wba#Lh3rDQk;@z z&(gKb04(s*m{MGmkQHcN0MiN^oJK9;(?}dTb;*&!B&f$zn`+UZ9m=d3GhCLuef@32 zKdissu<#kv{i7qyU^lrVc^MKLm=!*=(H((`7d0!b;^a)c@E02{?Ynx#NGs;ajl&+< z3)vaDy=*)#6@vcNR(Z???wIY$0|X12G^1iE)EOrZ}%|T63{KDNJ^*m zTxL6pXo;lVhJ5p{`b|7ohik`Xu4_$AL>jb>d>1`BGs)Kq@M5OWPeBWEhChm{KhqQJ>lV z+2YpCQjP}w3h0A>QFGA!XBPMWpr`p8t2;=({fiJEW#bMtX&7pyRG&Xn14I8bm@;9t zIgG&PcvT{-?Dpa*R+R#VI_bOa<5L!;V2K6u3~VlM4&y~Thye+Hr_?&caUx4t)k>S` z<5_^zHBcfnQ}c!2`f6B{0pEuVJ4B=04_%wOAStl+K$?4Q2;8slWrViAn*$CU}>Wm1KO z?7WZWKR>3GaEp{pl99bgdY;zz4?LvGo$mj)8r^@aZ|+IiZymnwH1ih;3gv%xxBquG zl)t&rI*OCgUu-B{uN0ygniP4Do6?48&Arh$_0B&D7zR{AV{O9SU%v`nUq1ZcPQ7v? z-#ECuu!y|w-X?~!q&MqnX{CWBi=KP}=UIod27o0aJ{ zt!pS0o@7Hsi!Qf6QZf!4u2)1FUTR|C>^-_q@02jOe*4f*_f7EEY+efCWbX?N^lP1e z?0PT0@{xWR{SFqOTJn@b1>O|Q->0fp2ZdhU^-}1`I*VGj=z$dp@&RrIqukskLstPj zSIbvlLn`&NOHX6Ua8Oum505}sCy*6~W!Z9!D$o=}@>XZ*y18_By}o!{{3zYT>J2B2X{CUjAh z%thsemM&!$lnB1`7>CLUZ!V2#j9UXz%nXf51#t-AQCIwReL~n0U{`0g(w-bXi`BXc z^3l>k{8tg$e|QAK)(FYI*6aX(w7;vU@qaAZX>ILoEX-`}98Lb@xB8ps+R(+q+8D~& z#K{@zpOsdkU|%-lm(sfZYSjPPH2P;&mA?Trk^gVvRPQx3nUi34hfG%tL1d&*XhCY3 zjm3PK@ObOht-U5-|CW_2o>v~NQiN3Pcip^uk~&_nLVX|oH|YWP?Ds;mh<+f-2i)^Q zR0j3w6cg+%y_8eZzRvEP2&rX`^4=CCZ|fMbR`X12D#hP8%-jTh{kHWRc1`jM5%M0v zNcp*}$JAZ|aQnC|3#f{MW_dRJNxc?^0Wic2_>Y~L4v-~QuvDG8C+TYzVEqGny(A64 z{mr0=>d>yUtpQlb??==n9(tLCl^XaKx8>BhTf=50O;+jw%ET9vS_2d}%?{?q-J1wT zt@Mcr)Qfn>I>PLWns5Q;_l)7eUcJThH%Z8TH?&@`2A6uy_f>QTj!2AlznQ{oF3L6N-5if zqs^i=t%Ak^2JvH<+XbF=i9a9<{eYOpPTZlDWE~}tE4fZN5ne8iXW?+{g)l%qMr=4} zTIz&w^!zUx`EBY#6qev~4uU7ME*^wxym-&&&Qp}8dF0w=7FlFV=Nf@tG8d;w-)(ovF4MsOy6?ToO z#qAjbOn?Z(q|A!^ij6?0F1q!g5#{fJ;_0Oq50n5Uf=2+UsicJQN-@SDgEGgl;%l~0 z8&=bZvw8#vNmM$P2=t-BatEVB~DC8FXLJ9*4*YX z;8(?*EF>od3*lfWYQgW9ep6o*^mq^NY(J~mCTkSJ=PQvPdV2ntXX zZIra08db$nazP8A&>%4A{ZVhtryl1Xt$@YUltau1ty-MZ%A1Tx*yOSPoNW9;>F}vl zWr<7EmZMa;cWyoFm=CQ)P2_|%Yu(Ck`hKIwoMbw&oIz@WuIO-Je8(v~qlmwtBpC0g zER~k1a;N2Nw#xy^fHH+CNW)1`9^_3GQh5U%evHcEy<$?T5Qq&yFQfdZoC*k%?%pP< zL@*gdOle0(p+jtWH2Y%^k^qcrr77-Mz5y_N8igL05?a)aRB#90DzL~ZT)MnJFipS( zX>A8R1#vQjv13F!5wk7>JC}*-d_JCec-51l;K(9NpHfezDl%==c~zj0E~?ytt{B^0 zt!U}`6?c_mdWDp4`0BU^@j{Ftt0bnvEjt{sBjao%i#HM{27~W3;N~-VkWD)`V!ua3 zDa6W|z)j^vl_zLxXDf?`n`%Pc<-k2o|Z}wq*oW5}K)BA{0>D!Ri zahNDH`V+3|s)fj`MdkPT-d}`RUPcF9^(F=V4q}}_!t7O7|sXlG&j9sivoc=@A{D(D*$BoW&_Vvw+M{H%4VJMsP;Q(fY06)V8d4}RJmo$M0z*ofwj3b5B#=2ozWts z{TFn4!A&^}t!^1NSNi1y=tLpCctV7@7ORtUxjT12yPP;a?@YmULbUiik8%!|=Qe-A zH;#i+uY9|WB!f0XdopqQW#?1&ntQ!|c`fvL_AYgQsQFh-%72I|^qqJL>+5#@(P;l8 zQT>mV*x%44dci{Be;tI*9`+`LocM%)iGvUp>ia+JD!DI#sxA^9I)2$yabE)cyA1EY z1p1#MM=7@34&Wo4Ur|vnA?_0twlMx=l%ds02&i9TMTap*zsyzo-~ltjlT{qZ3`t#C z@xLp>=u(XMHs+$hspzPs8BHtPh zS|+bq{KGc2H%Tsz2VWvTa5rhAHXTx}4oGJ9PkjvW_fky*V%j5rV7U{}Ohmj#?^UaJ(qiMryj{}!_e*-N0C z`c9F^Zx72vm{)P6(oU%7F6dC#b-R2+8b_^PRd?l-(PgT+BjSvR>JJMp#hE! zr2~ALd)b$C$VMH3mh@im^cl2vWBt3GWi_o`1mK2QG1r{E^I4(01ZJKjZn?xTi_;y! zC{|WF7$rJHlsw1@Nc3XP>nyp}+sDZ86W*R#)_LI82sX<=Vb#tPcyq9*`+?)UPFqSv z9RnhsM(M<_rBm#GmMBvB^|y>KiT?arbpG9@zrQ5Xmr{7Xo)a>fq2v`6@WLK zJu^MrQZdfqufA&&rj(X^Rz*E#2yydWSM3`CjlG@_sF)~~yPoV_>hy`{OQSIRq*eIc z84sv0-FLBV z={rpX>0q99d3%VDiV~lSXdG>^y75k2t^hWESrT6MIr~OyM0MNs>cLRtJUSRR%Sk+RRXZf0`bf{AF<9rJHn zeT`)F(8gLS?~X%>W{gZd+_aZeV33mQTbXW&I+!`jIeuwPpfWc~HWh#}sH2(2dl_kP zw9(}OHOw7IGrdHnPsYkHf7d+Bw6ogAN}uLWLZ8_?TzmV3cl}HAqkJh32!KB(Gf=-A zt}Fro01PJpz`xe~e;LmInqz+u+v;mi!mXFz8~6|&RH?%TvsXJf``U#Eax)8UlvC5% zU>`luN**pt(|+QiF zpbKqBDjlzIJ@aUs2d!+pb7q0SHxdUcUpwC`#iDZZaeeYzVQa<}6efO~a1|s`rzg1G zYm>Ne`mtN)G+RfC+cR=x@pD@7!j%4g{LRa&N;ZCu_+8quYEbE2x4O|mZAn0gCC0@0 zO7#MPjPaPoZ=F}+2A>zl%~Ls4o(fLwT^Hy^=wE7-Vs zu72~vh#b9X11#n^F`T-D>^5&6zkh7zyjC#*{NUXNXpFlZJb50j-yGx;Jp10lebtKv z=J{FqG=rPb6=HC-wCQ2@`}N}+?Ryhj+c8`SO%6WoOWtd#7XwoNqxj(V=~5N@m5UG0 zRd_S~srDOfaPr2y?okIM418O0{^5u2mEb!Hfa7X6hU@1YVklq?`fE&!(=RSz^--RoOk&)U>Uqs;1M)kP2o+~K_eA#2ph|EHI5SI%>tBFRr}ekk^SewKY_3PMYLg*QV$046PTPaHKZ#7nblGA6DI=c zM*`y(br231X@;ONrF!JXFrUfT4R|L49Zy-+ZH-Oo5q=EfYjFir zb(Y@<&YL+>px>X!u_~2si$?ETc7hoEF3uKc7|b_USwob|9QCNtNb;*E34LLVvh^QY z6Q}KWyY&wdx+AcrPwp0Vz!-#1xj#&I5B8UKztacnu={>v;w#q!jyOj=I%pMZx5Sug zCFSw{(r8XR;3?EGTWQCf>r9_T3jjEK-f7jBq;SxL=FUCaEh&Q zDbIUrbBKxo>Ya3lN}MPgr@bv<0U!n}(|p6A$yN zX)F4;t|doE;VKzs&^Hfk1_i@g%cV99q^iw=D0#a6fShl=MtoSup zj#z3tRL*zh-zCTP!kEO{I(av}pVcn4m#;2q`l?7K+7Y>+``+~#V&jD{<2?H(Xdly# ztqArUJa}!59R0U8tPpcl^$7ESa^`WSHdsCBkr zoE~Z0Sw^|2-O_%nt*-b(KBL#d6gjR839$zTt%0%@#_VVB<%hYG>ONBrP7YV&S1%4@ z!Ct19)WJXp7KtxnszJz`vVpSWg2ajNpwODTtbbFcXUy~zLpV){{xw0BVPMbWaz1Z} zgUrrh-vH7vn3CN%ld3?C{Pl$HM3WOZlco;}1~iyj_axV`M6f8{um^iu2fQ>(_po*v zUsQMT8+2lgS)XTu#3zaKW>ReS3l?ZiGW$TP&;!bkp7X?iA6EkVl zhyUyaZ!)5}fmG+^%hfpej-mxI?pLtDcr;-FUB@k0y%KjZmk%sB17J?5&#J$E?B>HF zR94r1fPzR)l0q5{ZEFzSS)2Afc4jepF3;qXe$rgx4VQ7PtkRG_8* z-Or{L%h)rVZ)j8U%xLDm_AvbqJ-I*=QkQsn5BVZC z8uA?7&-3XF*f|;5D~4t%(Mfnsls5%rnOpWi1*WIa0|RX2~0lN3L9xagD0o9~}rwvp{d($+o7CW*L3Et}#%f zgKyG|pX6*?neYuDbniR#{b9y#Jjf5i1Q@B_npOoahl}8|AfR0OYbOz9VwrH8Um_2I z2)dnu4fw3EV}pOL(&LU@LxA6@nXW`u&mpSz&@}Frp0fxpOSzqF-LAy>!of304rkO4 zR6WVPEb~PaWhIBu5%@FO%Hw&G0rQpg@P+s{=oADKbsKaF$f!ZO3Yy5515D}AGB`J( z0c%T|+>Yu&h^F{z@XPVZF@)lmGz*P^w5KMjdYQ0rTUg-@UdMD-Qh?jT@&G{&_fMPw!RTGDpJJCYpLwSlrwt7tF;yh&rN*Uei#eN;A`kV;v zsG0-)ih+}x8m=p_!1XkB(taakbXEf7|kO_S}3)`DsiWS(2oB5u5rqvHH-Ys7pq_-+r#Q=P=*>FfyKAjeEegg}@RRJL^3Zp0>- zVcctIp1N$M@wwSXUhazDsF3i=AjLEl7qz*brmw4%fS)hlo>U%@UE>@UD_`no9nD^O zG|P0YN#QP{+rgaVhcA$*biv^4jVer#H)dJjC_CSao+gNSk+VU4v;7y$@b90m5mZZO zi4^+6{Mh%V`!47f zAETTDhmf~C&XQ0MzYVnEvAqLMV{s!>Njl@G^d_)VehGot8E)ywSKv=3)xSh!3xgtr zIvl&XJor$6Q=G=Q7$;snsr|;p(-920x7KJ!nsuK~1h*A0+c?^3EnQ8}1q&oL0-C%$gM9fEwsT zqH3w(Pv6U_wc^4YQUKjtj2I0`bs-)%2?`>QU$ zRI*;ipwqGL_>60`*I0~xPacN& zE4xh>f>E00rvkc;$rRht!sOhrrig1mWBs$z@0N8Qe3}o*YO_bd(UzQ0SI@JNu`#at z2d!h`3Jc)FnX#SmmNqq4{kR$==BGxzd&=md0@^{0=U3SKH+zFqnP2Tba+WWEfFK9sM0^_*lXK**(8_ouTt8mG%&vLuDEwJvHn>z>bj+I2Lef-4 z5t{HT_5py`z*DdN)hrDe-V{SGEfC(JL)b-=dAvo<^j_(fapT{2}idu!Y8oZD+oc?)Ai#QN)B^lao^%jqa zln0S7pZSAcmcV5K8}2>XP?Mm4B$b3C#n6a4WntJyN>6<|%FkOerP$o{DaADGLkXqB zk~?oT5rig~lchx}AIC^RCV6YkxbCxkbX(Qrm+9@kokrwi&G+MmE<@7lARF3L16r&> zH9pJ5{3|-IsNE0R45~r9$pXlsM=8i~-!{K%C{q7zcyzxmUr~O~ZJ>fz1rU*LZTy#2 zM1d3kc$Y4pfsQ*nbajPaU)47Z?fsIfD-xD}&wyIvvVho4w#c(Dk*I&1pt&MY8i40Q z`=wig^zpd?JAlsv9E6D>lwETL>4k6FXqrBXrKWH+BA1eLN);GdlFbz>whS#>7&QJ) zu&HFd5Tvaq6Qm4j_n!_&sb<_`rWzidT0C&SCI;%)0ST7&Qyl**rTi~X#UFm;vRUVt zuY_*^{IB+(g!s&zZLI%Q+_;`XmUfJqT!EZcvPp%KVro=+Zk$rJu6{No^s749KRd`c z@ZPa&z8qxiUoOwT3ts=_AQQ5)_i(f@Gk2D?bG9%t`FD=8%DCP?9A&{*;vN0ga_xwg zSq6q+HOAJ9tWll?kQVIB(J%^$&07o?mhF#(#9sPcpPwubu6Mw!ThIHc5KCSey3^2a z+;0J{oCEYB^FV|HR-yfjLE}bQ2O4Zc%@$d$KS+9PzCp9oYxZcd%aZAaj5}Zx;uL#? z&5zq)8gR%l5!XHvMBDFX_a9`LEn!nl6LrXqV?G&a_S^W+vjYJiF+|h3xkvSzVE!y` zwu8thefvh^?>wV%M=V9T1Bkl>@7MNY;YX)kWRN0fu6z@mJca&P-a{PDd7<6ygkn?@ zU_VUxyV9cIec{4=_-K<-98cGFQ9x3KdCNei@*LlhMqO3G(*8OTl^-j=TmerDX{onF zBau9kTX@bc)IC#6^bcVbdwr=sbPv+|BeWI~jEiHpX~T68k|y5etKf{ zGU{Mz^E(n~P9m*G+9uh0ML2cdi4fzYH!kq7x(jC=w;!6?#_1>1_TI_A-W-% zGt9`4rG_GW3-3u|K#pbNwo)*)liI^7q}Vm`c6I_lanR~qe93CEXbk6}goj&wnu#dL zO(X6_oa4VEFGjREz;l!mM}aqIj2Ru8)>=`54-J2(yhJ}fUlZIgrO?3~&y#UNZHbZFUds=>e4P`SlLIcLJMscD2)~-g=cUBPIdh-`M-%=x{E1^D=pm$3 zkC1dlt-a}&`dpXgE*(GWt84ZNveY-3He!G&wsm&oIX`{ekXSSjsM4A-Q7Vg;er}<+$4um>khe38) zt6{~C5WJd`?(lNg8lw+Z_r~;PlNad4ptOOgypM{gqcTvXQY2TQtjAdD#LBoN_TJ?F z(l{W7LbvHD!zfyl{9R>9bz-XW@~uXM4pE{9luC_da_&P3InLq%F{`nja{nN^WD^&qj|)%epmN z7%$+p8{2F8Zm~!Jy3k72;Tawh12;o8OQ5X%-a?0H+w#*XHcSIq&tD8HAq%FGn?3?{>u9Sm@3@X^J@Z@CRt!>e3TuCMo{j29=i3S9mQzI~Ml}3*XRm zlp_Zwv7N|!FWFf|w<6@^2vAFQ+rrji=2m`|TXUN^s?Lm2DdD+(=E~if%J0m-m*qCd zAv6#A^DI0ksXpu_`N^fgNdGlp1;?wr1X{crLvwPCXAS0QujsJEHG0n36ip;B5 zMcy|UK1OxgB=sasj!$|y*Q|6gWt6uYnj?K0jk1h;KW&|$ius@gf|Ld%`||?h&cOmg zH#3%d6qF+tXNK4xf75)ujOR{zI8o-i3T>(+>BYI9{?dJ9)C95j@Pi(?n|jbB;`%NO zTyFyuu&_-+`G|RWan)pm>KL5*%37HP&|V!B(_j*S3U0vNNI{t>TOQIpa;<|VLb5IZU}*>{T?Ht*SZ%e1gn#sY_i z?Kb4qGtdSTbljj+II&iK-n7~Je70gcJ>KtbFSnBs_&>oboG(;oF1%&-;wc9Z5yesm zY;8p~w0hHd54~0RQ60)kC~U<~p~whva<_L^uP7x=oc)Ii!u@Ev5|g1)4~X<*%@CXS zQdaD(;<5qrD(WWSI;OHCK*E+Y`k9&2e~r%Jykb~V)0q@~*AtWdDTjmf1ku7F98sQO zQf6Da$r)hteOXL=M0hCwK&G1EQ?hv}`)1M6B6nu;3BtCctg>1Z4VYFkHjZ#_{@}QG z^CO%$JTZ#WYR$l9b?il+Wus5&v_8LX1Vk2>yh zT3!ChgN@`2gwq}`_-zg)_k-WD;Iz6#`w1?oNd&#FMB3M$|F>G-f7mt`6&UA)f7&&F z&u8%0i{!5;jENH~?f(z^Mv8`Y{=aOTk(K{p<8bWFh{1gYmTCW8Soa^l;on4qH2-3# z`iB4Me-k2TsmwOIc?mdG#ACNxG(_Ss<=W1U5uB^ukT06lfRtGgd)U1N6Otehn1Z}ed)NGe^0u#yWnrRBne*Pz0 zJJ$&o`B4VXkKLqRd>=BaUbGA*b^CE9pL&DwiJzeG#8)@N->_kMBYiL6yejw%m->5; zJ~XZ(8{3FlY-=xnVfIUG$nE_MB;Y#xDNEP(K8|>%t4*)Ya;_Wo+KKqu$oJ9G&UBvX z7E+@RVCAPN@qGGwcV6T3RGaopPgn1^e@LzOwZG0oa53Ia-K*4R9^c2~C0yOd44&S- zXg;gFz8di2>v}s@{j6Alq4>SjPo3ZG-P*sG!COvs-_xV2yo%p1gTR5{y^4+O+=_h* zeHc?5Ia{#qKkgwzdx>2aJI}N75gJtWK3;0MzQOt(#K3yx%b^=3eD>Shx3)VmU`V9$ zMS1q*ab50e*5HP6-Rc{_|G>_h(0Ss*eFRry$8L!Z(LvcMbMu+yyVA*g(BHY7;+MsP z52nAH7q7flcU#6InC>lRpv4mp=ie_ABc45+gTW6jaN58Q0Hke?y98eY-@fcd**d>p z+sJILUSX89eG7$sCfs$}sXe0xWOnlKay#0b#`x5^X2*c!f8#bIv#yOkg76``UXB|7 z=H`asT~-gqrst>2bp%8nE^MvHt6o#BXTj=|A;y|s=lEoZAw0|bff!)79Sq>0KV-QQ?14H zJGrARcTyWIH0cS7M=yE}7pX2L`WbZ-3t199Alb#`^%j9jsAAqqr0G%9jXVwt;O{O2 zFEX-b5Gp_;m66N$qHSt7paL}8Bh$9xtunx<*d7?0gT zV4TMtEJuk9h(n<)pg^;;R)E(YJV*1^VOThtg}QUDbPjW!2~(T+1xV-~NoEdm*hnyA zGD+kIT_NKv2R-|Q%KnU%i7Y)`4@EU&ib*SVbX=}<|J@x%)*FqKrIu3nva@PE858pv z#6ix|ieTBxS_BB30G#Usv+?`zVM04GZr$)Tqn2l;h#f26EzO_V>)P~?#lsIa*qP66 zIZR~EP=aRB$J7#hiF~MvL2a+bJ8D#$5A)2c?8h?ID9x7E{kmU!2*P`ygA^bEBFo+LkF zwI4GXBR+@a63*xVmhXK`XG1~rXHm-o8nkb?03s90JUY*8YcP&^tYAQQ6G>W0N38^t zG6q`*>Vhz;n$#&glfcrFk9$e&cHIBu1zM$2Ap}0z_kBY~KZ}@d0cE|Y-wH*LDUL=^EaSZ5plH&X^}QDAWlHsGUzsziCydM?yjzYN zUT?CfU51ZSW`C5Fp+UQN6XkG$4bAP1UKgv*oWqS7jz89=N#;Z4si=si!URU=S_-9p z^359;S*n}|Ubkm1@60^ah;V6u$PWcCJSSZ1`P9B%pg^%5mJcbRAcszWHS~dgjxP{- ziAGsizl0)X-XZxGpHxw(InOsCHV53e6f3X#L+=7Vj3Y&7O*x8Efpg4h(Ohf&c9}wY z4;3oGHs&6rj_LrME#ZNZ?FK4l#sqnpb|kNAN=H^VloLRyWUFEn&Mt(^l8{)Hv9N;dt1C$p12p?M&=j;jf9{o-ye>F4`O&jC z%{IaeEv5Gx_j)j5NZnfDNC`S6beYG2!bI;Xt;A@e7{JA(u$CK?UlEt1GH8M{vST8H zlB!EUcna+D1wfzykpYF>#VDvJkRaeTV9TJrV|if(#c6OEb55LoAu9!O5Cc?=B3C+yl>{j@-XMvC|c&h*`1!zb}`2aGAkr{0)RBlh3Z(blRETQtuS-O) z%{?pLTc+$7$h?saBu0Px-mTjKi3I)pfo2PZQgzT}#8~U56mThLZ<~Qs0B^4q1cd^z zeHe);R${=lbK>`*K*oE}6bum`7Rn75#s>*J0fXX5sFjTPxUe9Z6Fop@FBs^pktJ!4 zag5d&9nT*Hen9z#t08i@5j!x#Sv1FKj~Pv$$&hw-2{P)Q14b9^Nlb(0_e)0Qq$6!z z#zcj%*OYY{KM zAWd|*QiAOX(_qAa;3ctYV?bs~^25j25Pak{J`K|dake7*aSyv=Rk(~rp|ERIdzeFs zxHDFQbnhq|H`Pz1p-UkV84X(ICIn&=kMIR&gFWCCh>OIU${>gnZzBa4S|csa>NUa7J(AxGpvcIQkYXks*21 zQxr3iU}5ZKj8m%Vx*m^HBf88ndm2ufWN=?znK+a7${^8TVu_@d-@|WkLQv~2bk9+w zG#APTi9cA((rJR*>2;faLb#_n%*24-J_~M~c~HLVPLl+2k-r!xSLTAZciT1e?_<@l zo*VbfE2J=D*A7w~%Y{+lsqDiF9x2C^T^eB6TwsU9o}wIDZ`q=rS)h)Uq#B>?11xa` z{*Of&nW6jgIaLZH z4hj2J`CE|FuOJfCnWtZ6W79n?l8o&~TNo6Cv+N`{y4xCF5Q-P1qeMlMfOwqPGz2V& zXPD0*N8cXd>r>D;{f$D=)uJj~;%eiSNeg|dEx)<4`t+r$yM|Qnc zRY5#W8+DJO80B*$$T4wqjyKcCHfw(u30dD&EL1FDu|Qfn$FB)S1FBft6yW!wA!As$ zA$a?ub?*dOSUp)CdyagEL%q9Av+-E&MmQmnXo@8c z8n>Wn#(_?_J7p&y(_agnjf%|VoN9~~dKnI2dCIOIGy&>KDcL!^Y+)OK zIff6ec=}<0b~N=m#7q& z5tQOo^ZYa#f?tt}NMoynB?u78^YYOOX~WYeA3NR{3jFWY3^)jTg8pXNvCnSa6KWP9 zjntV-86I)#qhv52fuLJMiy)G7>-96nn*7BFiLv0x#CSXi-;J4TqxQ($n_slUF45_x zSpCFOk<>>Bq4fV&2*n3)lBkHR_igRC06RPV?ac|^34hFE}&!tI(x)D^tRKIL_1OFrxzdE=wlQNFPA;mdzy8Mj zhHy*HenkG95fWp8j|_nU&LZHp8XYN%6{!GqUs~9B5gVB|_4b@`#L=~Sa>Ut>UhVO+ ze2Bb^RMtI%A5>yyMN{ZZKiQi<3G{m_KKXb_5Zx`px!5O?3+~&LdKs~f!@2C}JoKHB zsNBd(KTTIQCG1cDy*xIm_E&HzOm%R$&_k7+TGB)VCK$pz$j_6=_RQ>8!N8pT2$NWB z8j+YxbV7mN?NQl%0GS$22HNrD3js7}5#qRuFAL}GC)F2Yk#10k_y;|E#!+t0_z@JL zY)Vw*`fZJ;Pqhz%{Kuc0Bma^A{IyE{UkB#jiT92t^tJE>_@m+c zt1ew_82?q)D=jVE*BNwwfPek{BZBY`jBp-R%de6e0DrW>Vv^4E_ZC$3ddCl`~i;R6_$s!Ie>Psya5)D@8zLv_&gWYj&zy)@LPO@_gZ zjsTXd&!P=p9SBIqqFb(0dmSEC<@xKIWu_uUWG(rRQv5cGWGQCE0!?DYO1M!Otk#;O zcKscey*=I5RHO)$+#1m#G)5>e#o2a&5hVf4^H7P4f+>l;_xah)d01L~gWpB`^Ab3I z3Squd7Bzk%rEv@I)OrZEr}d5+{;Zd-w7ckPQp-8{nnS|X%}H0csCmPb!>J6b!l2e! z@`$59i1Q3Im`&h_LQ7{J;NIhqENh%m6GjjkfD|+*RZC_dA|Q>c(97W+t~>j-IQzt0 zKGt+2ztg?kWm|=2|8S%Xq{je9&$QZcxoT{uW}9NH6;~p6EU+Gh7*`xrwN#P!`0?!= zxoKM8NLaS%l1Y(<&-MTw>!F#IP8vfd!+^)1hLJ2x!Sso$dB`;Kjfa z#vP~0(zr?)I$_WV8~b%Ep3XKNV>~O61kXa+dQ)kTC@#S!{Ix1};Qj|zP6Nmo#|)Ds zCqAf(cnM@iq72O&dsva!lnUl-7`9MjM~QIpYLmGhIk&8N8Zk34{QTNVwq1QTeEr(V z-o`sOkg}CU!BlC%&M9Si1rpoY*_Q zR;Rm9wk^1e@rI zSBgNw^^EY!MR*EpRUu$0*07}J%iVWl4XKO$}~#ME~2<#EhSl_ncuK10su&{1UC_JT-HNP1}P z`JA%41@Q6be6l%(+nfN-btpv=*7i!1EB%8&$2ghyS^Rp} z2lJZfuY+zXCMj*Cn0WgO&uhL_5ea`6&lIgJS7mI#_WYG1bat~mwTx9@M@x9*QD`Ha z1JT3&n5&eVsZxdsYS5y5nK8Qv@g!e6HOAg68YgM5bztV1 zqqk0s#ptu1ZYE4#L)v|Jd0K0Of(dnKnWC3Ue$07mA2Kbg%cEjzaLdOUmb!S-47l<* zL*J5z4Rfqwqtdr66sPs#WhNn$k~fZqouoVOuvIHclS6+hgx!~rDwj*~u4_M_sWfuo zMUhR;%p~8>`ZW~s{H_?K%J68qU+*XXw~~%ZQGj?( zQ+TbiRGHGL@%kWPdD_^xsII=&Bzji6T_w({N51FjN6=^sfQa2_Qa=h|dkY(;&_0N5 z5x}AzG8CJ;RQ6JtuVq4t96VsSvI<^qrRp2DRhknY$hJg?p;Fghzy}GfXY^{WpMOIQU zA@eGPWle)MD9#Kvw;_+*=m7&y!+gdu+KN#kvN?1xydoe|q~!|88Urns)?>Xm$I>^5ro z%BZih==O!Av;G*q_{4@XZDUYMPHJTh$R#G}(=39yehwDiptHE#Be;e!7+_Mf z(OS3xthc=^8U)@%edO|A=9+4PH-veDmu$0@4dYW=tJ@7}Xin9AThKPv0xG>Q%vyB3 zh#%&YkV+cfP>w6%Dt&B=b6gI&Agy>juCHgCs{!D;fuVmzgC~WZq;&wEVf;1NRG4fr zj?ERPhy9dt0+CPA)ZG*q=D2MDBaX)+Sn43i21@?|gB6}b591Nw?g_*R!HAMy)vkc0eBIq9~_af`Lr}yaZ@PT(`kM6jK3Y`gr z&L>KqUq!8{mrPzAy(wa@Rv!N*0pAK6%3^kw2U4?rb8Z(X)=o-S-g!LZRg7zsv=AA# zh<40ai-wHl1w9oeQDv}s3w5^%o_ zqe=3&%MggbB?+@ytv*5P({P2V!{Gyt)c}UI=A_S-kQ8=X$?KDb#$zTLE_^^i4=D)9*G^+6TJ&X zFw-i0f*aD^$O;VwGYE;{dQuG*1`&s0*lpEkY`HV}?4sP&soQ6mJD)@_v0$(WaxUlT&uQ^DQU1#%dLJYB8ir;*)!#I4}!J)XvSf|i%JCkz+_am^+_US2+~7n~SCC9S16ON`oT1(T=G5y(9kupym%DGE9b z&F%L(B-p?RM12l*HYHUKE1HL>4vPxIXQMy?)XGO6W69v8qqv~=(&_blaWRQ)U`=6# z?j`w{oE?_TkXM3*&INe zf;{&pPX@)AkNgQP%>c`9lv?3l$PCV619iV%LJmyOlXny`%R&h*96~eyAQ*g%Aa8}w zPDyz6P6I?~k_I!Y81zR4Y^F+EImqe&~IA z?J_eC<9**5@Oaot*J^KjX($nhr8TFdr_Rlz5q`yt7q9P6yb>maP^Q;dGBrnE>LN4D zfu&B>*;uoKf!2#*n75I+6=HgPVma*{1_5DCBEuJTG;O~Pv*DzPnZ>jE)6}A|sx}OT zx6t$OZ(Mv_+<{m6)RP4@_6EZ}%aeeY4b?X$Ub(pR81p2?`47HJ0>y+(u%htWaCHU5?9)%@tRAwgslDcjDj znH-AxQueG6Pe=aWQ3zaIt6SYz{M;UI&)4%?oz&Zs^IlK1t^D49_exv*@8W|K3!sWf zT)#S9<<@=uIdZXVpKlYLN|iV7Tf2WgQLx#CkJ|*)R4ZJd6}h7y`RK z5iOh~I4>SXq-~$j!%UCHz?v?B3)z;xDZJB40ymRhq{3nB+;q0JUsQaa4WB15q&7ki3-l>Tgu<`8Dj~VjFL?@7Lw- zc4lti&1P4mW-9fA=yH%u@6Dr!b5{5V$8+2U&@I{f@Pkr^);wB0@P3h_EkI&1$JSyN z=f)hZzoXR_59(I#@~_!3f_VjorpaSDuMR8o#vnhme?Cw`vXwgJE22OpoLQ8^AjacT zBAJM)n8lr;E$clOR#tC!yTq@}Ya<2yA-~7^#fQb=W4d27y}$Q1FUu9F-mQ&~tGe5F z1g--69?90+H@u0dVEa`{=P|+Zpv}IlLkg#d=O%qzgx4m0*mn?SSsbaRQix=ggfJlp zr-x-@23LGZFdxoF3H1ytQN)|Ohb0l(VrKZU8Wk6k zill;^g_hY#fgCtY&3dGpidpkYq}pj8!*C{w3=#B~1$8_#rUEa&Ar1W;#nY;m9icdG zBha&|y&q(LVLNQ=gtjwXjeiEZcEA&hWNIc@_{gY|EdLISxhgx>v8xlSedjTn@zdln zdn`c>qMwT+i%EAM{-g&8$GV0HD_VzIVqUet%(qVyPPaLX^BD)b8T-QsPnpb50=d}) zs`x9!NT;g4|B@JsY#uj-!9+>bsy;XH|^%F$B|p+ZX5Wx0{ip;AcWV7jZn5qep~ z*(%*5-?mP;L~#<;)B$d>46-bene%y!EDiX~DOJ$;myAbURn>`4n_>9#Rhs{2NT~tJhhD(}XKZSq@7pYZZ`RF~^@)2?HtY59VE;XV0Ms`iAirCZ}w^GS3;9 z6gZnKQim`N`%5IYx4UU#!p{A!c_nS;iUU#)q$SqDb)?53K zI91h74s4^TSbCWzNuUph8Mwg~UC(4>obC-EqnsWaEeAk2v>`<1WRX%BpjmPniy`I^ z-~KmUG+bEVq4FO}s47YT0K$J*-2CTs^j|n3{$W)$i1mY?9Jy`x9z5d1q0~yor(CPJ zUSO+D*a0~98yL*H0RRbQ80ElqN0o{wU8T&rvX^oBUea_USqjhh0-FHDTMVj{7bX$T|`yT?|`%j}>; zWfOyZBp$7#1Hwom0q(GsrEf#Rk0hvUkY`?zW=zUlp+W++)F0$s>hx=c+2?svn8g)!3#g-F>6jVzYIUWDplab*(lJUy>9ly8E71r1+J zpn!?>Uno$&%Q9V+B1!m~frHJj-PC8)D^2b~Kri#N2zS^vP=#1KLNq60MG*?XuaiG7 zFF~fisLQG+VQDU|*Ofk70YVYf4%-oF@$tm^+$GJRA7Y7yV))mlS1rlnJ4HTj!Q)Tt zg)^jLHqC${t=7OE78~MKyCQG4M{H<(p*i379(`0Rv{o_V!ibn}au(c_s$nD`R445l zFg|dTn@jO;rvYC#fOVFB;h1Pn^UKUURfGY!IXUBEl5km(=}z*GY{=9UxizZR00NF! z15FB;;!Lbc*~?7h(B?JFVj+MKOfz_b#vtdmPs@=fBbY%Z;qO*w%o*KFaeazuwMnZo zYviIT$l=B`Tv#cLKy7%Byfons1MSs?L$w0f*inVE;@k|yP4=5xzKEIFDlTa^OOFtw z_d`#9DU6|7CYmtUvJvvyab#{O`oo%lN)gz{UxcFqU5h{(TmX-Oyh;vqQFvHOGp$#ynSudn(p)U`7y(d~Cg`JdIi|!85;vX1ahWMw3S4tfxlx7n zis>4a75SV@tF;C<6_uPI*zPxXScpFH^t#TC2C7%eJr~x?<}O}%W|^B7BU8&dxdTgtGLM(J$ane*G- z;`@C`%{C9OhyCk$MT&aAmFC5QPcr?9)y({ZRyz3UJXgPb)&>1HvK7*$4ph~__?ao$L!{ffpCoLp{W{hk6l89)Gs7Vc}B=%qq4=+){}M3I8SGCcF1ue;-rSR z5LoTRXp|WN(SZ}`=E7ptb@>^J#yIhbKHTDh*Aj2)fowvE@4$%$yyylBZGJLXK+*Bgst^I1iqS~bVrGG z1;`QJd|Sb_nQ7!3i#kqs{=S<0$fHw9&lJ)V6o3BeJkQMSz2y$HqtY~9Kks`bRU9;Z zz{b#NkuaoWvK%)*Xx9LRLBrN(ZxYdsbOCMH;vD28_oXPl>R^3Ds!VJ@Fw9tA0adsu z8sZL~(NYxh6&;S>g!g8@&kiZOS0HCoA1rMXT~a*?DoSVSOMU+J{vJKTVQiv;74~SWGhp zI7WysP-BD)D$p@K=4rBh>L#4AWCl>EthATgEBzA>w1cXeQ-8Lxny#9BK&sqkx{96lChy*WrQ_yr3(XN8dIwm4x&IuA!|fVd`mfR%se^@T@zG8i^jZBzgbNRr3gcP zjcsQ`*gTsU*OEF$T^+-Be3_^Y5Y-jSp9p`Dht zJ{OgKl4j$8lE$i8bk2K^%kCnqXB(JsdO#gb^k7T!kW(i0F^fT}41}_-W;X9P4*2** z0ZLUe^a*4qCTI!d7!%xT1rI_5%{ROv6Q>&m_W*IK?*E~$4c>~PQ?g1u;ELHj8e{fbx`Xx$XB z{(h6YQpfNK*Rae){Q`FM|u5UL;nQ8n6zpJw8Zws@cGcCwFxE zo>+^*2!Cv)bXc)jQn+8UTT$Id24W%|-kYGX*z6lqTwGHZbe*GQdo)~QS#uGzVyB$H za=-KvwvBDdtz6c*oAmGAOZHzE_xZm)J2uRDz&JQxUvGay0>QA==&wz%rx}cEBE|TL z)ZW5XMpc%(^1Oh=sEzEuJdj_i1cPy)c(RdVj)&O&&IeW}j|HVJi><>0< z=e|5+dI5PhPiiAClH{p~(z(eQat}PUd4C&i*HtsxPMJBY#_YQt|6Bb|(_WXnh3Kgk zaCs#oAHhXxo^rx~-g3p&^$PC$@)6YS4`0Ir<~@q#!7CeDx{a%~;4zm@tBM%EG6kU5 z0Z=8IvRd-+VrtOpbjUcZnrno)uv2y;mm4z;3m3(u7=B>;SCbx1WN4vcO9g;HZeQ-n z)wA2zMM4Sp{yF zYf(kdS*p39Gv3rzZ=etRJX0cBw1D8fDQ*`5t){h5&ZiVW_Ny)cH2U(Uu6qFK%vEh- zH0#;R3pr+d47Id?{Dl{DCxNQ2a(GQpT17hmb$7>U*xAqJ_f9$N7kl1wG`Jh2`M-pD zpV!R4X;3yNdkiqY zg>X_3alsqc<6eI(JsXe@mN8$573?q%EG@3>Q{|Xbh1_z??6#BIc>AoS~i5swaujFU7g>KQ? zweN!el-2WDH8YhLaG&AB9)i?bCHWxOjk{BP^_BWZ08TfzmUu@z>s)5Ib*rz{8{(MT zJNxD`^Bmm%OQl-@gGb`o=B;!z`c9qR3$|zeMQ%oV9#@J)a1C$)Y@Z{V;)`%eP65J; z2+8(ODWDacKMAsrF=U-Bmmaheb5{-#^F`Sp=5FFu2zdh?s%f^`>7+3d{?$M+>+^Y> z(s%U}0H1tFb{KBR5w3 z0@xVv&>Ha%^A>UZ(e?#h*30c_6u?qxxS%~2{- zhReRj-HFboD;|=6@Nt_Ez=Ok=SGFFA8_IiIOfSzrr|~=jH_@sbLB5K)+;JyF`!Hga zfW8LUpmDhlXRr1|CI4XK9)OWnYCE^M8~^lrSj**OAxvsweaOFC6Q_fj0Q+RB2vXgy z8mWQORab^*_zPI*5-Ol55F1yF#S{If;ZSTfG4Xde>9_CpFs98}pc^ML(Z!&sfv?k1 z61qN{Rb{LcYU_3k4L2lKDr>(2lZ^zqK-7gyth|pog z$PWxL%cdF@6*BqV(zqS;)#e)#vet&Ni^uGu4@u~AGWN0dMz`fGz+5+E6=<;Z_cSRWISd7^d9cr?32t~*C zU=7EBiBGmJ773HFrhkVL zJ3lzho4U-b$?UK=yB~W$0wT?sobL8Q5uOp@F@|Z2Xre29C->($2r<{hd}v~^v@@<) zGKNnEn@Hk{w{8CpohdBk@RXSN7dN5Z_2kwkCU2Xz?wY8J92t;K$nK0dmS*XYBl=; zKyDONcW`@1<%=C~bWyRD8mYQAurlA8iuk`oz;t)^O18Hk(3!|c-{#TZZ2snuaW`Ot zm{YW)>1Ccl;%z&m%k419+7Y3xBJxnED(S}=@l>U3=+Z$nmXm?rB-(ng zE5CRII`fUwN>9KRD+=jT7UgbBl7f?Hpo0fNg^e8*>Zy}f;yMaFvjhc~AHs?#!zid4 zHy5nbXp&-M_7W`UL?=j6gs6E;M5K#;i#K^rZSf!}4Fv|2tctN#)+~pXA^9PED55h^$ybd%-9_ z@+5D%stDvkQ_s`X$Pv#SzZY!%)fsOvE=Mtr2Tc}jax~fD#=KR>RjY=t?WXi zz)rR={qpkF&&xxh)hyFrO_&#ThDG9vRHZsM?DJk9QsZB+aB`bLB3UIi6AZ#`7H_Fq zflw^9PPB6^7dP9=?saB43*`-n>(7t>QQLWgIm<0%GP4fR`mII@GzwSBJ%kttGPQ`(XBp+x+qS}5#*4cdRJu4KZ#UT$X)bUS3&yltPMaI zt;P$v|8n4oYao`{&2doEYyTW`bjO1xJ1!#=e302}-PvuD@u@8+Tb&)R#(+x^H=Yxg zaetPa=!d#ji1e7_5FZ`AT@NQiUCQ+w;x<@No8Km8gWa0uN{OzL_>P z0JoA&KG(vaFPfUERCP2>`&TrwNYOWR7*U1{>h!t56}}X0CbF(>zR?#3i<17cVoQ5~ z)-uWH`olwy!VIAm%KgX)Wf5oCREr16m1opZUCMR{9-hI#g3Jqw5H#|a3ZI|!UT@&CgAqnQGS zmVaVQ@u%_O{y#>ySw+iA5Bvwgz$>Tmp9P`%mZmA-3sPvOoY<*V$M>mPMvyr^w|Qx z8A(Rnqq7ZPAEqkj%vR5>V#sIG)T5OM8H?CZlFzHukU~jQIYlvc*lCCvxO8=9M#E&f z5FM0`($}~tpBi#1*K#=@BL54U%aO`yT zMX&ssKj?0_X9;CPU$fOqZoF)~)?-j0YN*_~i`5lTuQ0c3V}qwh$wY^J^@6T2VA-F? zsA&`|Iy-22q)*jM3jU={ZIx~mQ`y027R3-kLpz?t@F7?gOTWzfsd-Ap8rzpIDnKY- zt*l`l7_W!&hBa;02u;m=ea2D~S9@_|_b00_2SP8yoZdA>HS^yGolAk+?`)|8_qRMhjYhgtJrwN88ViS#KKxN4Xx2G+M`oZ_0PxpvN6viN(uX^ zYu1zkp7LZ+$M7?1ebNf-YG?Y8lf_em&T?e`ir~Th>x}ZXlNW8!flHJ703j4GjR!bo zbS}9=Y!l5d<*>RH53pkqeseoI^I|Ej(b*R0J#*q_cv&3b1tmMmwxFwEuy$=0cGdCN zuV;D&Y9HxGlDylP@%&9{rEh$Pt;?yE$P%}%dQrmcI&iUd;TH@g? zm$;Ym91U(|?VC3V^TUrVd7_^mb9AuG2Rxk%s~R)oA|shUw1d2Q;R*a9(p-LBT$vrZ z`#9=-Z)FieC@L`$V1*C;I5!&^8Eo*%VxNE=)8v5;t!&t?!tw!^<}?mq{5KIuQ0-LS z^|mf2`dljPUqy{ANpG=Iq`#?*Gh!}ICN78l;AF9Lf63jE=V;w{7W9eOUzCaG?Bvq4 zC5VPU#Y#HI;%#L+CGrf=J>EzFX4D5TAKV-)cla!vAIPqhL4%NeGsn1 z^MOqfyN~21LJN8-eCHg9;Z_pr-y?`#MLx|4r{CcNOnu`2uf1|6FyRgRPasA86y<-C z%=qsq@87A(QA*>{YXUz588sLAI>f~!RV#sL*noYgNTLM6A;O_vFqny z$aC7JNWD@>J&nc|=DHTx{WXsIL*d&tHC_(iaxnZmOZiB|DuwosU#pcjeiy}R9#e?H zajyypJmDYN^{Lk0pv(lDy3vr@CVxyiQ0;6%g+5`hosOnV%h=H}MMaf0mWyE_R+vB4 zc#QULzd}O{Jugw5%lbQ6ppMHJiIo+jOL9`4M#j`xI1_m>ctSYZo@2|@l2lAyWojiybu(imnG^YU2P7u-yX$n_9txM?eNU3}rI ze#+qp`;cv0cc~pU^gPGn4Ig`|G_E%k%f>`55P}&y)BGNbo<5BHfy&0NG%=O{IA?C@$0wWxKqSxB@d_ODr^!fas=uOi5v0;`|NK(?E&>`Uf`(3ie2>p`W*Y3P-7xXt~ zV7qU?f9`Yf{~^o&Cmx>GMc>lm|DqJ@D4YS+|4fI2KZnSF(v$rc!@?4Ra^j*gzr_C! zSj{L^S*3jrgwA{Fww+q$_7!7nq*P*IMim?rI(d&K11BUzQF}>ypl|PXQXdec(kdyx z{gus{_fGGs2??dd5xI=UVBEB!DcN4U?`)vUyw_NGR$E#O(^V-AV)Vs;w?=$RcxQD~|$w2kE_<;UpzZU+{|w zi>Pdw96K}m&JOeK;xG-&tMyPPFr_AuiXGEOe!zyfBI4Qj?(#6tGzYeBzhO}9$3&CAn(HdZ&*Zpced`Ymi2B)0v-H{o8Ss`ZtF9G5>8bEvs* z(eahRh&|`~SBvAh$pJQd8F)mn9HgG8KAN+2SpwAMGEXQ4gb^wcl^}fvQnpG`QJ@ML z^W!5qJg=H7##%}phlGYdiwAHzvC`%)FC3=HpdT^o_XruF$Nb-k%e36R2!^ylB znYq%XqJ~+cExvC^C+t|J`7$D$v0Et#d~*el5adpI-sYAO{8gUkums-xg<(NCcI5R& zF8(gno2Ct!T?#bYL~lM7^6!^l_nT9&c81r+)QeoFMp@j6nwwzHJ7q!?|5yEhQq zFQ7n8N=^6sI%S2g)ICtbFe{B3wP^=*ak6%hU+;lcFId=0D;$El0_yIj2XQ8eb$W^M z)l7Y-qrF0ZqnR)jClY!~P)a7AXK@z1AgQI(&DiYv8k;=i`nrdc9&7HX-fC?tqDe<% z;VNuVH?_stA;S(Z0QdT>7Tv^XPQ;t4w=Rbrf}?9WNK+_MTTe9B_xk znpcyNpI?>ka#xl_8g~C#T_nexCsPcu(gy`Mw?2-;rDD9x1_yS&6>9ef2=<-wCD#vC z2>M&LRB^g<>sE!lnVH1g5Pj4W#J&Q#8ArA_9N9%q+(q8X%pn(*V;hNET7PzgG2D`- zc%eKv6V+aFjJJev?OtAyKW)e3T?k;)++s3riY02n^#e7SGm{uPier7;?_h^1BimDmBd=lpC&bsZ1iy!5`BdC)^`7Ml}8?I}2 zo*E-v54+qNK~(hVaLDm15$MR^zQHK~-Kb|BNgM#35?4Xb9owiAp*nxnxoWVrdfiYd zmx}uP#}v$!lWiR_>2Mfd1)}2T3W4 zprY^=ioP?YG$8vMmsq&2{AfX-ubVvnI3fAo3;3PCuiI*enT>~&V4wXmY@gDFR8kM9 zne<+*hU}J#bk$mA31-~oQ4%3vuZDfrh_(2aa4!U24+lFV91znRqm5+U9I6_cnzsn_gN9d%dj?B~yBErb+3y0{!JfO!gIYCXT|KAJpr`TD=0e6asq9ON|` z+M4i#p7ZdyR{2>kXpX$a#Y(j&+-|KPMuzBeM+Jy4M+&+?;^45Y12=f>M|1h<w!hN3)Sc= zY?GtKFiVzX_@yEmTy}z>BfE2h+O8F3u^Eu)4LPT_mF{-(q$ad758S%3XA_(p%nB}~ z^^7_nA#A%hIb}Zu+dyJbLMmScoAhT{~<4Y*gWG(gCNICOyB`J%zql12iialBK{p zf~CUQv+H2c8irisdXo2-8x?$U{EY=-LM5N(qp32-~TO*ZPk-MiF}La;milR<=+PA4y5%$}5z)wvCnrniEqi zFc(fEG#wmD5kXU{mu1JII`nKY_`1v9^C-r>cl*5&pf1YYEjRi%jxYz0q6d$iNKaWS zn^H|u(j$$S3jSW@Aw>|4UvX9fUuTUd8xg;iL`64lhznPggh6(sTpT`0UZw%0a>GTh zkI$Eo&?c7)#RNH)auyD&2&PBxO~$Y>e*%QSEZ{WQbsM8U_8|K2nXjgw0RkNy0ALjH zpXr$X#nJyQa=%73*%)kgq|SRalp$ydUImu(3O`r|2Fo6SCG=@yMu?_W+NShuv{mVP zabl3K>-X}JrQrz>yVwH)34?^kTir#&N9;B$FI&g=!{{e>R|df{E%CN6$`dvPo|eKK z3Q)r_hcnOI1#GA9-ErJxAB`u zhrjcTX|ZbF2Qb#&Uk_jX$MpDAf%o|Qi0x|`fWxq)HCF+cUJ?s3>o2%`mXQfzsDKG< z7+Ek;^9-eWUm=Hq6F8g4{oOW|n)Bi-aS2Q9r48#dLqpEth~H`~Py{Ty#2_1(JuYiK z48PhFa_)?xK6VW+Wy+aAbF^jLF<3kl&Z^l#+R=0cZvhEnC$S}_L7aN8Pr97oJC(|-&sV4`buAv*Ofh{i!7Xr+7SKDawp}p6h z3hCQ`P6iHu&y>aK6t_KDtu$xx&}yAvD6V4R48~8Irb{xneFyqOPd;n)&(qsR8-*m# zSW9bt>ABg(m+j0~DROj?LxnHxKgI4%{qa(}Mm~Z@%j#L#Xy#&P>keV8m@Wc9o<8=2`E!J+%tpnh~*Fq!!n4te~5EG;VuzVr@WGKwcw$u zl$cL?EiG_E|^KK7s{CrJQRSv$DZ@(x;{1gtiDBWH!R; zyIn&>?^%G3DAMkIjuU{SGQvD!oW;0NjM-uT=8$6b^O#jb+>PicL-5-#sg6b0M1rGg z=}mG-G(y8MyD0J|Io>Rn3IO_!UVhRWj5hSr)EMoSQ^gd$Wb>m6_M(ltW}Q2xd3Y_H zq#Q2lA@S~Rto!JyP`{}lep(_whc0-NQV)nCeCjO)Y}1{`;Gx4JVc!k8JjDDin#Ox% zNV9PYLf&3zrivJPY;>;L9r{N8ENmdC9}^lTVu;!x*KipdM_E4}Nc$}VlH6@{m9Dh6wm+sb{=!f6fp@5iK2d3|)YjKDM=t?>9z z`y3EG=ebnCWDA43#0D+WqeNH&{hJeru>f>Pk9qhpt79B65D$EG+DRn=_i)!=4QvKRQ4A$X{+n$iOUzp) ze!rJuHPK3PqD)%-7`g1AG6gLI?kek1ph3n|`@1J>PIBPkG zI!=Ub47$}+r*PGN3uj%Uk7Bw=CTGD70rRywfunLcP$?tp8wguv`Q1C7YTmq<8C2O`h%%9c9 zxp0WEUSh>6(Fn4@dq##-_mC7|4X9+V6fro|jqSDq|J}*&N6-U1fy-cmKYkm$-PK`~ z^=nMVf;T`oPJ`EGMY7$)W*{E=QDEOq5ozXyi#b->dv$bEJj@rE0Gys`;_e~UML>S@ z_LhF3A)P+v^s+=#shzTe$o>Es-dVVR`C(+YM(kK`o|`G(#gt-RBnmnt=`Nfkf~e*S zKpT^Ctt{*T|Fy{S_Tr8?3cw>^1OBe3>{ULHj@>qK&53sjC%Tjdb8qzO<(W4)@1Jb9 z5dCLEDr*eRnzr8=Q!Avfo1R6+)p-VHQNwiaCh6vey5FU05V$i^m{zHnllb=&JJ=Y9 zA+@w?&G&!qAOHVvj{kIW`Io|L^m7UMzu5Cs-M#fe|2)Or=J@CB=6|>TAFCuftN;1N zGO6`#v)=S`qVNI5hRKRLKJNNjTfm-c00nB$s4b?(3(w0XT|0`PaVt!m7{BZ8ZYLI1 zKsuZ;Yii_YVRPfbyXJe2iqGLSB*&*)g`KVrG{_*TV(Lu}GPsW5H%hj1?oA3#ONd}j zM#-S1KLnzXA`Qfg%I-BUJ~V+A9`To)49DTC2|}_|Q#P?5eo!T`Z#9IRt_S^9%|Z>` zgfIdSA_6r|6DOmtTPQTWa;RAwc^;p{4!UoyVkM$${z9T&M{68+Z#g6v8-kiQSL>u; zT&5qz`~pv!ff;{m;sTlfYt@Q3?0f5@OGU_H=f$74f=6)65XGR+dexH6(1rDJ^I(Mu z>~-G%)PQ)baYF4vEZG7~T)&SofH z>fgdS<2rpq(s(H|H(IimwH~AJcjl-J7quGSct4>ALRr7~QSIdTKSt!*%-B)pq+0!P z)g>32<{D^Fa#2WM23@j~`IOYvL5lH~Oa?M^t1n^V!O3@B^_*V7eTL5L&g-PkAtDN zfhpK#Ij^pce>z~Tav-9_NkZC@3@Q}HwJE!V9opUMxv|H2M$1tMHLIigRiyHEVS8p1 zO&th=USY8izqrIjcl>x!ktpHx(4pKS?J%bu{qDgat?@ef!LKR-#Kxw8h!8q!uZ@;c zyOSRQ0R$Wt$5}BBnKAdY0zj*i-?TS+cv>G5UON!q|Gu+~i*)$|+}S*REQ8TBAjQng zSW$Pf<&6>?Rm6pa*je)h) zFyRC$(`ZPKFfMhYkyU7bCycd4MAZ1wV=N!IHw?G{l%zC)*>#KvO1b%sydFmm!i;0&aFa%? zLnVJZ8z|BWI+&C+hHE+DFUhR0jfO@9?n?=%VifyAAu?kkT!(xVlHi5ED9qctKsi1-#G7t?xiQ^r}V`$tZ|2WC`?fg#tBX~ zK5prjRApXdyv(z}p+mG0R5a1u!U3t`8-@pT_hXu(Q18vo^3DpqfW1_U6gl$~^B`sA zu?;Wem3rMvj>OD>@QW&>v#QFR#&Lu>n|mWOMtGB|KC8H=JO(u_IqOdzk1L zV4VaIt~4N7`SPqra~yv|M#};0c{7YX@J8)~wAmB~hZRVVH^&1kNj9`pATDa#ix5t8 zV~prLuXl??Ru^k6299OYSt3ck%sf z4ZdV?gG~S`z(OV$G$Hl2VTVKwIZXS?yR7PPfZA>)U}DdC9td^dygaG63)rFO&VfX>K`^_~B`sen+SC z-YcQCjyUmOc04o#^}dnVfT3z4uk6G?vdz2Q!)msK-PeLda0phGoD7jUz5)_(J|=ii zXE6x`24YU>y@U4%)_c<30HznW@+w0&_?K43`5?|ZS55QUj1w#5kdO{x-=mpVj_iu( zSg6V~1>Q~ND^MzXwA4v9TV6rgjo2FkzwpfWee&xqO$M-Buv|Z+hI`jv>;A^GWKpl) zt}V-W(dyL{NcgEDCs!|qoKv@UvMdwPW&y1iT7frn5BQC1JfOP!!dlGB&_iCb; z+hmmKC{$SY-0A5)x@hf$w7pqA1Vbk}`~$fODNACA!-kE=Nf-ljB4$fMZb{o&qR9Pj z@|V_yFHAw7_nhv6)+_A^qqm-Qw`RIF&zDLzVw=j{9dWKKf`KRCBy;^dp^zC({aj-o_jjmFA!EMF zg1;-|T~p?7znG^ycc`S232H{uyRFNkq^f)d|>i<4d-YCTHzV`~)j`fUt{m`W#)Se^P1r&|MQ&dtY{1eU{yS zHF8fpqNSc)L55pom!!#OgI$EG(Qz7-D!PHC^^?08z7wBNq79T_*5vC;!|QfLowRQr z_@`hrTP%nL*Zi_b3(KC>Men>FmXLmiyl;|^)8dNS0k-``__BBfFfp~WuCS~Z($b}+ zY&Gv3&jK6(y$|oX^!x|o^Ry?P0D1hYHN%Wl?YyQLwmvGV=8-tR;CD;BXI$7a(I`L_ z>E$}T=Ou9Ax@rt7hPiHpXwWYJp+;ZSWvEjtY@OVN@P+~J4#>=-T_=Y%hS}LuV06$q za5!w^CMGd8-DeR8{!F7aXev87bO!ZxygKWww~zO^jf_-ErXh=@5nyvz@D)U8Znu(? zKm1K7eYy`i<4xwl_q|%+@u3Uac=YC~%8l`;QB7_D|w4U1*o z+bjZh5=Vh&%VtU5C*WD*6?=vv44octT=*pV5C#n|?e0J)tx=hG0_fAXZ2bBqP-l}) zhlMZvh9Tf==mL>A)Z-VaPM$B&U6|{GnGL6m;`A(ut4D-4=st;EJqy*t3JAJ$BQSZ) zYGv?ul7PH3!PhgJSNmq0s@k|?LIe*XeTet3sCH0;O4GBDk-FWbMI3O_^8Z8GJ4M$P zW$VJRc5G`W*|BZgwr$(CZQHhO+sTe?=cdkmsH*edy7&AKYqj|@$82ql(N~+je=00W zmhhQuTYvO>h*J+ytrc_}kj_@2?>y+xCq~M~X)Rh&fPR1;unL-}rmY{ByYcO5Yb#}3 zPANyJE)Zg;x>HPF;e=Hj1-{Y(KWSH~)DxQ-lGH&hVL1}%N`-vo<*}$=T zkjn9r5U&DK@ggOggcdcu^EhzYqJKQEanFKXZwkwa4TefoCq<`G{K*(1w0aKSzOc9l zplEk-)OU;0?;v_M=|n9o^X}KjX$y(ob~kOP)iYy9zEFA63_Hn}5Az|`2g`qOj5i9g z;G31FmDT`#taVAUt>Kl1+p{Ox%EgvQK2^oLIq(H#|RKpTqlgA@Esm~jX05y3)p z<;7TUh4%{m3?&fE3(-6;#x zznB%=W!%@@HQdE*R3$TVGr{~NLWVzlz|{s%#!`sr}~6UXuY*l-w9JN{o; zT|-HIKLmH^;A=Oi{1j{6XQ1`ORc6dSwKgtrS`ObGzit4|M;R()t z(Wpf^cs_H9=&?Ah6^ZK@nJNuUZEPf zOMzMVfO66adee68~CB&`XdUGg4dq_$@k6qqCxgU_oa(nShO-_OzJkZ$H^&|LPupz_fB?6!^&ZU8SyJy$IqR;j-+g?KMDYHyl{Hu=q|6xcSyhP{Q^rgI$0?@v2%3HGzsNby3}Yqi4nn*f&Ft}tbLEs zP<(C827hAwqc| zym(&fSs2+?VK3h|x>gP*YDo?kWL!pE#$?#*K@3l*;o5v$6!cIcNzf=x)+^+q%X5OR zWqZLI%JmK=<{kG+jd-MR$9d!(?L5 zwm*yc40>9b=yMbk3lE0}&`BoULjfad8dS*gM%7xi|o?%(pl z97;OS>F*-A2qhIIcV!RxknSlaL@~cpunr3D4ND&Mtmw4(i$P}QAXW4uKn0v-NS7RT z7x#dBtzh-K&HIn)5A*`PhF`e0k=W7(7U)5Ovj+gml#HtJNvca7;xlIx2nBNn9ptZ@ zw?pQ|U!d3eeXqASY5~<2Vj@hiK)~vv%=VJTPmNP>y*Z3ymvoe`MB?caM9x^gK4JauH zCJj{Ap+IpEv}oGfBFqAezgB!P%}tOLwi@x<8kPJp#qK65xaQ<<%y~xQ1oI)A$7rkB zBBtvYtDj1U)gVvA&~3{SEEyzLzy{}`#xL$|OnSl$;hC9qmjUA1yG)LxLK&}q$(=oe z6JgFK10j6bRCV<>w72m>vWue)16RIs8(3A&KPrQFjN!Gthe9wMyeF!V2eEByzEXqq z^PRQ!1rw$Opp&(nZM^Y0UWJgTt>-1=>%&N$)f8@xHLmA{ih>vMyCnqwDg;pOp9GSJ z->SWLJqzd;_e7?g^-Tsegs``gytnEHU2%BLzVzh}0+3Xf{;+snVKjJ!>Yw5nYnb5< zT~y~3mujmzR0n5_C=}r(#vQk!EBk(UIzcR1jRwbc<##StQhvJ? zFG=kRSBm|lT_ltQ-7sdHt4NonT505D+H2SR^^*r}V4Ys<9a}uwzFM|} zpWn~Y3XQ0S8~H1~lFg9vAmCTlpC}}IJ?wEI<6fLdiGyr&xf4QZfjn-z?$bYX;B8L1 zDipc3YqMC)<}@N59f(lm*gn$l;x;mLHxcb(&@pfZLzj{LI)K~4#2+IwaK+67dP-|q zx@L(r(!;`~9I}RLd|OIr3ay5kGN#ADMWevFmcEnpqJ`vzrBoejua$yB{IF9-;?o`; zoQ#WDNL<(hEPfjP`nJH5?FuN|j>u`J2rw6I#Q|Abd=MA8owD7aZ>m+jQvL97SaeWH zp!D}BQRkCK$xn0%O)yBV_LNZIgcp9QoSZ@x{m8%T%iwZW3FmRQHOg!m9FWb+>Vh$_ zlb7X|O!&-0Xj5;oisL(Y08vZDO+?Wg-qh|XC!0bl-8-oUJUL(S)}JyaNJ zxp6z4%*_n(t&-(0vbx^)J9*}ta(_F~`@is4Y4CHs=~u&XlgQ+>D~V$Uixt&@jd*7k zL=PLpyj>C0a@;(|LLi;;#@RxSFKWt?TU8)xv?-G^BwKLA3t&Sa9j%IC*#V;ul3)`4 z9c6&Tg|hd8b=;MemFlb`t{+>Uyj|=#YxLfEpnx9ZoJm_nmTyrn=U~7smW)pNBNpCS zSevDuOTv_31xNw_A~hxiYjlP%IyHi|>&e@d4_+t9S8} z7Xgrm#=4JD31->DYHdD7vfHhdilStui#jOEpR&56I?Bc?bn9REEn;hj&uV#dAjhOq z+b?lcU^|Ouv4gCQYN^KSeGQtL68>bv2aV|@&;wgRY9RL;D6QKU^7gow{tXsn0Q9D( zEJWu0m^GX5P(;JAGqQkoE$1%d56qIxYSu&*uU0d%(fz zy=zZieK7S1_^}CPC^-z#ra+18bZcf5fER}a?)E%9M=6eVsXq!64drD48|H_P2r#>p?fWX1z^arKHu2kk zIkMwOznygc6PiT3RBnNOub1cOFsJ!iP(;JDl?5!z*SvwU6p~iGUj_QP{0} z%QSX_u_Jx9+i{2Ln>`L=lwQ?4 zslO5Br9)_NIJ}hHSM;;Q%^7p*Odjr$+Yl`JClW|%o_W*dk=~Fq1P(vyz6QPPcjAN~ z?`!r#r$+cXM~{#4d&!%|2F_Co1JirI~)S7u+U{8M696n6b!kj znfKtWC90DkoT~coyFLhhOeG%bC_#ipY-uNgO|4p?NQY|RQ@##XxH2W%+3!i`5TFwP zVi4wVirt&r0fTdi}WJBLm`Aa;C(W!!tj$95-^kVJ0pGI3*|1ktoM}+6GCcFVr|e`Q z{m0)l-d2y1crQ@dhUgblk&8?wo{~};(U}}bDLRMbhPjyH z)~)ZQBHnGYum`_4l%inv$mSeVhI`2Gk6ZqpmEp9T>?Uy6mQ~Z!c`kLETF(*YUnHLQ z!x$Frq#L9D$sH_*<}6r%-_g{MXrh4Cfo%1jw=%ovIeQvfTvPTCiITru0FnXm)lkpR zmrx9iKj6Pk?xJP;-k^>Vre$|%A2~s(PgudE-BddkE1&;NQ5Xw_T#qReGvx8XY}J1H zby|6%LE4xp*R=v4aMb|&2;jrX`bh>`{BhLJl6x;N1Rhecpx&734}nrN@aZ%lZW=f5 z2?%ux!vYa%eo8+Drd+TLRM%v$90yvrMW!@8V=LXzTd3G$!FY_>8S|GWIqtxi( z;u0ljr7nlhJgF4Mq9Wa}WEl0fVS9;ixA;CW_)wM`3(4Z83d7}_0ui>l!0Um9QgXYI zKdI%lzxG)83X%)gstA^!WoJSUW7KdZ6Q@M3b^u<9NNlC@PZcchLK+lGYF>2L*i3`>F$NV_R zP%dn+2X!8}i^)0JXyin|M-Xh-oP0nUB!v_%92LU3Zf@8;kpuc36a#4>o{BnxCnGRS z_|tLo73_Tu{|fJ-t_obWh#c-DRVZ|vN=nsZo9X20wsf}zVE#!^3!AB?tNO%zNIvBn z{1|*4ry4qpA`tdZS)@1yB%*m|is~E%TNCF+&(f^H4(?KQOjXi)zl#sc>bEg#aZU>D zb4oW1{B@t^0ZJ84UXCUjykg4PK;L?N^TXH>|a2Okm0pif;Q^w9WZZZ(YGbJvb;hVJvn-z74^*I)3TP^mncKHp3=J&t#flPSFp_n)Qnjc!b$J&e|JdOcCuu?sXhsh%a> zKHOQm9=xWV$7coDk6G79pKgyi|D>M(BcJVGwUGbGrpn3M%-P7^;m1;_&urq+~qaL{@3`tzhAi z2A)-=BKgntukkOG_*9L~%c z*b`LuM_q0kTE@f>Z8+kcPLGb17pmPEAI! zHL&t=%@&=7^9uAoZNFLd>t(89Fvjh5yM|0(&xgTDL>{T=zeZLq?O4p2iwA~&p_kmY zxaPTyh4v+gal=l!%Sx=|ICzT(PPMu z`(d<7{uCzZ|D^c-mDBnkHe5-5%jU-;z~{K8wWSepoLiejYJm|va~KoQFw=Mq3-FIC z5cb-1{zc6-j?{`WKTyuKx6Vk`8DnLT|0JXP!y9)vqDT7=wH0WS>G|gMpoE5Q)Pk$u zh5>pV=H+oJyLOF<2YdNDO>cX3&jUHh)uNNd8RQ^uLHfGJ*6|VD5o@5&4CVlibkGTLNMphsIs+Iu?r{C2BB4ypo(mL;Ho4Ht+)6~iV_W}Kk*Aslf z0?q|+YqES}@WPwW%xNnC<9EA9n|}mk78khfI=BgDe`sCV=?s;bYunY7t~E3x_s~89 zBfEzqFS`M{r3LK6azfRD+YZ*w&@86^b`CHq7fOk*!QE{i`%U{bWMA&p*m*^JS;!Az zan?2>)OBxu4RD*SFBH~d! zxPTJnQnDCqzP~(b4B=n0N!6fZHE4}IgFF%o304b>E}PZa{Egt`+)`&T$s91MprZ$vnGoAlL~3Swr<1ZQX!mx5D9^Bnpk$0?TTNPAI&e53tce$2 zp(*gmA>XF_{xqjx0ZcoCMzsQz4Ka}g*KKpCpyBRB=LLCpy1a5eQ+hg47EF{nT4xQc zXcDQVM~_;AmIOqVW~?~tYJVFkidXax^Q3#%)nyuqVll9XD1Xr^f*H~e5`g56EYsF2 zO=P*&&i)8dC;4i=Ii^kznK2}SwqYxQvR%Y!nuj)kVrH@35aws+i<@PWTmM9Ib+1GD zvoCej2oz$vr~G`o*Z@GvV&a&h>JPFaU-t|OR^xb96Y81~A?*9$fZNn=d&EsJ3jI3u zfe51~{ZCWDQ=3wm%`rp>&OLOQE~7ep8OF{?1)6@i2PpaDPq%!v%lwNmy7b--6w7yX1~)Z74! ze<-h;yZxNJaUF{SJ0{9|_a_LYj9JE>j=bBtCFbAp&Nr5fdV~Hrq)p;qIycOjF`Y!? zv*8>s^SWWE_o)bE-mU{zA@+FapozWj;ZSI^-06^MMgri_4gis5(t!87NL1UF2vLvv z(F%raJcQebB)r-r+zutLgX_J&iZ5~xFR17VdH#;g&V#g?T z>H?Rrx?;>K=8q$z<sJ5B2^2)278t^@YvL0qRKGoC)@B z1-P#Ayy899IS(GJBiO(r~N6P zO1aUTz^khS*<4Pl)nGwL3{rw4Y`B3{aIwnFpW0{TOzIIDP>T~)w?-s)bLmkva!6F^ zZw#V1s7-<|6)nVq&Aud@Ud?1(BB%qSVaf7UrtFelj1qocO}9msg$8l6DMD6X*@M=3 zlB^CIIUE_%g*k*vUKMetX|apCZ4MZ=w2a)tr6P5Cv+PA~otCq*v39?F!iZW-LY>S)P5R)u7MK{SF1w%{L9*h?^ zQeBv6wB7A>tDNm?_7Zo*Xq@XecWGYqE!BGarJ1A3 zvu?nAu98Njicau?`bUCjnL7BRCq=Sei8!^crP@kDnXR%K`m*Mx7ydw;R?h|1^Q69M z-&Hk=8W&K?tBhfi@j@(Lut7Xg8Xnn>tDV7NYq}UVBO^}l$879f zkY#;VAvE3E64Pt|jn!Br4LF&_xLb`u9+t+vc5Rl=d6=A; zNLQ{VDIG^RR~NzmS<^M1N6AmbB||)So&a!HKs)0@amlR0GrY$H+Ynzvs6UP3VK#pd z`CV0Tjj31)=lYY&*Dz#Rb@!pXRVwDpp#n;nMb6fZgSH@6mnl^eLDXhozb6tvJ5oTL zDVQu|HjAwMAZyt9aR%{h0fk7-USr6|MtUJvFuO>3-b^j-IuPSi(9+K&j$(E2rjC?4 zogu(zr3Mt{(>(5WXu^59M@B}lpZh6Y$(M=JKU^c<82+-20!Ze>S zK;*6 zpB*zf@K9=HZeW9z95;MVQt8h;QIen17;`(ys;Rf_jNVeY-M^Z7eNt)nVPy)L{teT-^9%kjQNj_a{Y? zw+A~8N`~gga?%$+nc=Pk>ZgKtv-@(&fd*@0^1m)%;OP7*{2q$!%6({u}5m&BU9*wcl{Pl}T_&pb5#XCCaei z_EU5%71=PWbRsXKKzY)r3j{P=m!q63$cT~t!b`;hQ_YMPFFh&f8|U&-C!a($lNi^r z%$s#RFdZ!K6$i(x zx1jRNi`BJbtQw88*(ZC6QJ{%Z@|0AqFOKZxcDb&*oK>iCRo?yhtKv5%xB-$5_j?Z^ zjw@@@1A8_TPj<-cbi2Tv=zxxk#Ml*+9($;)C)G6g3LXUOWVfFn|3fRp0SbW&l60^D z*H9XG>$qe4HukEc_r){4{CPc{U9_dwp2(7Z6zl72$A#z9Rc=t~s4I4yAOEzD4J}x@ zW1jD?W)Ye145p(zNYe@|9~o#$5s)lG z4?a_~xG+r>T*6xXj#J?of#5y!s59<`R>RE5%EQi>)5WXX@O9=DLRrn4h@jM2=&yc5 zSs;A#6!KlZg@HL~*kdAc)97k3!rPPL`JQX%U$|-k_N>I|YRNCGZM`-ck$t38>^Fkl z_$8J8nP5B5P_a94`{oaK;iOyovs{^KnGWM$_b`-_xrt~j6W`n+ZE)?_Nq0scCqpUs zcz~6UvxR~HE>V>VXGpgi?7=O_#V#xGE`nSrBCjb}AFMXe#&kPo3PjmI%54$_0d^Dn zDZJrGtGJ=|oQ1Mf{4=p|#xKef8cC^b3cR32JoYZG3QmEAp?Q~iun1)u6nK3pB)uwK zI_PKx$D4FX%J5QK+2`CHHKB()*szajbqBDKQzAQaw=pttO17onaQ6miSRr86ORm{u z9kvd=8N9LO_Ls6=css0392dQ{9j%5cHq&V6BpcgAmlcmsZ=JvW=@4NlKfNr@@vGcz z=8wVB5~dJCUa~>PVFxF74>w|zz%>!Y;IFgI+^VLv#HS?_IN&OLcg!@P>7i!()(SmX zSxHv>F3d!O{)WnY!HnW86XkmfTx6ZYEc%oJDjXLOASAIs3t0RQsCg1UfiL&^1voo>iOD$uS zpq-Lpev1?8P z;nk{UbIPPBKikm>ou>jbBl!rD&eV9f^sK1RxHp8g40Q3TcDBElFQB?`X7}rM#ojpT z$D3p4#;aof0hHt@nCvX~#h)k=;MR-~n+xtXQGJv^yZC;a&?x`IgaldO%@#U~JBvb% zkx*vWP3ReRoE0GlVXGbDg>&Wkys#1YRI>KBo+o_>IASEIKzU==?Am^pI-PiCV6}Zp zo2c}TXp&NES?$Viv!&BQb;#dV^mKX& z0^RoeY=OkYPy~_dGSW`}x513qqSvQHil|s)(@K%=bR%YQnJLb9>=9kt#l)uB7Dw$V z`@2xE!J0XHH=D%-k5SBNN#p!!iIHP z{0kW4a4wyoP-W&hmvb(z%g5ATTy2=9acl6ei|d72N54TZ`ZLj_6yO!DJW&fkFn$?- znzP>Jpeud&xYV|ZD(jD5lh)eSgxeyUe1cNmE7b*?szm7=25}B9H5r3V-F&PFS%GYR ztQ$CIFVCiVJy~j#NLUfRO6kabbq<%U%|Yb_)Acv&%EPVLk5`0FfBzqNs?jP zC4;~OkBN-mb6mJbPVMe-0h- z-gyd*%3{i=(D(HF@ZLggL8854+KrDv3k`u9tj}(ST=&xV;t)^r#OsGMoocps+FyuP z*BBQs%onMA(1sfaNQ(f8P_YQ6o3$dxVsqLI=z;9lkhAT8?IEn#J#xH)szmFQ?QIc8+W!Z?DSO)V}^h=8tUt z+s+1iIMp6+0R>=SCR*LQi@VH<15?+`IGvMzXIDGAO+hc*voQ~r0S~PP6cU^F_khH$ zJrVl^p$>}`DwCjZI$IYL1MjO1NLuN?Qg`c>9WK~FS65&Gykz}0Xwf(7Bw9Ra-t)U- zG8AJPYrI4szc4V)P)%HLD_BU}oaoUDF}6RGg_XKf<8E(0%r=T_e-4up))SJB^ zWWN4|VfhdAq>*u(P3LELi}cgu{|{dK|Hngn>fjSs0-mo5Gc4V^HM4XP3p=^_wx(%*HZt-Ziux4wOx0#QJd!CyGT!VLE#m4XC zOOK7#Ot7TV=bmtTF>aS~*zxpI+&F?iKyD|3QD*uN`jh#ip5F0!a!;oh7bE|k@D5f zi8Z*B9P%ZvRHK2Hh%ubc0tu4weO|alz$Z3938TftEp%7B+X5)5vT=N>81Fo*g@)qE z=QDXr;!EB2RiK8X2kC<=2?rWRAA%<(_%L55gB<*cD=JDeBr7so$V4lqLuJ^1YtOBJ zPm7Ont8?AnRsvAN+(&P*9jh(?mj_{EX;_*3;xGtvO)T;zJ_zn#|BGYx*efjTYUnOM zXfp$sseTY>m||TGfN#TAO}JvP>6${8aQq{rn-3zb+Uhc-Q;3gZoCe-3JPB14z71dN zb5ndn&e<#Hfl>r`BOx zJ}4$#L%|TR?~6yw?742mJ@|fiFi_gl=b=?!;qwU-z)TSru%OAq2S-w+Te_h0U z_zO!q-HscxM+U+h@wufkc?~MO0m@b)IR})PY(bLsODhkeanuv8ons}?wLl?V(%dn* z&&;dHi6oN$Y{p9}+gGUBbKR>nfxAzUj6Wg+sPFgGW8h5R69`WVX&=(c$18YvP_a{R z`KpxIr@C-%W+W6b5J3~+A z7kAro&|ra-@T;nN6mXg(cqu6@x)tQx93Z* z?RTtyPUQbFx(JE{%ijC}hm(Hb$Nyxy_b;Q1e_sAS94o!1XQcai;YV&ga`dh7#aw=6 z2fEhf()nq>fk<$ev5;|`Uswv}Y*+cxeeH4X?EEP(!I;b?`W|jR2SpXKOQ8vW#ddzM z4(aRtEwqAJci7vCifP~Pj2FZjxlm;_3u;NAG>Xr~A5?QATcgLCg}fMA>qX6?)Fo$+ zjISNNpgl;_M3O@uzL`sS_27o$NO-r=i7g48YM-??ha@5UXwu2>1&LEHmeb2c+buZ3 znpH}4@d!ByH+;NRl)m{vr}b$pVNZa2)4rZraD8I*vQSw%zBO_BsVX~dC9&*3&fYdy3A)qL zAh`o-dV^%Ev)u;%zEUb1+mUE^bi9Q~;L*^s>Ky{gJ_LR*e#77Kz5$KPOdZ?M-0Tqz zwZ{~1SF|krIvxz`?HSr!(Gg)$e;x|*`&U7zt|N}dBj zw0EZiE%=CGCujF7AVd6My6(ZAVE4M3Mv-S=np0V+jqNqQv7fwIf2ZO~AzeXiShiNv zY0lR66q&74%t=)9hP7!ci~$_ThhzOX)EHyUN`RG-vc%IQVMq$=`8K}XRTM_C_|BW6LFFv(EUV=C-p3G0jt44J2<3giTcL6kq zfUpWf!B|Q>bq}Wmc4fmjjUHdvkQo;mNX|g5RvwVKLMn6|tCQ_Zt~M^vYmE_}XaAET zO#al+Pbe85S$zW3l=V4)xGAPC)(n+72d*@gc+@@*jmmG>XPTedxkskJgO5huu0)p1 zE6fzt%L-K0&p6y5ert+J!&~(Qr~tny=_6Ix2;Z$r*a|r&gQZ zGo^3#1Q`aE)RA)Oj}gf2EU#BS0#x(pt3L|aFH6DH`lIlygX&f&P*1py;!riAF+Gvd z@WGoy{e)JrU5DH?7`R5bp;nI}I2S}JiIm!wcmI$7Hg5&Bd)*em004l{{?Ewyzm(j+ zgNXm3=ngq895#gGcWx<+Ppf{P{uM|@vQd_{7m|o97>w(T@2sY(8VB(sfcyo54vn8~ zciN-lG6T#2AS!2f^%K366b?EmDbu6FFpK1zhN{-PM)Ng(U;XX)SsuC{t99h99hxys zIHR&}$~wvLO^x`8k6F0p*(&K1vA>E3rM|B7R?$bE_I=EFpP+lYHIK$N)Ba9#H9u@( z<3pB0WHwsB7Ym!PRNpR@TAjf9C~&Kljq<_sa1fNUIge#={OHaF0D%YUs}8H;ZF@e` z)^Wc?hzR|4uZ9f>xEB1EEaN`V#Ctj|Cy-JUNsf|j0xff_2s*i5EuHFfvjesbqTX~| zpm`Ugr!D!~28=iH?J?BMv!4+@z%6~+KpMS|fmixYkJa<(YHjEoLFdEEt4^(}L;Tv? z_32)yGkn_TB??dS9S`=nFJkRvBp~P8&6eX(FVSN=;m<|Zt|iXjU(R6A_ncrnKE}Ls z5r}c`c9Y`jQy+{3^4s@inm1JYJ>zMk{@3c53zIrw zzanuY>_N_-dsHlFYJ|~Lpbr5pqFw}?oxCTN>7MR(UM7N5Sgw3D5X~>X?9oi zQTBx);_u{v;l?oxc=Q;(3Uy)XTd^$t@P8O4us$BWYYJ9*(AKD(>l8qb=Dn)KE- zBNvzF#-B@_=iPGe>ZS?PX;de#T_=TYWcr|Ta*fN2OlQ3^=SncVd{CJ9fM^P7#Tl0Q zwyl97N+%yDxg{I-fFxA`?w6=?)rB-Ty3ibsFtnm?m&ZlTGMEnzZ23cfw&yVZ=lDP?YE#&>-N`FoP>@X0PC8Q zhV4Ww^rNkx&6pIhCOhECL#q~HH;J0~#$>kTIFGiOD->#Xw_f=nO+`?$QS85Pz7it> zVfRm2a~_8BgR16chJYjj^LpeBf9eAMrbyj^^sOWdyv6-}lXHhF(GXi7g#$ql zSQMBG_^|ZWt*LE?I1Ij~8`WXvjASfzjLC14oHH{yD>bEouFA-ib!m$McBPwKByq0} zIjXPLf}o~pxNZIH3bUa`f*7n05FRz9voYIU-j_DJszikj5%w5X^ zV4o<%^ zzy?-zdJqm3)SA!;*pJ*0EKdput)AH;m~e|;pUNTKf5LtkYXwg$NlCdJ(uuqJjwuU# z56Lv5%`O<+k!6Kz@A@ZEX;_7G4MuEg4S4;!j>@FsXNHHuxa{q@kw&cX)H|ofB*@Hb zON!93*CxsX@@arcjMJy00kBUSeH92uANJ|1!`qzklbV#vEG`RodTGxQvJ?ruQfB1k zu{14(1-%7mjrB4ht9f7!Ys$fFH(7?eZ|KL!&GA|QMO~TVXcP!1qw2tP=$0^cSa5Uo z5xKU;`5x^B*1dTv$s6uGnEkv9sq`M&WQ4LY%yN=Ah|pmz^I5rNa5H1`A~WCJCzoWs z=bCP-KCu4EKD1K_iDs4#tV-FKH?1s$t+agp=>8%HZAO8@0;vA(%E*3|6)jxy(xc;^ zQZUyccl~(6>b=B)7d8ENb!_6`Ai>ONeKnog+~b*sD_@fm7~eGp6a1*)Spu+!HOobJ zi}yH@rfV-&>zYvD9^g;C77|Lts+3ntaXKhyklsNk4q<`ejcNMl<5zxLUj58=&Klam7+j`{!YnS z^5&|X=+FSO5{lktI2z^NGaORrsSJq+_k>WdaW0<^r*w%Ka*+ysN8WeW9}?yV52Y;5 z{Ut-5(E;c6p(EP)u5XQ&1625XsK86C`6Ro0eGSJ00W~3hVB0ebUm^h19)e!JTX0Ml z-AYdezxbg$1c#BHWa0QXI`qOfV_ZDrB(5NQaVXKd(R0BQY=9qlE>&{f*Ni_P{VREU zX1NJ>$j;G~#r#Y|=>m~T{9-y_NGZ%QWy9nbVu=*sv@{^#^tmTGxR&*O^s2I@#(nvP zpMz2TGMNBv2tx_HKWut6h6pq5jz@yT|3WYo#XxWPdm|hpwt2?+>4i8u2SRZ~(XKE{YpiMzZXD0gNT6Fy?9;*p z0=7jxA?Nz+?k${(;2y#Z?ZE7oPfgCvXk}4xP*Ra$T9r{sIBFEJRk9+;pkC?iERnC+ z`rXQi6mG09MX7jk{VVlFx>oxlep@wm4@jWQN ztljZxPBaSHcYU@M<=dX0xYYy=HbPE5 z|30lfL?Lb4#mLwvknsA;F5d6RMO$;2zaZ#KW6T3EsrDAen#y9m3iYa$T}&5<^73s} zm~p$BPh%$+tgp{U1%A^h_gTa#%j<2Z>Ih+;^FEI#@UHq3qu85M&DNS5_^Ezlc`zlf zNew433;Dj#I2u-_ULjhRW|mQR8a!3N0ZoAbHGuI*=;keV6lwqLSKr2UhspWa=Md`} z0OC7+D4L63OFKtWGSC;u#*Q1ASXdq|SZFieH71jCYy!MLP>7??0R{9s;VX|rw*X(X zK~_kHolpHX*W?m^wZEs}9nqy;(AVbx6iFjmTaTY*`QgpN)B+RWxLvIICufeZxh z+85o^-v@dYkWbziI93=xl=7Yh;&5vSD-VH@UQRadm7kjA2POkulDsoT1r&xg5dQ@w zmzleUKU;faK+)DD*WZZFn^Pk@?9Hi5O4u7=MB7^{ud+L#Km{*0Eai1QTOuw1o*UIf z4bBAa0$&v;)ZPTvTTUjpil$TN)A`zwho$=_&i089E>96iIExupgn2+~uNpoRPnInW z6$geOHDG9}D+0ZhE2}r)8r)}1@gi0@7MAm#Ok-*b28XTax?Sffp*Vt`ZA967AQ$Xb zCX~A$T)2^q1xb5`PaTL{a9dl`yJxiPz!bFM@u=*6Ay|W-HN|RE_g-D8!mUE@MX@s6 zD|GEV$+l`RParwp1Wm9t$a1bgU(tOp#vMK4O?5k9#ID)zFVyg-Ot7D;nLvzDD;@m`0?XGMINdiGV)A z$$6ZU3#v>gG%W0f?i512quj?Zv)HMIHu- zfKKEjLDxEcBicc>3lD>fcd?v70!S%VhEO~ivnq~@@ph*)cq*)xsi7GzsJQ*R6vA?R zJ%Wa(oz=s^k>;BXa1*>{Gc4=p>H7RsmBy}{@}n*5;x4f|$p=hQ78QXn>21OWxJzAk zjz2w_OVQn7_3=}Wt8*Lv)Z|HM2MQpt<1Yt!ZqW7H2do+l#FVFAML*E&JgpNIruu^1 zk6Z)ar-r}~xTXYs1p<~a3<}EYO6wJN2B45zl2`)WB=-C9ciu9m{99tUg{(>@*6+Y8 z2EN@>HwlmH2i?2Ub6bpVVXo)eL8X(>*S00VHeCQ?>2Z&$?RWxIS*%*iqtq(zpn*;$g!B{iXa#Mpq8K zI6L5l-B^i+8T>fTXWjGCxRV6N!kxrjgQ=UoFR#?qsm}O*4Ji@Ll|j_RX7`0tyl(2Q zORi(=8BLeh#FDyz=GHa>YGIIy+61c{Q}_hN0ea@xJntn6|OJ>b!RPOHrpx zUsxR~kv{_FeK3 z&c5o86ks;lB;ps@3S^)n!Z;4&8rd zpkKRNh|uLWaJd_vGyW2qDGZe$HJG1ejfW&;JSD&lW1)+;s}7w7?YjbTM9Q!eg15cU zQHsk5h16FLA|P>&0iW>)NQh2rOfon#m7eO@^=@TTZh4(NyOOxZg(A$&j23srrF?Mb zDq4XCQZe^@LbA&G{h+^*G?rBbDbk-zdhV8K;<2RpDC*)!CwC*A(%PN?{mWc72||%q z9EF!==vEZgizsWJ82A9G4pr-wp902t%-ev$@7R2gwh@rf?t=JZvY zhDf*WH!d4w7^uCS4CvPRK4qy0HBX#qpR>`ZoEu2So##{$l%k?V=(Jtw2m28Hj8uOx z31CHYgOaM;%L#rB+=){I$cPi6^#P-9&k4~;W(MsWYKRnf27sZhn*edV8>ccFG82=% zDi2P^g4H<7)gN*I#GXt^07`MEan>|Qe9L;Qn^1+*q0>VwD+hlDl2t^)=Ts4irErQh z*?G!Wf&R6vam<`38ex@#1h`|gKL-()T9x+^3o9ii1uW*;3coB8P%SSFYRHY^ieMMz z4vnnsiEBOCJ#oc# z;Oe^<7ITxX)R!N)1V098b9RIdru~ag3kNqghXsc5$U?Wyn03aRYC_9HPQKGFu zmTlvfZQHhO+qP}nwsp(4ZQHi`zSVIEF>waKkmf@;|mOpls z5*BAZUd(tt@4;=Rw-j|=WSolUI2_C~*lXgMPbjV1z$tHuR{6a-peQ6eMj3=z^CAmHc_pcuFp zks;wzZxxckPo2lZ8^hWf^^K&P=}XQR$+iLQ@0KV)$d}6x+n6=PiCz8aWYtI@W(H6x zn^G?zM@ZQ2972|N%JKO`G(W__5=V>1zuq)UW~+#zD=F3&7!={%Bho#x;y}O3tUm0Y zW#hh0mj#J;5FajvGa`f^U?BMf$>3`&y+J1%0khF@BGq0GZBI$*TvIO?ndo(U&_87( z+2b2P&;jBeBE1k#tg5hSnJ=QHyK-T(AK$O{U#oMp>F#t!&s|VeDzJIQ0t59> zD7>(3eXW%4u3`d^aA3k1j04Z-cE=dx9N9g?rW8HwoXG$-Ebx|wq>!`guN-H=8o5xG zxlEa_xR_>E8lRk0@#$iu4m5cl$grix^;K%cfj{D5`n1jJNm7;li1ds@Sbtp_7xO0C z_ekU3RaISnG|`E~jKH57&wb9)D7I@UFU{GS>jo}PRmRjSs*X6;@-sCAC`BZkNy{QW zYraEHH^_yf;_vWs`jFzQ08#@)Abdyxi$3Zu+LA1x(PL|c{!?@RFBOqfvJ|0ZrU3WF zcpu?qY73c^Q^Jvk7TQ2do9)Wf6-bSimc`moxs|4XL=#n#oZrz9l6sY|4EB|Y&FA>d zt_Tdco(63-p?Ynss)QvLfRW06juZip&0B?q5awJHL;(PLN}lE*fe)})M9T$X;vj4T zl180u4LeRhVf{zp){=4fYq;Q#!>Vjen0NxY4w;!4AL%2`DW(1Z$IC7~e8KxWC(Y{I za8t2P>P3C*LLQ8_bEb`_XtY*v(QTxLy96%)O0mKi64USoBWf3?)C|ENRPCY)XBB<) zidJnBD|`Xaj8MjqoYI#V6OX}}!iB|{bN*x?ssw{cTC;$Cy||1EBkP?zKi zZ|jtii>f%{Kc&tt^Z-{#p63LBRJ3#=sovCl@8m)_zE+USSR@vR7LAT^q&W9jaC_B~ z;%=$Mo>?(1>&id{VO*7!AV0u879U5GUy?4y= z%cbbMQ8baR*0tXZc!TB-sKN#+EAb_i)u;-gSTu2u3;WR!+5uLdW1D%b^|!>0$YPT8 zVvs$Ce5CVFq{s_3o<;HR`FjX(9iqKVT7CK6iOIh`qV8n|n+2DCWXAX4SHsx0%-Z-B z^*!!Poc>ZxEg!Xn?sXmMjc~!ntzFgaa_hZ$zf4D+hUrb4U7auP_aZ%6z&~8VU(&N5 zXHG>syNK{;`<$0q!^=A3>V1oX>EHdW(Dlxjv^JMM`}c9mi45oD=O%Xmy@9CpgB5bx z9ky#+D7~yZ5@9&UmXviN>RmV}3PJ}g9w<}}Y7#AGpDvzNRQiC=BtpWnJET5Q^B`Tx zXVMx_t0&hdjfFVSEe&Q+q9mK9lvkQz=XgvJDtmD^OD~uZq_;`&g`4C*cipS=4lZMk zDnXg!P9<#u{GD0629yd#GH(+R9(-rDe~JkZP{Ec=C~lKb$Y|!i01HsE+|;%5IiHmm zclK${BZPM|4*?8w&D2uyB?SAtV^HV%L9z<0^WwRy`#bf)>9^@=JcJGy57Q_B!Wv#D zg+S-oX~%f`oTk#c9;)KSxiO2?tVh*j#|6~cJ?)z<`w36sJjpp&nuPka z?;B*b@F+!OT>)a=;Sy)@h^wT{VY6nWxouSW3ekFl$b5@9*LDZ%1+vUzegX&1-*%Ak z{cF`bTAFXn#@TMZfNfN+=*{yue5~rVjI6cbzHGhfssMF0_7HqL*UZRF6Balje-}@X z&IfelVOOXXo=!AHK#5Em?FaQHIbt-5A&cDKq^%b+&`O9KdzlIj3b6gq@{r$(Dr0PZ zOjU9W7GAV532>aJF5CKQct3-qY86R}KmC zZw_Om{<^IQLL;&}GAnAHxMXIdQ@+HD%asf5ZH(IiW8a2?_0MJ-6)K8LfaE4{9t z6g!5gp@xVLVJ~@-RRrfGFGHq+?;)o#j%Oy{rz$|5JVY&;!@zEh;X^15aI?u=MriLk}3=(6J@G@C$xw zz9j&ie9j6wPnwQzbSt^T(PrH)Ci4C4f*81(_oyVEb5`q#tWN_M{!v_01-p0WlwaMFmPR$Lq){?dVN)zIrPoPau6qA}6tjr_`&P>Tq!0VQcPIaIZ5^H(!rk%@z47^H zRHpl%J>0<2(ZGYo$>hI9D|1w3{%NQXx-ZqNy~EGp6&yU9Dobk*XWU5>xb6$U6W{*T!T|V;C2~r^W5f;J8g8!#4aLgnxp4->at=wn8;m|+OC}WB4I-$h z>GrSJw6bHtiWUL02U==bMQNeH?RK@b<4@T%Qh|P!S|&o0Gy~*0j5Rrk%vu&l8dt$H z3L4XaH3|UL@TDDK{kD3;7^zF_;~?;C>+DKj+484JI#Fj-(uxvl#{^eN2bHsi$vxK) z+u{8%b<+x4+4oSusSNU68-pP+zBHwR#vM2h=tjwmdNm=WqTHJ3(%YLEH!RvJ=u2kZ zte(>fYNG$;+LQvD2jU6|@md$1_R`dnApbBVw=1XP#efUPnw>(0g8;5%a5}XJsG~Dd z@oORsjXRR6?1djd7*1d`+afG@rKHBV5fGFD6zRxdJC57Haz@mXkh!a(5c94UDgb&rIx}9_lR<% z+`cak62Aq3Dqx+aSDf;ZIAxXMF{TFdf~(^Qv}$|tXer;{N^;Fz9=a*bb(dz(QSH zE$$YCez5D&vyGT1{lUW-)G!A(v-e)wI#2Kbn@pMym|y`0_Bppat?*H(nQIowQ&F5056uZYb(1->0oo$&l@e(x|(BH-o_Z>H@D8P>2q?v^ct8M zHs^|2a7_`Anz_bU&2|tUC?6$DyQcChxWi?x`M_M`gFKiB2| z%D%QvE;c5P|Ap|m=CN|aZfn?mrb0ORlhjPE*qFqeP?$x;aNq<*!C`Z#0{8LY;A_yW@`?j5z$?T2UbxQc-5G@HlM{kQ+{5xlw@u3@vf z7Co#;q1_+txKZ-GzM597G7LlDwY$^n_0gE(4NlhKR7SDEBLfSW-EIRA`2oS)s1~mUtzvUc0wN}o>{?0^vw`ryg9 zAz;?vP+-{|cf~rYnZ)q@QNR10r8rq3N1TYt3dzmeT?v@a)D2KbjOf+D@uZaQ9c9J) z5gA9|-+W+LJ4yBzdtt{@kq{%GcW90fjSM;aM2N_6Bg2!7R1=nf9Ts#L2E^(TDs?dy zRGieML=ONZ0GMioKX55zeO9W}RKhtZE}=;vMK>Vo5-`eQU!|xye$1M9{?GJlGss*(6^j z`qLVu7=BUF$g0f#6zRv>fDh_AjS}OHShIXx>2xAI!L@6j0zlafe|mw80ctI_EiE$U zlp!uN@hV^59;1Fj7=pgVGynxbCD_Au_wr{)`#w;G7oo_F2EY?;UMIad=!pH3eRt7< zh1;&$#V;^v(YVgKS3eo19cdv~11rrk>f@i}IJMB~9IpGtu?{v$LI)4RrwNw$O+uX2 z58xK70gp}ZRzNQiSqra7l{|LGQO33Rf&3OhjKp-OM@?pGO)=#&;@p6_vyo!ym*DGA z*K>|IfOT8i0iwv%9Ew^WLY$6aGNueQ0qNArcE*cmlf zl0v=3d?5|9p7aiKNWLIXV0pAk0WzuJTuF|Zz;o#I2 zTTlQT<^w;W!*-wBrOhhm+=8JE>H>|{U2!Q=9=b9sF1eWsO}?eeh)+3>JOGIQ~Gy&VpYlEq0^aXFZq z!2_(kFQ&!G{@(9h9d|F9#r4_&zn}F(GJC%qMJ(RMmPCiK*dS5~D24Kbey@C7rLU@G z7d2o*EhAO}5Rv#QJP|{TM?$~4kj`clK^(Rke*TJXd++A4LDpx}{1wwPlxG9cP;G&n^2Ejb*xi%!|(&|HJ`zFBg z9&5v_w`*ql8%sP1mC<%wH;9mS^pkG51)dcqh-SXa9Hjez-Lqsq=#37Jy6!W zf@nCvilI+Pu{S6F>5s!lrHg*7Qb1u-Nsdu76H9kmqXqHanH%Ioh<(Wcx1W}~EU{!% z<*IHDAkp;adr$pB>Fl824{q7<*or~=B6qi_4&4?%v6q78G|HrgTlPPr{mK};^1Kh& zhMN*8a{=-xxu&4}Bl9!>vWo1KC$@RzM6IaX+raD1w8-{`*QOOV;B(f-%fk0u)i|(a zA5YJ7Z4}%G^js4$YRKFVA{3PqYzw#!&V^6DYzAUFP@t3liej}M$>&Tc9{13q5Aiy5 ztJD{`ji|nwZ5_lIJhHry`7YRlNuG_oikP;p{u!&S|e`5bgam7Rm7 zR}gZNnNDE0!UX*MT~fc^&?F9;OQc>cV~;HzRsu=?Ib=AMiKk_54FoZhNsLKgc{t0E zBL_+sy2d;oNx-(CxI;T}ClzwRvbkRD7t+J~p{r})z8cB1T%W%6ltV`zY$V3-d}!6@ z0sF5^X!W{$eGt!6wH(Zlat>0}=#tilAWC@pt#G{$7Yr*=O>Mj0ST>_ZI z`v#Vem4bm>!ii)3x_dH-;?h)`@HE;_vwbp+LX&Pkz{RgZ+?{YIx9^%Ya_jRY30Vq@ zx55tsP;xZ@HkR%rtA6q!RhLIWYZ2n-Xf*mnHAjnW%EX8?*}IAFVqv&+(>CdGVQE^_Z{8^9K|%sJ?+9`h5Cn9yL` zN&A+b8Y%#A)(^7Ud+YhS!~JHv0(``4%?Cybbn$feas`mS>>exrR_97-#kKW6 z3!xuQXXn9QuZn=LEY9;)MtT$HGol?xvBm~(nFm%hdx zY7^45JxUeH*rdtz?s)QvifVqlX+QCefXJvKYYq?@Wwl@dak8>lse20?sg-K+7N}8p z(h?w}SV{rhZ>M&k0_+85$BNWAsrK_=Jp|~airp0He*0jHKNf41(I_yjTm~9dJ4uP!Hn+=D> zY9N~Ut%|PH3l7(cL@Kudo?(zVTw^~DKA&n@POyoX%p+7eQmSs{=EN3`HN1a^=Mr%^ zqxwQW$GtvueTyD~TY8`-*EqCm`!llI;0-g>Xa$Eo-@YHkb0DyekeV!N0T6>hn?Pi)%6uJRD@g&cQEy(lzjZuRzDCTd+hPXRv6rjehY zGdt6J0G4?I0t*}+T0uDU3$M{ZDtJeB2!&FVc_Gp!(hEMSf2X^(9a8tEqbFdEgf6f_ zQY2a7r3dfdkP>DX1qNIv8I!Q9n?BwYrrSOaoE{{c(~v`wkk@H8|F+W{3k^lK6-+YJ zpO*oPGVx0fF=YzYextzO0k}gx{cq3dYhPzsSunEK*jU+{?cbk%1u?dESGexIdKzS} z3-EH#q;WRWoEPjLR1AFGolXKyX79(re!bZT z5!a8wS#Q6t*M}LCkL9PM*-yXkyzf;a-tmiDG!IwrJC1go=+}G_fV(za{0QXw2KU-A z7eVySN|CgWb&e<&9cAcs&}Uk9v#Xms+DVQ(^ZsV(3#0(oC{klCN+)_K#YxkpylVG4;DkBnm~{@g=$Bp zOyxm@=tB^5;QXw$ZUWKOod8?NX?CQnvT|$Uv_5@s$D$>$aDDK(Px4gge7_J6nSat* z5^|TLfK$m+22QG!S=n3K5%d$1Mv%23;@JySDKl=LnD3`nf^)0AJc||?9&>1jGhQlt z#|PIX@mJc-Wk2;su{&9mNVmu>89Mo>iKe{v%?(E{foM3pz;jfyU|h4Sju>%O2fkBp4an4LD6D1 z66Ermd72LOQi{`wwGm9mnUTrKJcD@;M$Ug)$6q-;AD(9Dhj{}u*F-%7e@O5twF^N) zOlbK@s~ZYr{iS=TV#gjJC<+GV;c9ISuZcuO_wqASnyk=S@!E30(E6uL8Oa3*1##_v zKN1Q9Vh}S_a!Mw-E9jG3DMvZPa@dEnUJ0QvHSaA-zsp8wD7BvX15NbF0!bkeRCj$= z(=ve5@>!`z=k)x&Kfm^}?9Q^;$GG1yo zo?BSLdXi|E2Z-F#T5Ea|lz+qr33Bn({`S!~K=)Cb_ZDXtVNH=r?SWG?T8*1UNR)r7 zEYdbOEurnHMjrR=517LnH1q7| zuyjB&%sDeJY1{6^&74Ts=l!0`)(6!4=y?l$o^I(5RII+Eqv*@|Jsk~~4g!LqXo+zT zc6!FTsnN-hElMqZwVz+>8LyUr%)y^aC8ZKp)7Um;X#j>I1bTT6zCD$6Kkg*>`~XKm zigmQ3xjbTRD@E_wElNgkeuX)rvu@||YoV%944$qID-A@l>5dd@t-sF#oRS||_bFT0 z$xZph#4dx!*48z=!o>rlnb1sYoMVHQICV-9o>~$nN*F%NO{32|Ux!*6Fwf~Ps+>fV zROffjS_kd~<#*F1`ef#k6rwl7m9N{$m2>BW`bj=T1emfzI!`?@_RakuPOi1x zC-F>qIB3kquHD$4gzk!B^Udn!_s(uAg7akbs5~?kyuj_%t3PznF-at{+M!hVN08Vb z`w;DxV$-i#?`3b`yUsB@8-pc4T`7T2M9m~cFP#DavTwAbDJizgoW0fSR&)XTVDal^ zkEr$BRD(una#`Ibv`zOq(k2gc+t63ZjP~4WBU>VZ+OJGdaRK5a8xcnkwF?%-<=3Jb z({6=EKj0Hl%M~+sZlu$1t|idfg4Y0Md&PL(1m}2IJ0z_A9LjBJ#3V}IG#3Xiz_LQI zEmu=K9bTFzy=N8owE3fr-@YvbylyL<8(dTx>B=^qOJ3~iPa7Q2NH>8;Bf~vl!?5&o z3wZd(u*hSe>MW3m3ppE>7H3$@*4k8ST3{jjKncXh?jXs&SrwI%(O(#re8;k9q3Tl2 zyR5Jm2;(iWn&w;G0X6q(1iFrSYZ$?SNF$Gpn19iquCnuP4CRTmd<7No*fd;WxP8V{ zE!bxCDIerIb&zhgui5X-rHVb;IWPI&_+V{Wrq3i0BO@#E3q}Z|K$QX}9f14VMVk{N zPtZPo-q<2UXq50}Y^H+2AgGJU8fCZG#H4n8NU=F$y)nf9Wo1hIwY1T53c$R?(Kbv> z>SKkLVetbgSk9Bjwh&~G1cDF*%C_}Y?(67jSZ>*w1Dh;@kiM;)!x0d5nrOn%!g_YK zo9*%lO{Sp3!+9&MI>+FFv-wu0OKRSUTKv{mGLATL-hj$06YxI|GZV2}*$!GV=d#a* z>|lnsRSpLEBZslcoPAi4(r!qDsh>N5Q&|m1rv$0V*)0+3jhOrMa97bhgnXWl+84%w z-JrpmaTlmSIy?7TQRSnQl;0pkTJN{yZUh(LV+L0S_gPlf9}(5V)YsMa!93S=xhurF zYTEdPLZOp;rMzjcAF@$+VAtqK;TvsNvwOC*JIz9~BEX<(eY9=VemR3pL`{J%KQ8>J z8g{{fvp}44KhDvcy@-0w@Oiw^Q~mCZ$ZeUhb@>GM+6|e7@E1@JjtgMfoH2gYA#%53 z4TZyiW~+uif2~!twWuqc^P)p=aC2%~hYF!Q>Qn!4X9EF7ac^bXU~ifLV~1p#V`@RfVV*`Ec9-qB)jpuiJa5Lto)6nR9Ll|DdO z9N)oJeKz22WK%@fl%;_TeF?=VN&!#KSR5&as))*;pK-w(6;+NYck%*`*-wUswpmzA znOed|ZYOyi)gYOK|O8t1PPBeq6n;18>xL5B#Q8sH%lMn?4`$UhuYXNbRUCy?~ z{q^>!qIS?jO*xMNVm}5=Ms+%qcYpO7`hlP6E6vs-wjyMSJ*IhvFqSg2XnHNjm2`t;Je$Lc6pzbS-4K=bl;@M z?OeAOZa7^(GHnqLtRMSgp99?vP(m`JV4}}Htl(05S`iBgDp$a4rKA1z|x zm+)=CM5mgZP~d)fN7|Uog&$+kKpI9);6Ef~s$7jj;!J*&V6|04tEW_>kbY{KP#`La zl1w>u@j%d~hnF1clb4n<0%%mp&M#xJ$9$8ZIS=18?WEc{c*l)0js}sURzSufDc-?u zu7q*LE<*gKQaV8VwkDAd`9qsto10sEV=!Y6%2A*w*3Az`gEvO=lfRymh* z*f9NjYeX{ZL7_f%4RffvQ94$fMisA}VOqS<^Riw>vc&?Ivb?8qBHY+CXcdv?4x%}X zeo9z73)RNX77vX9BfIB_f6o2U9oRO>4_h&h(^PjqQjGT2qD{VpKeJFUdz98kLCbD} zVQ0E}sqPwhpaE`HMkd%UiA1$h-)R_;FiDeY&hc80hexHVsFQSTdvKO;ec76eKM}kr zR+Al}9K~`{OODgpOgEJ#1-j8)KEgNp@TcI4!Li;-q(6jDI`rGHpVJw-|w-n;jao)|C4oi%;>`zWt@R73O29}V(JGc(vGNh_! zoh4?&R(Ac%z_g{w(4~;KeL(oNsD>Ir;5m1d{xR$9gw`8cV=oL$It`Sha0j!M1oH(R z2ur|5lr+o$oYoTO9W+jL9esY^X9$?4aE9;pz3Hw6FWd!?wN;_#bx;Wb@&%mXb1R{l z6d^yClbs@xei3JjguRkRxN64ra!VxHAm#g!am-qP%Ia+Fx4q1}(H`rB0gE9DYwCcd zu=@p5M=5UVrS|;3Wlhyk+C7V6+Zz<>Q2v%Ok+i_?3i;f!ZlRS=Zu8|~#4&rFT;j_= z`Q=Yy2IySHmUoj!UdtKmgAvDVbJ%``4jQ1%vAPd!lArw>r+f}@3Rp+ zwu39P%PP6sAn8}n$RTE~K)|}FPu49SwtF}QyzP)4loEpimAbX+2&w$lPAgR7P8pgE zniqA|R`JMItR=h<6VS3((cN=vK=O1>mqgNRs3rJxDL+AqR*42iJ2m2f}J`QYw&h{_CQa#?l<~Xn#mi9rS@-6@*_g$ivrCkm5!M=fQs4Z9|@7 z8Wzeg$pU7B-X5ngXx0YEgz}0In;tGmx-d)A*4@^R-Y)BU zzaFyqEVwkuf_SSMlN#I;mmaE^ZhHE`=pKlVyXSuwEPq%&R?V69b7Bz_|N7M92_*pG z$~zd~Sg$(>BVFk-ISk^hb$aUw?cN8+0<1*M?fN@i`GhtV+tGG;jZWRN?<$n_TC~oE zUWYP&3pm9JdLyPR9ntnTB4vi13%^E|O-jbcNN8YmxNN3buF#JYI47RanbzhDX#-~^ zr}r23P7!<$D#lK3p&g>DO?koVbqlIBRA@|PQ#vcU$Y=CSa0Jc_au+n>e9`;~pM(;( zg}PQ18YC?2VxO?O@73iOK2+>kw8_WCb>?c^%YAPShn>6O%zZ*Lc&C_%*jbAZR^=V& zs3`coOdkG1=vDgjhG$#08?|{(q>TCfWFp#D&eWm6(+#78rd3|vz$-H~ao^$%?X>M4c?j>B>C> z=V;q50?>)Fsko^3b}eCb*(bH!>wCCyN4}1>U803kr!w~9$VRV5mLO#1fHuUo95US@ z_dE0Wl2`MXIk5BN!D!9+fguczvDv4AA66>mmIUbzdJ(v0|NT1Nb}0e8&4^&0 zd7IKrd2gn0_P~HVhVN8I@+XiOT^U_OAxfzTRw#;$1l>I6oO`XIV&rXZ2`VuhBpfO% zpMFJ$05Is9fDz^=tOo>m1z5DnQo?OFxH;uXQ9rj)*`+F4$;zz9J>8^_30D&Xuv)cx zmhv$@wUs(Es_AiQT-u_Hg}fvQy8|;gx1=d~!q1(E7Xj?zV+F|7YMKv(T+F z;)8mCto9i#RYwrNBa?rYVyd{xIQVwCLmr+h1xYlEN-n`s^B_q7@GNck`PSzZ6c04 zF?>CUBBs1G00YN+`9z(|ZKO#F=yHQPam(t1%e(KsQ#YEjgxT_s=Td-M-jkqPy$l{p zZw-MSJKpM@SGszGIbK$xQTz?eQ%%#nkRyASm)VkM8-dCRT;@*4@oXP3>FD*Sp#zI& z%AMlwI0Ili=`VVfLGm!JFA}YqXlk5(oH$8(QTeq&bEgtb?-U{Gc!iImMgWFO#TR}h zKyLM6xi@`jAh>Sg-+1T3gYd@bvAB>xoX1(|Cj6e^{(D+3^~VM(_~kj}EbW!d#B5dH zg6?sDA)sKQxoffBds$zDcaNv(o>y!%%*}y}IOqcBdq<&?26#HT`eAEc+kn7nU|X%i zK01ZsN5bz9Qrmr+!I+{JY3W|I#@#B>-qUqxrGLA(keKRqU&1QinT#H+K^{LBB79Hy z>|yFHiAXawZFgdCmwvQg&vAECdMw;d(4s92{7tYUc6_qP#8nb*i==fEOLH1O({)3@ zledPcLM@8A6&x$aNps1Mlwb5+-;`-sB56s{B)8{1V%6d+!MWAD>%~BFx>I-8UgjbL$9j#KW6x(-J=A<=uR3`00_HVgT$$g*eCushjsRpFfWIHRFm*|bDSQ$5G zx1hp?kaVpO#I6{;wEY2k$Gzv#vK@srBG^^)(4E|1^wKi#nWecD4x=vdX_ft!A3h$$ zmzg}ZS+^J;zVhRf*h-+K{Sxb&zh&M#Yr{hr^j!{5r}?{llAf*_+rq(oqQpe;!7C|C zVk1I&OLo0o5Zf;pM~#k_5Ka zlXbxBBKpm#yjNIS%k&zRB$sk0-ipEO_JcnO2Y53<_%}{U!}f4MTWP8>1=&Vp(NSjp z&vlYDox@{+?qm#i&HNN**SIsGiZ8K$x*IdV+6mNi(L|u^tX_Kvd{_SH$yKuwOGQvT z6WQQwT!wWje_T~I+n5my5;<9tDVPaDbj4;Sli#j4Jd@ta2z=50t;>yW`^$$8Y!}L(q8M#V(NKG03JiGz?Z_2 z;UM5T#^n$A#OT=(kNzzkj!qfW&zr)4r}3*rwaZ`U-}jTHO@CxzsDZf>IewUXK?i{% z8|aaiu_PH_yK=nM)?Dng1S@~<-UWNxzgAXb7Y znPbNVem-5=c20*GCVkhJu0cgFRI5JE(OZU|7_zu?>(!36|J27>g8j-g8q!93CPrx` z;MM1uG9TVMn|-*4@tBU9xR5nviA?)?Hul0N|4u$+H<=w*ray90L61anNKF=|t}j>8 zmIzj+X;4CuoWPhuj$ef6ml;m~xV%tJKFbfx1nbl3{mIMD&8b(!#a}P1tqMACuGSZA zPplA^^k8B^v4lEG@{^8r>QOWV7ujk*PRyB~QtR@hg(Bbx?}N)g`PDH|gmFu%IAPX! zuyiysyNXR@U5{R?xuA~2+)LY@w>C55G^umXp$#_7?gs8ov0_np)}dWH27fR3YaF6} zszIR7M}Nrp)hKAAz0Ht&S`FeOeguXclG1b#TEV3fRU#-u(SPzK+h8zJAm zs0=T5=c3_|QPC(rv_k)N`1V{k=JFe1`YLML)`fwC7o| z=1Bn63Zl>i_2fuZ3=~hUs!K$+72XD}zc1+sDVY#>Op+JnF))LkVOZzO$7NPlH@kjs zCssBqhaqQDf#O&XgO|{k@n99y7lh~gM(_pVhqH% z!nFr`1{$U6Bo#rD{Yir^bEXx@d3uct`s|9~6{RaIHuan0&=-2uL6Tt|)fW6LvMWeu zB2qJ~B(P2pAp*5V2mT{Cr3mc_nf%QoU>Wm+J=FGCIzn^T=VK^lo44QD4sp?Ic@el=9S!-yz8yk0x=x`1sXNx zbe*OGmPev#!{YYG_pMm|tu8lQcWO`!;C$fURjtbyiS<1V29HKI*`MH_*o zLha*toZzxrsTj4oGLUCyQQt>6!a(#d1nGIeOFqvNc%zyaE@r0K*UErd3}L-GM#gQd zpV26+L$V?Nt+2{cBo-FU7Pu5yV2n{{oL&Nr(AWr$)p%S$H*$G;@fjv%DiFlrOh^h0 zfr$ZO6)ek%e`b4U_EKi>D_ek5Ih+Plgc*>aT=so2= z5q(NhbJdawbNKvWfhoVe>aY%1d-{z{ywN-xRe`FoSQ{Kt%H$PMtXklvqv05PcV0S7 z@}!BlEtE+;v6rlP6fP8$?Tzb!bBX2*wa~B`I?+AXF-Z_P zbkmzT4KH(bPbs4rsC8b>=7>onflUBMjEK~ZKP(Us;O4mj27K%g7I`K}tiWZ#Psp@k zpi%s&2qP_c{Ic}-Bo4`{jccBKTs2$4yFv~w-p$X1f76<8MEBVfIq?I(GwRZD=^cY3 zF-INr*&StL_-Hs@Up&Kvnnein77IrD)T=OCnDeqS+q5~v*$2Ex9og}GEF2anX(y&R zZObPzR>3|6!j6D-O2Ynt(PXVvV6)U3WkOfOi$z1jxO8?lfyFJ6N=;KLP;qy{oJ6mE60Stf95RM7u zD(4-vK7&>*!1{ONDec>+F7y>+)jAH-psj|ATBPSk^c1vSOs~c;= zVcyT44EBkfFIjpoK^M&;#&HAl#mxd#XzbPJw6<7r7FM!iJtLZ8JnL z%wiDto7Skx33Hg@OnMz+Qjsg4P_?Dwsy>*;bth zZKeje8*Q(!dg_ni5OV@sCf94KAm==4&yp`G<*$@|cSH|kf(nDjG|bRr;yhe?Z#EX0 zZUwmrBuzZs;1(|`@^H_#!L%j-by`e^`~UjgX3dH@aS9p8RnN2VF1}+b)-XuS&##u4 zVsSCHuewTUWjlioKyQ;yL#a4jDG2kZ)OlT$J8q`xD51ujlAFrr;44~uQj`qfTM>G0 zr3d!ur9JD2oWOE|88A(_fv{*Jo{9anPNev-5u?d`*5e9PxX9RxyJWk#z5Wy8ivRZM zYEo1L`4h5WaWS&dik_`Z)l#oyiVNiGA)`!Z++Hd)!9nfuFPI@Z zXk-7-j$}b|qTuChEseVgWef{{p6)I!#bYo#nF+g=yAH$P7D+Dv1)6v54b6EU4H7E~ zIo-PR^I~69TrNBhuEF$SQ$I}m5N}&r?k9(_!ZK~_2Zra@??gXIngkYkFuY@iu7mKw z3o>f1gQ`3i?Eme>|BN%scP_;#Y(fL7@u%;|Hl9(YBx~X?uB+kpNQ0KY_evjl!?`p( z%9>Y*ObUcxGjRbG0A01<7fKboO2^s*JS~V$7`B@8KdM(Jx07+O(B6{P^MSEMs<#xG zXR*zx<;eXUGP=4P8$YJ=qMr#4HlShzc-gMpWyvjAlfCuGxdjziv(3ii zN3O<(Jox^z_N;U@2wWgl>t}5xe(>YuRg!+%M=ohSk*ZFbw70B?N|MI_mE23AydcmJ zEeC?`#tUjA(GZX#9g&hYYk>5aA}j273nqE&|Yg-rrIE^iZztwsJpRk z0Dz<537-)27#Qgb@s%4%tr|yTQKxhUO&Z4DN>nvkrJ(52h^T7% z^BE)Q*uD|zMKdHy`KuKHwAZ+VUuhI%B6UQa*g5u&<@w*1{5Ck-#-1U1?mPA_K&Q|n znr$Q(Bf4zHX2)0}25!oGV!2jx&rZZ2)3KM*M~|w1A8`U7L+o!=u4EkWMYARtdG*}Sxz0WFx2`Cjc2?Um;RDtV zLzxj758TLZ&zE%5^4)Rd1$m30cdHpdn%=TEbaX}5!C4v#JR3uhmqm1iWId*#DC@yd z!w}_vDl^G98ZTM|yejL`dwQi80827>J}L`Kcg@goxFDfO^$h3eb`SeM-&fV}3iRc8 zBe+?>)6Yg$|8QS5}7l;@5XKsGp zt#~BcR~zCJF+Hj;bDs`Air3c3>aS|FEB>G;q_G9YmLLS*sh`{OeCUJGmJMIdsJXhI zH6hgxiA4dwQbtMc<*I_q?r=S^bkn-;wE2NC5ar0hpv?z88+-e=c-ZcEmkuvrLvUL<7Lwz=jF-{O9&6VVk9iM_~; z?ucQ&S1~+GM(RAtrkIXxgZsGAw#T zCnx{cS^C-kJVYuk1h;WEXvKjJL{vx1cDUlFyF=Z~>a{IiJE1> zZJur0wr$(CZQHhO+xu+Wwr$(&^S|!b{ccb0t-<FFw(=_gqN z(#4uG6PzX*G>1_v>P5Ah!nV?|qLoqTnhq#Y0GdbCHHxWA;|GKihp0|CusM9Z{CSLm z?loiC{(AgwZ7P{apCZG+;L2si^3Rp9Y_>E_QW+Nf>Oh}0C- zfc1t`z)JRe?9 ze6j(qek8eO@OT_@X$U0b5mW^j6`FuW$R_xaz_?(48u0>~MI+f0T6M|(eV>hR3n{fr zNT13%v2V7N^y8X1QZ05Ew5TNIu@v7oN>N?lX`pn0;*mE%nS40VD!~_0V+~$gmi7Y^ zGDPC{dm9POyTmBetLg2D*yt}gb>QT{;}GK{fD?csl0HEpLsYHe74;Ck z)dceZDhnd4BdGBhEJ%~sR!s0xsUn64MCnr_JY|50l;*|eo|bI5PNc|FKIxxp^sV>! zYs?DTpl+7-hJ-KIL35mcG3fVQ4R*Nv}y6BC{o3w>ynIbO}D|AS0r2uwHzv0jq<0^Nu z0#kjXMqpHBI?PT@+6H7mVl9LZkMDal2K|N^`4~Wq>AU&!xpYqKGykg6Ao>aL3ZB@{ zI*%l6Q|y9UJbF-mQ;;Io0b8-!l=EO+FI8XUA9i#Iazi#3y>|()Co3#^jW#yZTW@*Jqr%Uh014WZ7XnG$#el?n@f{IlO{Haonwulsy!+J#DM~ulvx?+ zbrnBJE1t*;k+cJUlL?NMj{BexyEYNvtCG6AbUTlHsBYdnhxhI-?n(wor)VlPbQjyf z)bM8n$R23$jno`Y%-C~`lis9PtVkh``K45CQP3uaq$BcIS&hy`D{?1T)DzhkZCI#| z&a0!&ZQ9nqjMztn!?Rk39Mdg%rV+gHDKOht*}1>K$kXRgO*?h8+4IPZ^lqSeNbx!@ zEwNO43a~CkCLQ&=Fh8SWuAP1Stv>CZo<7u!2%nj5Gaw9sazP@*3JAJnD0zhX@9*7t z_(P5=x1p|IoF|Em5EC0;pE8ez*a-DBF=*CNl3`l`z?bR zpdD2~8z*}z#P*Lm(KS3K2QqVAHEL`;UfcrC)k@)7jh3Ob^;_DL1OylxmNalo^;`i) z&db4(QU}6b@#&u?94_=*3nqaI;R)H{6uHYNHWl!{css?as@fd|4*!JpS@())2Ku5V z6J+Ka_}KJ-3{Ic)f1Sh3>2O*X`Xls0JwckOj8ucxq*S6tTE^GqM$S5zXgHA5P3;P; zTxcs=(bH}*ynQ0oYl<@ZdxXs0E^7{gCAf=)f^n;>Fb?`JJgGtGODQi+uo z;yJU#USFjQ;U3kALJ`t}x^r&}b&)|$6BA|r)}$XVPg9ywwrrEaX&myhltx2tql@rN zDIAGjr@yogJO*8WW0I%|%Pyv9tleFSj(dsd*1?kYHE{A;SJ(wjBr%0{XXJ|PiKTe^ zkG@tCBsmQ_FVy59!5wprO`HC?NaVKiJKd8FbJs&`ownu548Pr3<0>v8{p7~Mm1B<{QP>;dy@U8o zkM{-hUu&#>WN(zZ|IQU;b^rj*|Jm8{f5-%JKbdqmX#CM-+L}U&?`6s ziv+PrStg}M$;-CXQ49^oYT_K(%yEBW@?4iLBUrb>^ynWiw|n0l@iGcC>!iLL!-h4s zy>TW+UslrFDw3>3Id3q(5s!9b6DHa<9IDczVQGHutS8c0&m#;E9h+Ad-zM9!sME4C z|9352&D zcGGC>F0b#ChYy&F3yQ*;EK{x==}H=YWt(n&4V7JKWUxGdkGJDD7Xhsq&oRT>*cD@0 zj?arpJh~ntvtrZUR*z}0Z)?J^QMci`?|o^2RvFzldiFvyy=9hdy{3_{e0I*0>T@_I z7=r!X#cNhNJ6cEFeCwm3Hh+vh$30UX_{#W;s>CA_JM(t^Vok_*?I;-FCoR>+%s}FR zvsP1V*f1o?VtxpDvQC#C^(1X^&l!LAjK3c90OKOltN?ORhIt8oYBc`0MlUXh54k{=jEx^vjO*H}+E=f$WWC29M(c_eK{0co{`fsWWF$S-qj*w#2vXVt( zd3aTo8HsAep?(GhnE+Dtc|gi1u?cv*y7qgh5XW2V>ZGtP%c;->>J7qRPbxlxVMnjH z1n-f5a@l+TX+rm?ef`q=Z^7S!o|^RHUC>7cXKdAhvCv;JbKQnh@J zrmi>(nKRQZ%|%PfeDn$<6gAzz@udBW3GxN^wMzDT;-`5~W(eIE#8$X9S2u z&Pb4!mz+Z~t>8`-&_@=8F`0=`kWz)0dq_ab4HYo6%n=w^w#lb9<^DB;q0N3P(1FIM z68hqZl9Qm*Pv$O~ELmZal8HD(_*T{>58}TEQ(m4|;BbOP-K(ld?1d#a8v>faUcQIr z+;I{v`HaUAHQoOaA#W6%lV#CT;=M~lhc(J_WZ?HD5N*b^^&|LxHu4p3e{#B`huldp zks&Vllgc9QQ>)_%+mK*7xIfQxmdRqHqp3+q$;C0}7-0cJF5cfjtl+h2`gfg)(V0nNg7*eRJ z!d8OChYg8-E{Yo=w&+t2*4@i0J%-E%|cR(tf(To;{) z!Yxy4rE(S`#{@$;~m;Vm>`5cIv135EBx&nXL8Fd04q=+N%80-x+>Q8|d|2)Lt@QohB$p?)nv~+1<5a}_M z_k(iQB$P(c)Rt7r7RCB8&;^BgOSwJ{B4~{=7^^GUPnU@yDuh%<3?cB?-llg0#Ah;s z*;1gK2c5~;mw(f=5h)DhF~!PK^-+T#5^N|@YPZ?R8Y78}KWvvF|CO1tY?{K5)K2t4 zputa|T*skS>SwomE~k_2?bdVMtU0OFJ%BO#F^pSg<2dLvRz7!TI3?0t0z;O*k?t=>h*72Lc^(;uRhf2j+UesJ z9|I8q#*T{9R*8~uu^jHb1WP4&KqdvdYcY!tT+yk0PEUF#{l!|}N|cBeujy)04!f{V z8d&GHwu2R=q%dZn>>zP0L9C))w}8g3<~5&NwhVF%Fvn{E^r(-|SD4p^XxMpk=fuK_uqT!@|&k})c*~L!i5-<^ogFxCndh7u%=ui)RS3 zWRYLpOnimwYys$bi%w7cbu^?SaTp%glf~jwa&p87jogtygtfi=j)4Cj)x zrtFp`WzV+9>5L-$-yeB(MfDc_=l$cIBe@Qq zH^0BLaV!_?CnVDx{r*+)qigqgF||LE2gtu;G5$qVw&NC+{L$ov^SUXeTmDPY41~EQ z5GwxWf;PS1%tX7bU67ua9pJSS;b@Jq9$3?xU=>Wk7=m-8YRkYPd1GE;v(6=JI1tFx+R`qiFmLgGt z%9HJFxDAHEOP+wpw*EXLapc4Ur4Rjzgw}$Ke_Nqt>ZGwW&zrHbG=GA058$=#$?{v>ZTc-B#5n1=Te?5(qRCxGhEYzVR0^dMKnPq7~dRp!W2GvI+R zyUMX?c?0{;=D#^Jwg+ey<^XSIjfYjP0V^fde7SMkO_~Js_Aik6aePX5hFi>*ix>E@`ngBxI0IV%PhB^GmF#Eth@Dm*!HhAFMl zQ+DR7Ux9!kQSa#lT4({}0Ux8`640undTA_`6mIeqdBeWR$}6KU5t%mU1YSDF%q+} zE2`o8Yf;$7iMUZn^fN~>)h$)b32y6`ghHT0y&(H zf53&Xn_MNcoMYaMwSkRv)Mk3p{f{4mKP7?={1>{lW?e_O<*UZ;8N7YvQG+d>(p%Oj zzN&snBEJ1$vJ7OXq#6Q|X|+S!;l$Vrd*s9CZ;Hchm#Grjv7U9W)=t>!p&|LuL1~Ne z2ZjuZCsBu6psbreI)@``;8tBTD2$pKE>rq9mTZ4o5|WkjhJaRZo}*Jm;3hnmR5#Tl zt&7N#RBkdB5L_;sudCJl$bp}_D1$Fh_Uwl(OXd(aheY>$;;(0{uq~e$-ANs3Er^H< z0LLim!4sQTQ=sk8o!hbGTFuVd7y>&+(qdkiK}?K@fNm?!b92+U0$)o|E}Y4ZmsvcS zniMKD``L}N?}*N+`9#`{(~bHQ6CN$56XZrM_n_MQt6G(Rs8Whc?}mB0HxSZA+UkLaGJ59DS`^b@vX>&@SQO%0gtgXi zZW0sOUb)0`q`cr6*udeu&gN0esvIZ!!J>Hw)}RawRqiMS0@V$(G}uA(hn%m{&s`F< z2vbkPE2flAcWx|iO%O_#M#B=r(@taeh)kDa`ZG7`G8ZV7XL(

oK^GLrcC$f^Q%F zK!~-`$1P4B3BZ{dFtdyB!n}f~({6o7vqkA6_ny7#nsPc9o-z{TNr_*&_eR;)1cK}{ z70>&kU*K?AKrdTG{3rP&zeHAyzVjZ-&;hZEB$f9&ajg*1u>eEGFSSwsmg7-dnUeTP zIP@^{c(91N=SnilG;ER!y(l2pV6qcnJbwZ&<0IZ`HV~2fMBp+MN#hEqWN$G8PJzM1 z1rQxlva2A7CRPkd{ilrz8+X+C!Q;5O{mLiZe?_#(D9!k<|7KeeK>`3U{?8Dtje)(r zg{>KlwT07vS1*lG*|fzH`{T2!R!qvS^&x<$6m9&rC(}wXK^Ph5Q!vIYsMOU^++~c^u zBd@=cdWNN)iLSf5$Nd3Y$GZ$A$zBX3Cz38EjG$RO=5>uWxLx(3)+(dOH9hcyAaoCZ zTR#r$Vt*kXx7~GecfRSV*kEB z1#Ihp;GJSWHuVou@$mkm@c`NEtSPW0!O0ya&xWF9uuj0xupmXH7$vE9{oxEFt*G6%-$z}K4ZY<#H6Bc z5tPjzP_`K*n90O?#r|@JPzr4X= z>$^D@Pe5Wxz?sc>M7|?1)fH=#Q2x;oM0jfwiFs@OVheI15IX`KaYW}UX3Yy}3g^gb z+cZfe>~@QTv_2Gx!N@-nJoyZ2jx;M!{nqoSi2|fJA7^3J#7XG;7*E-i;G&y)Hkq;rx<75UkYf8I6A6_dtEF7~DcHxHj_uB>A zj4m^-M3eHaJCgD6r+44tf=cMU=>0@6()$Mmdhb+tHNi$QW6*-7z%aV1iF!23cH zi)M^>2UH=aC40gWF%2H%7NGYDcYj_y`ZI`^IPAW927)8qC>9Q!d{QR+ZQ1_f(Ut{A zyQH*5|M5I4F+v*)st-KVS6yvT>(LF*zf|n55bDp4bgVqc!=x2zK$NTz`EUUVY|>im zvK>+2N-W!I$Ab&wX&Gxw=coN!Ua;eD!)i0*HgfA?gpW}0BWl_J`_g0>g4R2=2f7)` zQdo}37ZeetQB``<3Wy)J8ECU3f*f#<7Q@`7j`>8#&oAZ>&~6dEiQCPe!m^DGGZsrT zQWsy?PONOyKdlTyP#986Hi4BQYrPtBIg~Z#{}Oan2w$9Om~c<`)oV%aR2z5qx{8o9 zryyb;IDmv9MEp5~-LRTro@#4Ix$#J?;~C$4+9CqLvfqDc3y4C1dr#2a=^a?^204H(a=`OEOagq9<3~OB`+@({f@n}w9v|NhdZu-1C z1<+?EjH$>6ORXdi=RV9psD(do(i+R=Tvg=<6jfn&0Kf$m=YErpGS{`P7X8-_*GxuM zq~h|X{=5bGAaS(3-o&?TE`a9b2oTx@ss&-I_j#VB1asL4wz|g!Yjuo)xtoN&GAS7l zZai|4m0%Nzvk|z+q`{&y&<+Yw-98d?H#kx;k;uoGM3Yd*biBet2>cQwGrriv1q*t4 zspSxqfl-tGM0KR@XeRHb1|YK!{ZZG*w5;!=+r{Sa`cf3thK+l@md8lk%HlYeG%=|# zu3(=xe}$h!wX@Yutd`TYz@h{$Ec+M^4I~z8V8-}D)Rigc0*2H*#^pB$+69xL;x6!w z)#Rh=PT6AnjGg$5at1&CwtxEgh2H-K*0d?#sSGB%2E|TvzE5|q3KOQ87BVu~YCC-a z`{ANPvb{y&;M9MQTr1>gv`w+t-vD0oIoHehv9u~J& zqV#zQ!J3I)E7kp0RlopcEbu9Cey%eyVMFo)D^`1lrO^weFd|UzyV>lcL8az@2D?JS zo#Lw7@VVOS)3vdEiUqgAE;I@gw=lkV!|mNgB852-hxN8~vcK!+v&kPcsO!JVhy(a7 z7Z)Wes`0I8x7qAD^J9DK!g3ZjYtvVeP0du?2|&9gylh8;{TMIRaz;<@#1!{4dA*5? z?KJm}eTD9Cf6H)qFjw5IK7cI(qcH*Zy!Oh_{(q(}@R) zXCuo$#WC@r#nn<+#lgMi_?zCR)p2A#A#9L}azloWtY~1)9=W8F=~2CLmKfL7GMf_i zeAwy2^`5&-`iIxXk8wjmV3f@seo?}2ePNzrn|=BO$}Ot5nZ^uB7fbG~VjB*C&6)S# z(TT)=^)q3=OOO5V2M(_^sQ3Su=_h2d9Dl$804x#z$E|lm11A$!W*S#(hyNzccdO~B zZHgoMyw;WP6Bq^A7?37`hp!WD0y&R}<4TZDD#co}h$3k?J{gSJKJ1>Vx=l6)WN>^o z9)T3!d~~^VR+?Zd-L{GS)gYcZk2?VR^>V1)s+ca?Jhi|Who+Ko3~D8FSRxLMfKV(fdt8Js#yvll zCtuk5aRe=(cCy zU8s-tC5X4Pxc%f7xtb+hosbU2C~J{zERq6k+`KasVa|-7&?|W9muM@L^9rpT z4C2Sc-B|UQXzwa1gP1r3dP0QYp(gypdI(8Dn|$q(698RS#UqU>iXGc(W( z#UqDwWUi|g6b+7wt~BYKLL$S8=}(I`RP6PZV&e7l#<;mG9*u}LYS(ubGPIrEc|rQ9 zcu7&hn0m@|`f$^nlt5%@eZp9mu5FQ5e;ZKg1fFEMDMA?rN>;;hkRZ#csmTn@3PKHq zGvYOAd!x^zPPKlr#U_YZrrGW$vXx-b*R^KztC<^~&kxdkEH};u?mTI;KozpPt9fpF zp1f)74Bq6pquleYr03fVvv=Nh-1War6);}*dl|C&TE1!4X52Y))~6j(^#cC{@INNI z8-T>Xf2nkOSBPIDZE5VhgVdai<*xU1JGvTy!?tzWaj_UJOg#g5a^+;=Or7jb3O5~m zkv8$e8oITTNHy!vmQb#$i%A|;(6Ece`hHs2pkv5w~0LzxS zV*m*Qvt8HY`I<&pa|5D6iluLRs-{0yZk@&ql1NW#JYujnf1_a|nRC5XXhvbhzuw2- zuJm!$ov%BPAUo|m+|C|y0ac6$E2G6+yO+KD9^||K2 zTK+&n5GW#TAVsuX+RsFCrCx3~S&Rs&7D?sVQdfKZsS}dbV9%A-?lcddMZLOAkki@NVXT+H(cZ-2O9RLI z)>;}DZ0B7xe`;jVthq^F7J^N{ES&YBIoxjkyT!J&F`E;mI!Vvp1Ox*<>Qf-5k6d?< zm})=?$IiA6cjj5b{gu9HfQO|09IOc(dtjdc!I~EC9OC-e0=0;^4a0LNvD6ge;!HH^ zo;2E7^`VAo`Z7WgX|&}O!m?`<7gp4s8lYkujjdwh3BX+@kB5U6`Ziu zra-mZe*QjYcl+Gw*>iZx^~}va+#5hiXbX@hR%++-Vs}*qF#M&GB0F8^H1;qXKpqVC zbbkoFEX1-lI$IE?wfGCu!NtUb`Bg*5i_^-)_MY#9yWXEmdx>*NCDnn#5uen}Tl_$g zHk)qOO=^{kiXAWJ&MD0PzLL%fWpw7<7}`)1jY{3u_Dj5%KGbg4Gv`Qu#Va@4As zq|nZ==JM{B{}bR4M>gn&V5l=@hra^Ha7(%R6X-zn{tDhk_THu|qr+i890iu-CT0*P z^A>$--+nAv&2ZT0t1oTcKqqHXs-?neC4HXd(gH?@?7LMDN6r!z{5y${Q+UE{Q+!#N z#s0o)Tz<4?LlD062=zIv->l`8vUg)6J~sBk*w}2KK-q5dh{|<$uQ)lJ(IWDR9$oU@ zEzIUX5bAE^`1trvrEGutEnq{@UzTeFA0bns-l|3Bp9NdOtC~I{Z@+!j2>X6SDx0-|mSh*M%UfX*9^%6pWsVK@gjx@e z-2k@Ri=xjovvuTBL#mCpKi^@URti(=@*MO|DFpH;P@)gZgH z2TfJBAVNf`!M$XiM0P6oUlC>aw*_b#8~{KnBLD#9{|r&OI9pi%H-8w{nAeW~XcxV? zKqv0r#o{{|jY+J^#-pkWq8Otu>aJx>iPiyP@!Xg0qd@HQl7|`G;-8Kli8r*oux`jU z!xE*}%}l8hK%G&;hQ0Ms#%VBaVOO7ylp|L)8)3Z$s?s6_VeM_m@9EdqNJF-bNmn=Z zI~`siPIq~8VqJ>+;zc*Od7Q7ky1U#n&Rqz z03$9PA5@DqhwpIwd`0-9C))#2f^$r*0EGf0+%zAWW!U?u^Z^Ho=#Ha{>l5oaD(bLN zCbh8lWQL>F+JB%CP2!+T(U00SLeCQ=3aB*dt3?n&>Zg){9K~Z=D|j{;xCHHq$_kgH zYlJhW8QF=r`)Go}=p%-Llkvw`uz9ioprJKtqtavhq%d6{#AiCOf0X=RkXd2y^uV*u z8+vc)k2<89sDZZy%$a7kTFtM5`Db1X4tS8-5y9kUsz}JIBApbbo&#~PvFp8TzU-&{ z{Q(JgGyo^wU~Vd~TnJa#t_IAO7%Yj0cPpg}t*;^-mWUL&Zrz4DRVV^Ln+#m_-FkYP zoW@D2jDG~D0KrHTSGU6sZ^q9%{5Yd$Ke`=m_bnVV_wb`*_Um3%ZV7;f2Aj5VqX&nY zcY_+-|GIIllSS&AeyIde#zr6hoa5gR$@_rSzd6ySoDu#LAS4$QD)O0X}+= zSF8!0O& z*b&PVvkqw8`aJkJ^!!d(%Rb5{dpB@uB6kh14+5;~!873WklFpY`#65s7hS1uML zc)Y!}%W2HaF=5J%b^jPo*GZRnNO++s%jH|UKA=vxwQbDu2t0kJRN`WQCTU8Wwoq}V zaSw-mU=Aqk!8jD7DcuRGsejy|6BF@pIerI7vD6Y)f-3T`W6BYh;`9Pi!O(;Upjfn) zYzK(#1hva}baL(^@OP9$CL1S~Voa~}(y6|@=)3Idy=e2hxvg8#wr<%IFPNqMIU>*F zLB1+quy>mblx^~eXhjT)%{x7*bwiMecX(~*p^R{{*(w2%rUd;6@4(`fG5bldHmW`Obc;N6e_`HB3Np@BeRBD@Uj z5|?5Gpv+^%4B?<-*^GbQT$szvrcsBHWjn_D*}&YzCrAK&*X(7#z8jJb1x5m^+`aFUX>VFg2(Wy#eBiq9CHF*K&%rt@mKWRO~RJJ+Te-%_cRC248nor zTLNuZgb9$1Lz1sOC2g}D>YZUOEj;L%77&YpE+BV95iW(G&$8sl$N1P4BKE0q1O|6Qt>ty_CRDU1d9S zQjP(dTI5yjo1#5W_if_?xZKugUW-yNbw|OBX!hbsm=HsktiB=#Z&|RDPr+S{pT>%> zV>G6~$VtZ$^GkwIPbe9qO?41^A+|k2S z!+@|Gp7igh|3IE}@q|+7x+i80@Y~#>{Z)r9>Bi})>?-sKf~CeP*F_7lX! z82kJemS2h&W!gk<4Ia4-pY7LbYfg3>2jpS$}tk(emkvatAtOYKVejfR~t?|Wewpx`TlAAeB{ zwJyoo)5Xztujh}_>18be7pn*l;{i4Fm?DKs>jTOBoUXuId-}Xtyq|LudZYQ}FIeox zpH|Rb0kL4&!yW%%XhTiIl`Gqn?P9S;CbKw{CeU0?YS4^k9=^iXy)^Yd+INx$9RVJ$ zGzN1yjR~7Z$285crmfq`<|2?xx}ox#0Z&uS5fI~-H{+L!N7a11GWA`}UR>wf{N>-g zI4Ntw1BFWH?FQcg_m8QOuFZW*bY3Z7&9K#Ybv7Me_D0XBpVJ7J%g1r^9= zQw_}`j4fX~7ov7M)$tQqYzRAdfROKJFP;V^6oZByrFH6REZVJtsX5TT)QZ&#L1uv0 zWAz|9h6RCTXliF{P_8Pf(vZ_L--)N{+V!C3MY^4$E&6IJ0}4O_9P`TWnP0J<{tz~ZT;`FZJ{pZ4Qw<50v&TUZ93=aCP1 zViU=g!IC%IHeks{2PqD3)}a78xX?DHo$Oj(ztZy>p-wfzWF0aMIHp}coFZinnr?wA z{D7>_#|A#Rhw&wMLkj(TIcnHVsoWPn(c2@6cxG*YJMs%)T9qfSs-0`RK~;g~#>Tac zGur3FW^%44QZJxVt{S6Nwxb$1whsaq;zA0lPU^Ct#;h(Dqrr)Eyhh?2K%bj3`0EX_ zSDxA3a((S)_M$}y`^jwm?YH*4WY|7P*|WR`IkPx3J_8AC{qI48>qObhGWI`jkdB`R znAvc+Ep-{xbMsS*A@G_J0iA zZ_bD~f}5t*gP%c+UL+$lQnJR1K+?_!mXX_x21MbDi=0_9^c%2J8=GpLwkHnnmzgFn zoXBcxMckR~%j3YQ;lqW>g`7Hu4hVvo-wqm#nw~Smaqf-*hAfHmUd{}*F7penBsd#* z1sGtgCidU#_f+$vZ}9A^qtOEmg?4W%a%~}j1JPM_Z~`D#?hA8 zUXJd~h_JS5z4~rm#=oqP% zjD2u>BH3J~cc$Dd7}(lm45;`v=g0Wbm0urFsI&$}%Khz}#;gx3sj@_JZkBt-B^F!| zh-ZD+VLdX4;n|4fF@&o%aa>B}l>a0dNBsz|UOUj;UVcIAT+QN0D>AHddarXP`gKG5 zCAb-&SP9z>393v&=qjkIXPW5Y@_kAEetvrkzn^5xdLTrpy*Z?^9^vfcM#)O0=$2xt z==F&+tbugR-+Jsx-Z6gxyGg)vttqh))O5_=;XU}E5h5HjDtzbB!$GN%bW5r7RmVWY z1UyjI3G(yV;PS%D>EflCag~EsinW7y#5^e7+{LvqwO!*9*r`YfxDCF_JzX!c;Qop2ud;m?! zOjlC%Bu=CduX*UwF2Xy?#G&N}1i@~XcknTIX(M}H-D{Y_&;VqOx!J0~U~j)1y~J{f zvBPZK7)e>+CG`^FJ*(NtKzJDE!VXK50S0l9<;#P?464n9nVZvv@pdO{F_8l;Q z@__W9?WdcR3LY5+GS+xWs8M*v{5;M3F@UJd^ZOtJj*3@fU=n1$H5o($uRVy>_%dOw zao0r>T$-YjUleI^bG@yOEKk340!Bt(6voMj*3CM~n6i zAfB2BJhq!`0eFW~FC|LE)JA7_ovH_eK|>WIWyV_l*j&r9@v*mAaUnG^-y0;hu7-Fr zAP^}g1!a*qxAEWwzds*Fv=g__8>`UDMgb(tPnRY4)k3O`o`M9~eF&u8lRUQWGMdfW z0azvNwis!k%YXSJi#;mcB{eJ=-r&X?!nq`=qo+OwTeY#Gr~GnO(O3aYy>cwU0@hC^qK1V)_Av*e^8E1<5k1P*q)j!t65qNhGmrn&PHh(zX#40 zy@SbeF60)cnmI`P?|gqbo>4IUbT-AGd{zOduot%<(Ekekm7xr}CxHL}K)?V1sQ+is z|Nm|={5Rm=M_EU0gCE}KRBh^B0A3aXBqDJvNW|JkM5{sX<%xh;sFC%iGz*5D=jZjt z7LmUBAwE01+v#;?DFP48JHoC>*}l9@4JV4E|Ie zt2Er+g8@@dX0)%Z$UFf)!YGqE0fG9Ew-p0!IxrzK(e^1?;mU+!MLDu1WHdnDVNx_< zluQ>$s64L+BPV8dx2Mznci+*`<@rmaFlL4kvf+kRC zp)++0Jfvo22*r^!VeoLeCMQuGQU&rgj&)66M*4tSWoQS?I%SCYWkEcEL&@MowQ}{* zBT{fgy;W=Cyr(*#=a@2**sTws>bCE)NWHc+4u5mtAyO1u6Q&?;1UrL^G zh|N^s8bM1LEZApsYaJ^sl)^2}M?PU5qRputsS{8gcLvBO+Mc(|1lplPFiWIY9#o* ze^%d@P+mADtLpvyywcg7FEV0ufBATOQx6_;&cd^2xJ5ef$bCO?Og6FH*sSeEA6*h^ z{IrZc^qMZeG!DEdBVStTkWTt>dEn}4`*os|simDBmi^OB-OirBre1!F*%K(6n8~&MnW@egX$Amo|GROd;G2z6%c!qE@_Gpnkd34^I_hQV> zLmOuw?uSryfQH?-gY*L~Y)_&VDlzj~K&m)zr@aeB<~$DmCy@$wRwnw&Dz;MZ^FSTO zapI}gZ9I-M&W%B0xGQ*w89@VI<`#$ir`rXdr-|j_whl_IiQ!-4oR;vl*5ljoIVz`K z8TM=v&J3ME6Sy*InByjR4@2J~^e~hVa+gk;R}L4zxKPOL$*@=#TgYu*MevTY0oFdiFcCsQ5U#i-PJrKGXF%pVLcydwz>kG`aV$>RF<*?6G zjt({_VX&e{@Jc!Ys^zFRlQ^k9UV^7rPveF!m~0roS=m{n#@W|bF7*e%$p>hf+tgct zSzwWS9LLP?2R_Lfl?%TP^}SqL9X7&vfRZz%T6e(nT;RGx;a@u|RlmsH;xIZvIV2Dr0n#(Puic1L}3k z*iPh+;Pk62jFFoGxNf;>9k5Zzznq0-R3}bxRFAHyj%7>|WujPmBZ^cEqAv3Os4bj& zLIjJe!7ID#HA{|s3=~9D$I4hUC6DbS&;e$oFLm90{MV#Gdh$6m9BCYDRgIuzg9or$ zDr2R?|BPXbl%oojP$frlsUEGdGD|i&O?mMu-t9tdXLgHL8MZob13G>mSDmi$X*a#If-x4LmzWvUY)c^#S@GRZAL8|A1XgaX9+(7sYNE@v(?*6DSARWYKp%q;+Mp@#u6x%s zR8-M$Vof}FFC=2VE($TVverK8*eB_)oW_7k<)Ke9-6cz2$;wfmW=LvSXDckw3%ctg z)itJ7yM(@eUik$Hiq*C!FWEjpfgIBx{RnZdu~aC83MquZ?yx*^gOZe?KPQg|({=Nl z{t}L0f(i{j|AZ~WtSOC@uD{g_SQ7oow3ZLWkY0ay*yE&KkFWXnD0}UF4#xamqbQ}Z zc^o6?Boo*LorJ1!krU+PLk`|>EtPBE5Ic{^Yv6mbvfYa1yyKF65;)2Zg^n|_l-JMZ z2IvuHnJA3finN8W7z++3<~ZBslepzcP`ll|P_jfB7@h5*8S-I)bSt#b>&Zho=VNNF zW}kafdH~j)SSu!vBA{om873#=|153rU{_iW=MKeVt1vQ&8zdn&7|g-kWPkSIz1)25 z!J2xyDWJRLwB|zG0s)|J!EJVr?%AHb;CApz{{;p=!L_xkX%BuNN1>C4jEVS7$fYzs z!Cws<1B=>-gOZ`xSzv$$2qp`ctjX^2y|}TlO&pMe+|TD#=WCfQKT3i7CJbiEJgA{wNaF8`8OEN4!Y=kXc`fg z%rF8G!edfD!9h zZvnF`ne@AVWBE8II&4h&nO1<2F;!}!){Ex<1w}x*zpRy1=mkTKvJPVzG@91=3o<^M zX7h2Gnhw+Ip0jGJvA+w#;GbbPcx*>qtXpLSwW^P=R4h<-e9YF)9^YZ(B9k_8Vq1i$Cc1)Pil})?CNx$hZ1CekFqL)_()JtKH24NumWsF5D+* z2fG?mwcD-+bk3s+Z6tjPB|Hf+I{w*{mL&H2Mtf3X&6WY-6_@S}|Ni1Rj?)-8_zd9T zHA2U88WWes4>&F3KFm9f9*lh$<1<3Y7hDY$5Kj5Dt+j<{K$~$JE#lq)o`IV18nNSf zF+5@7(eeC7$8#nwt~~%rUiX_zyOBJ8hK>va!bgX7G=xvjTOb$UB0b#`Xe9F%&v6Dc z--LM&xahMO9*|GSva}Y^Ga}M{$o{@CtHvE7s7F$SFf4~{fnYuKUxga6O`G?n$*~iAu=B3Z)GLShqoWjAxI*T+Ul{h47)J))v zNrb6riH)sCmO=+40LUOOZsVsYWe0}HXP|}4w$<8)S{bOqCEM0k<2j{E3zbVdw6W-g z+GVRZJKlL=<2EvvWUsZ!M)mG033|?mhGR3a;KkfEQeL>^4k68~t%V8&Uc1f{y|ML^ z?~pn5oEgJ{ct&XL1LLlS7+=JJw(S|zz#J-~VpdpAA^IFhdE}guMSghVHW7(`AAdwR z8M8qX5jCs;_J9rwD&knt6_ZAeyRzC7gU9)v^4ot1eQbezV|Gtjg}>-Utq;Hzy5buT zgxV1FK&I5T2zo?Q3Dr3`^OFw#M^VgYoiV3l)X>2L;3m@NfbFmMruY z^Re{y*(nerRMzo}Rx%Y>aPQJydEu2NMFtv%bmRvEorr<9DVP!a5mEQb>&k$;qP7^Y zz*6WWXdZzvxs^*wrZeXjgSD${>7eso^Zdnuz1T{oFbBV2Qo*gAb@@$FQOCtJT@QfH~Y$5$gIDZk! zW6zE+M=tH_67crYgi+oSN?DTNbL5h1K7(hOFc?$JpqO_f{@WvuNgRhs@(D+mAp0Ow znQqeb4M7Lwh%ubfQwAwYzZS_7yP;hRpw4qvJ%k=l+17=xf;Ia8+m>?0$j>}Gp1-lN zD?Ormu6z|*DYAcTN7@w|0YBjpILH1L0H?NzPw3YyYQpTr2J;47zYUl>zuoAuLlvx> zkT%Z(g@Y31hRc|Fu$>P2;4c#KMU-zI88nHYWFd=h^o>MkuB2p83fDkvODtgA`rWm{ zG|dzq$IHnLn9O|38$*gxQp|+xMd_Z(G`l@`+L4b0^?VqReIc}Z!qP4*J zp$cm?@!ubYpgta6H0=VQ3aF~p8ss=u50isfl@w4Teu^Kk~FCb=q zsbd4?3k{fT>z`n{Cx<{2v`dy^kY!rCKaJ55CpilsY zfa)rGkHi$-8LkdUncw-XgJeML@}#w-SY$1UN82sOiI`N=4n@}i8Q8HefOxa<<{dcq zNpPFvx()8iKc!J}84B;zrnB5x4%oCm!SYB2#KuOjG%LY=CnMgJH|^+pzQyNH$_tA_ zr;ZQsiMr?$>^)}(JaRx4+_Y&s&RfuU(}7M!IDH-C%N+{o7a=ZuVyZ&aw%mCAWQ zwjn0Gom)?M^2{eQCOnsX%B#?&%Q~GL3eGG!M~cgU((R0^yxXmE?wTFtH9Rzn5{zFl z?{>C>{dK_c_)%r6mUa&ypK+aY+rMH`X1;Ba8}|1RiR>)2m00tV&%$H7elx@Wp*|ptV5T;$kRsUwoU`Sej<}K zw@=Y=BDYWHp>=gbC>;~8994VjVGN1Dx>@v1!NK=_Qc;GEy0DR?sN0}G(qSOJGxhD; zfLTk0#gX&UQh_xz@t>=~P$HslAXK&LLAr82_|#R%DG*Izq$uS(Oy8hX*njEl5EwWW zdvA!~NEbz(Ttt$CH?=GR5d+86xtJtbau_ILgO*$iN6=MXF_%XzL#ioztcora31QLN zlI+2K?KhvCY2%taB$WXOBb2NW5_l+L5as3z`iYcCE66xy>T#1G24KQCp}>BECvKEFHF<%yxF>Yc@R7vEVXLF+Q1T$Y zm{_Qm11Y;}L^r3;a_t(4;fL|}+Rgqm zEDDaU&_dBLPTQj6272TtuZ!fW1C-2JGTTtv@I%bksGO+)?##*58R);<8+T%>xy&1Lb9sM2tZD z{KZXQLt8C42?86@9#=FS3F;l?09>5jD&^5UU76DGk%<1u>f!8%;?ZFm`Xr9zG=0Jr zBp*pQCcTGB{8A|wtwR;I1oBs2Jh#5cpL6848$Zt54pW8Oq=UQqbQ|+p`>MDJomby% z7ucN>=yE};I4-4L&a%) zevjzh<%pB|aYWw_Nc-7mTdpDsDc6xgkg6?{8=dPt`6-IM5eTB&vIWzZ-|(#!ZC!nK z+VY0J^{seMdBb1$aZ9bXn6{CDF1X;jj1;*KPQn7sR3&Q!8XJMOtnzd3*hGo4{*2N; zuxC25mbLY_>g%iR|7+^|FAG${%f#@tbGa2ex>nYmh`;kL8}QxN(vTjQ<2q#^t{_jF z_95mT;(tnCyPN*MYD#jGSfHh&HFrmKOEiW%*4&BF-Cl*)WBoOUt2Yi~?_B+CVy%m7 z`o+(cD=McN`Xe@9k>s1HR4R0Z&%{xk^%1Maq^FR6=p#aGarFJhR@BRxT={fn8ykIK zAEJMUQSuC3e4mY+3%+q$aluIxY^2l5kV*OJ6xc)R%(%}vy@5PZxy~8eK@o#H zy!p=P2Mh_CSTQu{=lgM z=Zd5IbsHP|+H=11d(mlBo>PHHShz)q?+?zBW7k^;X<7NsJ1?Jh8im_kt>wPr8_k+q z)!y04lWWxlcMS3)xuXtUN*{AaKj~`Ibd)4wj#ic=I?gX%JZ3rBKayiR9}u8@N$=qm zFo7-9?@J+iU9m9$?+;3&rfi`4-#0fyu%J$E_~Yig2BC{_{EEa z|A{3c`+9A~7qleW8B17DK~NFS1N~u%OVf|ej_~y5*ei?auzb)YmNrdwV1C+g;_lF7 zhyMq9ZgZLtMKihXj+8*`Hj#cL6(X9Jj=i5zAN^;0@1oYmku8kAO2>P?AcByS`ezXZBpe>>Wc_)vDX7 zRjbx@p4~;Lzj~_#1=}e=j<#dd1)IirYi@^%D*2-Xj$3yeHymuD+k256Vpff0sUf*i=lKt;$~wua*g-UG3Nxu5aW1)c(HN z8Io*Obncdy+@>{V`S0jQB;_Asr2LmXF*n}ojEOjvsQNg6)ZQVJ!Yw>+Wass?^XsDv zVlIAtq^bH==N(!b(+H8CZ!+Tv@Rxp2T<(WGZ{vR;MsCNB{YB?um#@B%_6>-*5COZe z<9&vefvEf%eA{y0JW`aRh>Ae&LHR~Y-Yy|-y(P@BY;Uo)PkBG`FL09UoQ zz+Kicz^T8tBOG3={As7pJaer5&!+uDA}42&VpNL1rS|t??Wb6Q-z-}-9WWdG_EEH) zg{mx{^i2uKbb#5bOSYJWx6++0T)U1Mxq1Gf!e|?J@*P{I(_MdO6D2aYiBL?QNCQCT zuOC-UH^c%`V3$82YyEz^`t2UM0mZB%UpB=-WKRr1*yQ1{u(mMb4|JF8$VmBcpmB(@ zpxD%H`ajC$vL%KV`E$amx6dnf7j#wg9P=k`j_(P~bcdSq6X25e^OwgcS-r?F3}Gz9rJfJbWfX_D$9%VU-W0A^qh!ZYs&$KWtYq$Zl9qcirbb8(No zt?uoH@5U=y{a>HEPxby*1Xnw2tx&tw=dP~#bYSlG3sURnkLb{$(cm+E5J;1PG8&q+ zE#B@t15O0~$b1K`bL&}01@HFgjNs{MlQsJ}8CUh6t9tNc-|Q57jsR?uC2?DDxH)E{WD26Z!`D2%@=xMf_8k@EI)@;w2D`cdbO zp6DKO52URkoW}@QRYg$EGn~nm_!OFq-61)3? zJVwdo0N?avGm6vO6e%ayzW;*lJfG3PdGsF$pPEaL#Hn{ecTC%EI?zE@5gs{8J5-<4~H?zKBRwi=6!2oSR>!KF{uo($;SbFw!6@C+yMJz_f%O>&0h=aKk3 z;=++&oHW|xzp`m{)?)Cx=`^w0-2?yQJC9v@llU1VsN{8lf=l&)8le30(auASI)mr% zVit^5PDw2Po#x|!VeFkSkD{+P3Z`~e?|}SZFq>IglbE_D1IT#WF+$aDwoJX`4@D$>Wua^m1AGl zrCrCbmkrNYTNRl{0zOXO?daav z^#78DgwL^k$-7R>+X}(Hw~L3Td?C2)-j7$-a|#!py+L#j^FDGPY{@uaR_?94O$I(c zh+6Ls_qgl)l~D5sWV#UUf*EcUgWRTtq@^(Ic?mZtEAD7|RH4`vz@U_Qd{;Y_|9qEa zf99&}ljQyOj*>HdAaUSbYjfIxw=yiylohJ<=zd4b+kcLjH(=W-=F-mT&kMff`Oh}_ z6S+b_B|@8=F5KykRD9toe!YkH&t0l{Zx7G(eft++$8GxS&K`R9@L#JG8Nrnyw?$Ze zsJp|8Pdir(l7t-(9wSAdMY&_YG4Xo>*Rj$E4<8Y8-?x|GU6}Z7K$2%7jJtee)c*BOwg9vPbP*1sdGJBboJ;qjcgSK z9KSwdS9U|KkTCIU=^QA+<0)PQFWztB3xZv%er0p@#~fGy?&J_7MfJ#9K)4R$BGPc>GFCatiu$PY*q?{7*K9Oe%Qxuhx_ zG~ffr&A`L+gHUTL;$SPst4*m>?#`@pNz#Z9#1|qGZp-72g&uclP^Fc9Y>JA~_gZ9f z^y{vu)3ziE25tU1)y@^1x5PZSPfw+9@-Sq(je%-1q~Dbz;+Ew;`MLg-Kae{*Un+%y z!P-pE7m=x1Wb{9aND}^dr@-`S^zsR8ly~Hmp+21Gxb}!XLQ>5uHQaL5egr&1gkTd2 zLZI^<)~Y-csRpuuSEM}Trwe=8v|lK~XAo>hqzgzE(T8VG{AGnqJtxa1@_TXgM|`{W z7oeg|r}WqobsRVUl_cfO^T%*c{lImsZzCNt((<`RtK8_FYV?#ut;jjkb$6Rc^sX9? z*sy`ree6-*yDzK*H0vDM&H*Z!E1WLL9eMZT+N`1y>T*-aqM3U8apZX<^-;_6EU>$c zLEU3$v~VT8?mrwy8REt#nXIhsY??B_6g?&^~Gulxv z%s@Qz{+WIWg;JW#stulrK&d*ApGlEHcGE z8z?`LPr!~--25O?AFFqOU-v{f^g_r!Bjfo#OFUo7lHNH`YN)58hBALH1dq#Dixly88je!lGx;Hfwu}^tUTa{J+d+L>yiVDzx@V`$aWx7q`<{w-Y zJO&)#!^{fbO#BYzID>R_K|D@z2A(5rxbs8g8Nc$}J=od@diK1x{-gdr#UmuHTO8Tg z9mqM00oJu+z12w$W_3v-xE(atAWaIt`f;OS{eInZ)hl@xAyBA!hXJ4 zEAE_+u3s;kT>Y^M`_ssJOlJAe#VqQ0;#P0T{usgC{YOFzpU&JE@M3#U#*GCEvIk;V zKe|qA=Y$K$#O>qh8-s`JkDbAuE~|a$p6Ob_Lzfi^_kPrG68O*HktalB-SH4Ol+?)3m(IPUT7 z3$j#xu%qYthw?l>c77p0We!ZjoGSz4!-3+cfZ zj)Fkv&-qkZ8A?Hhcz!eUsD6hs5&AsxHsk@D4iL_Pn;f$$6tlyeb{)a&%Cbsu#H+*W z%88{FnC{8A^2oSM{R;n80eZ2k)Q=<}qxF1GOFo5&wY|=r7jttU2A$8JY25Hx5Da2+ zpsgfwvf#w^Xn*f67FN)cML_--NWcLIu@vZ8e8nEkPR`35r;M1>hx9xusp+VCytYVg zi0?+VmHlTNn9zE=iFQbdxY@A>g{seI+<`Cb6=*0Y%d$o@u0W(gPd@u(t=}%oJ9w%k zN4~kxl-fn}xLWj>OUnAqp=D zmt!a5+`{~^3Nt(re0Y~$(51iUhNh1IXu_r*+Sl6xjGroF3TuV&?gj5Fo8jJIFQ4M| z@MH$g8sb1ZxTAOD9mnn|-DM=#3ek-BD9XP32yYJBqPO&fZ<8v&+-L3-*69O_N?zzb zCVMrCb%}WrJla@F$F1+|*1X*|K_aaqp6U@2>v<b%(x1N_lV|l`w=(!u_NS<`g<%) zwX7z)z2)rl=)u*(KHxRc+IXw;j{afWWBh$df_mC7)E!+6-_IWNk367XiO$~US48<( zRlG+!tJ}|o>`;i39~p&za2@MbG{TF`nvS>Q9beHAWSF8)UVYrTI1>7yOr2h+w)pM* z32-A=k$l4NfbQ0eK|CZLxoK*Y>*UoB1$TmN!w(ORIQ4C-D z`0<(4VsBPj$*-wv=dOx%kI+nEQ`oAsVZnXOut>BQhy*O&x zpr<4Ii8+IxwRtf${`$~0+XSU6-o4gYYO8al&-F{Yz{YpSVlj;=S5OL6zwp|b3qq@FNwEg^rbCcvCB*alZu7J?AG5465#y9)*>7z|)@;9e>u5APOTMG5JV504d*) zkK?a&SgXl5h@M*`=53h1r3co9_D6~TWNydYkVt}d|ELmblaI&)I0#EmbhxQiD!F|~ z=NNF{4jq>z;@8@Qlf7D8zJI*5X$tRxbYcrcym_a&*Fidb>k_!N~DFzdOzk-6h@z~60VX^Hp0h)}RF*J85@o+>Jwsj0uY-=` zy(JEA6E5Bd{QGw29A6+09}C)4GjPE6Ia>LYaP+aJ4!}r01NHhgElz%<=*Xt5z1ZbZ zo8gXFQd&_qo2#C~x!t2+SyO$F?CFM;HjX9c^Up=aq3ZPztr%!mMli~YN1YX2VF!1G z>>}KP!Mg={#>%ueJC`2%-aTLdR*T9|^q}-}l=(w%ttd8|!rXU<^=pO%Yn*JJa?A+X$AJGr~l5GgT$>;X>er(nIr+=mCdLd*M}`e$3U_xnQYw#D@A zbH!Z$<$(Mx`NGIy9nMDOQ1AVr zo6Qxqxbsp|>R-SBW%Eb#@yIMPiRE6(b&s7Peqh*)XKW?CN3yL4c%{PT?lL>@>r1)Q zP@MWb;pjH<8{|Lz5=958np6Ih8{zk}r-TcAho0j6?0bJ;F)*)&;`?=z#Rzv_A{e#; zdqEuWj}A~RuU|Nt$W|Cn^g0eP z+WY-TP=?84dD?ml|DN9CTsESILE(~P&=`0He&84I7XNN4zCCIx^K)b!Hb;+G-?8a9 z6A=e}*mR7Dh(_Dim+l4dUz=(%gv~$+nNn)eX&dgV+o`e;_EmA;Ixn%h>m7-=hWmCg zGrgqnpO=q`s~vDSh#x$SfL%MlWWNf=_}OA=Hmlh~Z@hQeJs%adf2|;e;iOWB6k8pS z-f&-k)$o`}^w0t(c0@_k21L0Z(tbY>Bh%Cazh(2#p=@pr_)m%0AfX}!N#RVBpLRxn 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

t#I)tT*!5!`d)}sdvM*ug^;q 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 Zj><5Yl!Git;6BxT){ZV?Dzk#=^?%BQ1=0Wj literal 0 HcmV?d00001 diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js deleted file mode 100644 index 1edead6dd3913..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.external = void 0; -const tls = require("tls"); -const url = require("url"); -// eslint-disable-next-line import/no-extraneous-dependencies -const aws = require("aws-sdk"); -let client; -function iam() { - if (!client) { - client = new aws.IAM(); - } - return client; -} -function defaultLogger(fmt, ...args) { - // eslint-disable-next-line no-console - console.log(fmt, ...args); -} -/** - * Downloads the CA thumbprint from the issuer URL - */ -async function downloadThumbprint(issuerUrl) { - return new Promise((ok, ko) => { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.assets.json index 80966c0e0e6f7..45716d4d743c1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -14,15 +14,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -79,15 +79,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -105,7 +105,7 @@ } } }, - "e5ed7b6d87b87380b6100ceee0132e754d89d873b4916aa2750159856f29aaf6": { + "0448cc8c05ebbd7b65b60cf00625438c8313057d73bc300dc136c980882be2e8": { "source": { "path": "awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json", "packaging": "file" @@ -113,7 +113,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "e5ed7b6d87b87380b6100ceee0132e754d89d873b4916aa2750159856f29aaf6.json", + "objectKey": "0448cc8c05ebbd7b65b60cf00625438c8313057d73bc300dc136c980882be2e8.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -131,7 +131,7 @@ } } }, - "d8bc0e310478dae0984528243d9da20321bd9a24b42b03afbf4ec93c4af0d7e0": { + "25600492a4ad43e119cec65708d7fa09df31103a4e91c582682f24d092df8aad": { "source": { "path": "aws-cdk-eks-cluster-inference-test.template.json", "packaging": "file" @@ -139,7 +139,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "d8bc0e310478dae0984528243d9da20321bd9a24b42b03afbf4ec93c4af0d7e0.json", + "objectKey": "25600492a4ad43e119cec65708d7fa09df31103a4e91c582682f24d092df8aad.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.template.json index cd28280524f06..b603ed1c0d0d1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/aws-cdk-eks-cluster-inference-test.template.json @@ -1011,7 +1011,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -1623,7 +1623,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/e5ed7b6d87b87380b6100ceee0132e754d89d873b4916aa2750159856f29aaf6.json" + "/0448cc8c05ebbd7b65b60cf00625438c8313057d73bc300dc136c980882be2e8.json" ] ] } @@ -2191,7 +2191,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -2202,7 +2202,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json index 1cde37e6bc25c..b0a3113e89009 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinferencetestawscdkawseksClusterResourceProviderFE14F3C4.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinterenceDefaultTestDeployAssert715EC778.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinterenceDefaultTestDeployAssert715EC778.assets.json index 8d1e8dc65dfee..dedb2a354ae87 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinterenceDefaultTestDeployAssert715EC778.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/awscdkeksclusterinterenceDefaultTestDeployAssert715EC778.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/integ.json index 605ec1d9d495c..7459d6de69ae1 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-cluster-interence/DefaultTest": { "stacks": [ "aws-cdk-eks-cluster-inference-test" ], - "diffAssets": true, + "diffAssets": false, "cdkCommandOptions": { "deploy": { "args": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/manifest.json index c2cc1d3f3bd5f..a55ed7b182277 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-cdk-eks-cluster-inference-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d8bc0e310478dae0984528243d9da20321bd9a24b42b03afbf4ec93c4af0d7e0.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/25600492a4ad43e119cec65708d7fa09df31103a4e91c582682f24d092df8aad.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/tree.json index 3c1114efa218c..dae479ec0e4d0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-inference.js.snapshot/tree.json @@ -1178,7 +1178,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "KubectlReadyBarrier": { @@ -2242,7 +2242,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -3328,7 +3328,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, @@ -3393,7 +3393,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/e5ed7b6d87b87380b6100ceee0132e754d89d873b4916aa2750159856f29aaf6.json" + "/0448cc8c05ebbd7b65b60cf00625438c8313057d73bc300dc136c980882be2e8.json" ] ] } @@ -3407,7 +3407,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "@aws-cdk--aws-eks.KubectlProvider": { @@ -3918,7 +3918,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "awscdkeksclusterinferencetestClusterEBBBA1AC-AlbController": { @@ -4420,7 +4420,7 @@ "path": "aws-cdk-eks-cluster-interence/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } }, "DeployAssert": { @@ -4466,7 +4466,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.55" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js deleted file mode 100644 index 1edead6dd3913..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.external = void 0; -const tls = require("tls"); -const url = require("url"); -// eslint-disable-next-line import/no-extraneous-dependencies -const aws = require("aws-sdk"); -let client; -function iam() { - if (!client) { - client = new aws.IAM(); - } - return client; -} -function defaultLogger(fmt, ...args) { - // eslint-disable-next-line no-console - console.log(fmt, ...args); -} -/** - * Downloads the CA thumbprint from the issuer URL - */ -async function downloadThumbprint(issuerUrl) { - return new Promise((ok, ko) => { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.assets.json index 9d07f45598613..b75daa0242002 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.assets.json @@ -1,20 +1,20 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "a9886cb5e5792647efe02f5162568a8b7eb41e2b52a12438489a6ad237904e8e": { + "2819ce532fca28bde403a87ee7942ab761244df25f3c8468f41b0b1e4d2702ed": { "source": { "path": "aws-eks-oidc-provider-test.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a9886cb5e5792647efe02f5162568a8b7eb41e2b52a12438489a6ad237904e8e.json", + "objectKey": "2819ce532fca28bde403a87ee7942ab761244df25f3c8468f41b0b1e4d2702ed.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.template.json index 72641a6f83320..cc4621133b8e7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/aws-eks-oidc-provider-test.template.json @@ -24,7 +24,7 @@ ] ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -79,7 +79,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -90,7 +90,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/awscdkeksoidcproviderDefaultTestDeployAssert0BFFC9B9.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/awscdkeksoidcproviderDefaultTestDeployAssert0BFFC9B9.assets.json index d6db4da067e1c..f579c3c9514de 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/awscdkeksoidcproviderDefaultTestDeployAssert0BFFC9B9.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/awscdkeksoidcproviderDefaultTestDeployAssert0BFFC9B9.assets.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/cdk.out index 7925065efbcc4..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"31.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/integ.json index 1ee8b520372aa..55d3374b214b0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-oidc-provider/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/manifest.json index 05f5b5e05cd8a..ad51a361bf545 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "31.0.0", + "version": "33.0.0", "artifacts": { "aws-eks-oidc-provider-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a9886cb5e5792647efe02f5162568a8b7eb41e2b52a12438489a6ad237904e8e.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/2819ce532fca28bde403a87ee7942ab761244df25f3c8468f41b0b1e4d2702ed.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/tree.json index 1f07315ce99d1..97617a910c936 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-oidc-provider.js.snapshot/tree.json @@ -105,7 +105,7 @@ "path": "aws-cdk-eks-oidc-provider/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.17" + "version": "10.2.69" } }, "DeployAssert": { @@ -151,7 +151,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.17" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FB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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip deleted file mode 100644 index 8c663987365070945b0cefc40b918aed7c18dfdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436742 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
5*0#GM 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Μ!zH`Qn&`)>fN<;Drki6VxO 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⋐+Jiwr0Mdttm=0s)`}cY_X8TjU|o}$k-bp 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%0ANP^N}5C#IyZM`Ih4FRPeGVz;aVqnnvj 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

U z#2kdadeW);vNcur#GKZWqdf3T z{O}MIHBQ=9CcfB#gY%&pdXB^KMeA$mKj8mq9sf@v%73urTYun`WqyGs|5;T3RqObF zPJsUR$>&5aP9_9S&W;vF&O}^La)y>BM$WXxCZ-m)Ci0GU_9l+b9uy|-_I8fWPBa8W zdU_^KGIqu;)+R(W1YQKL2G%YnoCMB}E+zy%lw45%)9e1H;AR4+oXFo|SAG}We^v1R z4YTsUui7S704j(cMfindBwhuGNQdnaqD04;uHsEFQikLWQKZMKi$Z+hs(XKCJP|S@ z$xZ{y!K=6Ycthb7cv}gF;;z~p%kV&3fED)G%DIGG!(hPtL(t5gDp&^lj(T;VcY^06 zfRPrX$c-J7VIvq9qo5N>^O=GFs$rCfwdNZHeAOj{6Gw~n>+9}+q2vF*&*;CK(*0lU z{r~>={{MJN`J$$BMU(&l2bF;TLs- zTIz-z9zC+8e}9?0)YRNmnuRyJ3q)clNT08#zn+N!kc8QC!2}|aQZkCEQbAb#eSzoA znX%UoE7k2}ecck1$?asXS4R#fqUe5Jg<7?f>3ZMGrn$eyCKx@W(b?vznz`TB1zSQ; z&EJa!nvThIc1a%|k6cpA>RL5=#n;GxUdxg$cF})5NPV(+X5@Cg-gdpc6`Y(aHF-0# zlQW!JJ9(eZjaw&gc4o3=dX=NSi!tT1ed?qt+m5PjRo^pFV`I)8lyl05rzc^SpMBq5 zwl~z!ndnZiE;`n05096Ixz>$_75+T(!Rj9U5H+*T-T6J$0L z1vaZHLDq;^@0Jj|XzQFgc8%~AfW79v_hc*%RW6!eEB;Lk*Z>{BqDzxfLBemq=8D zrK>7rx*^n-%efBHzOr?j$AFn|! z`%6AZ?$4&bvfDTlG+cV{>{n%iGn0h~oW$&1u7JtcCDAOP%BTr|UB_pd)iFLUqB^^_ zZqzEB>W(Qn*}NQnX*ye#7dp6<#O*VAQkx;kVDuHLqI6-BKY?C2kpM}quh#P{jy6(2 z5zPp4aUJ*!(AK<3JDLd}m=o6??8dYv5BmCU)45(NBE+n*Ylp8?3}5))!mT3hvx<*(T2!;4k>+`rX)HU3{NK@?TaQ_oaAWcV7K=!4XLl`f0(vcUM4uDY#$zpa!yf^!^zd?A-MjHTv;l(U;>28d!XL| zM_AAcJ)4A7`r&p5X9{?LHv`F!Ckx?D&B*F{i?7mE=IS1ui~3O+c|ROH8ZW3;2j7Lv zH5uAyh_>DJ9dm*CPpNB#<6cJHWmK9pT%Z5DS+X5`9kC zr?3$Q?VHxqvY3J^Oa6=ob*<6@lji5hCav(fuz%_9m&|@kZD#)wObW4J2Oy%W7taDB zE=sW)?)UF%q8ycsdaAQ4k9G&R^B5PGL^a4j4=1zA0-DW^Wzah)LxZFki9f{tsuB zri7zG9IRUjexi3&53aH8(*Yw(tkFahkd6)8IZy^zl(X)cL~HE1l`oVG>~Zj^kAF5^ zabTQg2ZGJ95UH2TMF5_tB$%ZpH315kiTe;r_4Vwi(AsPB=$+$-yH>!D^SzCyUcoR? zsB{)G%&m)O9&b*^*O`GG#u50I<>&oT?<4-#zn1MZa(T2=77BiT{N_0&4~7BwvNJ@{`UoYfeFMf}^)*61v zS;dPhk#c3LB3S2_CWyfr@I9D&ZMXw$UZ0E@Ct}YUajhIHMIR-G&dIS@ozr9Z(_=Tk zpEF~9%rF%lkEbV1-}gyxulNslS$rJtB5_l@-fyfbm$L*lLdr2U9t>yK)p3UpUg@+3 zp+G(d+Tn0cH81pY^Ex3rWP7X3BI$- z$(V#1h}B((Y{Z(49WL_*IPS@XI+6}`K(0oAf08tae2rG4nwoUbP3tZXbu)PG!)A>9 zEk9+4h?s6@A`2tDW+M1nZirnXzzY%Z{x~iLg-V6T3oQOa3?Y$+7k-j?S3pr9J>v%b zXMS3D-vj9x?Hume%eUyYtc`Z#LrSX}k?bQE{Qk5B_Ef2Og`^+GskWiKZQP1Wp*%{1 zk)1gOZ2PlVyzPf(rkIkc=*L@D8DYE&zH`E(UXd(21nO-41#k+ktos+0^B?7t>C7MVa$8a?ATQyqj2_je8iiD^eQ6ZtcyGz4DB%{aH&KH0)<;(TiYKH`^wp zg5#IFla-BauW5)2^9V?|ru`{B#IWTOb88M1{Uyaj95HS4IJ;!aa+=Dbvr-i1Twzsp zVEWWPl?+V4Xb78+gols=@k@4wpcVv|>4JiF1bh!-pBdyvV^b@c_!Pjv@|82vNG)F4 zvl!huB@i}7Un|3B1mf%)G$3{qjNVH+=z+st5OIK{<9g_@d}5tynt8~GJK9SjclK@e zQdf%u>}sp0nLXxz#orNyTZ6(zKt)_dZ+iMfIga!IAU$pn#Osrn*D)xo_Bp|h@v@8x zu~#{!a)J)I-AX9gX3}*UmfwkR_k^e;PfA8figQT-X*0SvBEAt@O({sf>XcN{)GrT( zTJMpk3o^N%+ISB+dUDmZXyf%{3FvinZ*5m(`vy|drpih0t8+4eAjCoG6OvvT0%|C+ z=)#8%`*WBXH^8!G!o7@=x1jUA8z7M?jt$)QrS#^*Rd{+^y=?do3ke&YNrDVE^vA122hlj&u*$8suV`!4REV zE)q45-Y`QBdZn*kwB3G% zU2}E@a{A>d4(op8R{>%=GMjp$wS^JS@}ttQr)l@etA}G=-BqHwax3&)o39nX)7iml z{&q~of7F@zk~HHAJI6y6KgxLF-&NWCGcm{xFI{#fA%yO6686a~7{LzrPE!aRapq5! zOYCPc{w&3Bv=%v-N?N5y8VlUx|J3I&A05^YFxwDoERYQt!c~NAmQnmc$8C9jYlr1xTXMj$D5`y5%rRRXiY4;9^C<9lHGN zCh$-#*`7Co=%ch!xwdjQ@gLaunB7BtASV?efob?+JN=y-@nm4zD|Kq{T%-_{Sg}bK{z>c!Zfrw2|>q#Lgb0L{a}a zlVO}P@Z|~(n38p8OgmC6k-HgwYv)S z&HR<{+yNCR=oE~K>O`Thh&J~~IwE2PECWZFL(4Oe_D?MC?pMUI$7QWx!HkPL6ty0O zo;IR#>NopBsGO;&R=^`_&N5Q;g(6a-Zb(-OU561J->WKha5}U@5OiIucaa&yd7$BJ zOJ*%|IuP9CkH=0#DRPuiu^;73Rz3X76SO;jcY}>EJGczs)|Mil zx`L(1R~_;Yi-Kj7dn&S?nzIsrTAZA|@DNs6YF8q%+_-p^=8(a@(p(HLTf5}OxBgFwCkyntx(pP9Ekf9`%IK-=O=kw2 z7ch{8crW?(eSP}?z7DVJ{Ft(Ii#TJ^IX%FUCM%Xb<+4N|J4Zd?tbePH$b({WHf}<2 zM?|rgf;~qaWhQykNX6OAqL*edBTYcI50CX}NRclyMEc~U*DOi>O=@zD5vwZ4Q1lEA zuuee5Ah5x+9vX;56st4nvVlIhq=Um22B+Wpwl+JNs` z$L&GR+C>wNXqo{Y7{u9v08$mTc(zSg1&VE*e zLv**3W6ZFRc<@93#7WDK<~rK-!M0EQq4w;?{*xW*+EoJ>l?_23Upr@@_UYukZj(gK zWY&Y0h?15f*Gd&&=?eqEfdo!5YF`^MR41N;g4g&>dX6ni1OGO+suqU$R!#E1L z^D`zH@a(2XEu$7lhqw`12XN4wTloN_I)kUQw2+>OO?|6TRS?D{0$jW8vcAv7mcbzTypj)mr22X&z9L`JsoZb{5yeV+x&`iQy1^_E-T)4|reV`j zeUvfDGEqbxu4gcqG_vsUE(!!)Z`m^}Bq7o4r7Mtu(c;D_9wb)=p1&cbkfXiy+Ie^a zRlw)K2c`lbj_Y$5QT0go$^Lp=>4B{kgh%rVG2cRK?A^4oWAkX#&Tn@8fhny@n_zES z4&&d4=Y1y5cp;FGc zu|>%8ZuL-st8LO>>2P+}+|lI=@9Ho@$TPtJD4EeX$jco&rXb>4U}21Jk8bWz$!Oqx zVkRClFih5nNp}!VRasm(vS(IpE)}mbC}c}#TZ1#7cP{)qE;Afl?Y~qhfr*Yw*ys5k z#OlTP;4M{hdIYbdlNXB%eQMGgBjsi(z2*6E9aM2a>$2r7yZH|Hc6VG;gr|7iB0@_- zhOM)A6qVn<_#drn;7Ub)Rc7nabT9VZ5jl+ zqUIB4-fqrm@?U2to?@!}kP*#NX?ms)d$CgD0-Jaz8pbEXVJm4i4kQmPbLX`h@G-Qnmu@DOjcX;y2u;XkY3UOJ@Nr z=chsbp~;8f1Y#5gOI~PYxOPnxy^^%K9{qzNq#Zs*cN6d(xzbS(8tb(iVR!2pK@c}} z<}?;7Rcy9PgT~H+WdZ@!C4+F}C_MLJ)c$h9Wd2@FX%NiBSZ>QtWy8EoP@1FhIbR~v zp_Sau7~Np?w#Y?L4Ny2goG0w07X{Yo##*ucbi>sm8X<&S34io83u3c(KH+Y8boGWE zDq|g9@^TK&FBm>%CLx<3Kg#?{bc%ymD6@0;@ zz@VUepoz%f1Ru3$XEO+`;g1KS~$ z5_k;fVEvOBhFBbYOE31DKE*qH6D!p>)F8}kIU6sErZXHNg;|Dp=i3$OzMs$47PLE^@UcNKde6ML z#kt|-HFbf%qU|qc6;(MMdqVF+!Ik-*2f(GNY~q?;g#>;tsP^66g4No*Je?%+(5h}- z6nX_IHMnM5si%VSZLia?dGZ-lo}OC>a^A)+9?W1I%?yQg(23zwk$2xP?-wB&BimdE zqv^}=&G-Tn{_jRB9eUdRbFQ!^Ki-I`eFdB~<<5~O+`6F4ed7zVFK%Y=e+koJv zG@|3+ttj(M(U*pMw#H{ii|VZ&F66w3VVFec-Z3pk9^Qz>qRNH4z+Aokeq>gXB%@^( z(7x%1{*ruPa{7%kkW2O9VMMG;96xtcm$cfo^8=qJy^vmqq^P`5`ZEg^(0t;{2=T%g z9@t~5C#(#9Y!G1~&-sB&h8c9ML{O(A+#NiQYC@!eK)qBGL^H)R8zpv3nGt``j?}$J z<0jcgZu{dPTNVo0x&;F-NO*WVVX*u8Wp$uhZygPZA|??Q&qrdkp?L8!E%67 z9Y+{2^At*9KKDajf?VL6`JD><<7oXF*n44^$3FxW@ZY zfLX%sRW}Wu!Lgj%<*)Ot8#bOmMyN%*ylE5u*2T*JvZ}0>E8{|%rhanA3)pqWf?j!n zlM&_Mt^gZour?r`nO%Qnk9wp{W8w~r`9UJMzeQJe0*3T~L1EtnxJY8R20)tR*22M} z_SEI7QtsQ6U~`Gt6*)>9oA4v2X5CpHS}{Cfu8ELp!)P zy4qm&8*w*H$V0d%K%&b2yNJFEnbBYEv|FQbzHPDzDH<*4exXaxWrGw8T@DE~D_nv2 z!aq%*2w|lm>5CuH^TS$sXqyOJ7p4emv-YJ1x-L|<*`QAYV~U<;<&DxRC^G7N2*mPN z=gP$W(9z~e*=S3qk-y zRqzG3q2%(6(K?2;oo$@QSh8lOiw);6zaS`4ztoje3+++)Jt7_#N0&afZ1b%sNAAZ8 zq%%vctJ@OX94QHTro=aGLMN@Oan`vU-`-+x-9h0%;xXHgqn0_e8HG5D@!ZewUWKbC z3n9i&CRWEHZ!cqi&OSAccxAgY1MTcXc^L;yh>L@M2I!P|+^%D?&`wr?Zl3_a;zUMt zc2^Rc^B>;dceTcOYdRC*3AK7YeY3pElen|4+Q5|XHJCLsM6z{pB`;<(4rC675lIWE;gjI?{~8b0;Tq%P2ZM6T1< zeA<=ZKF3Yit_0kqlSsHzPH3({lc3_l!bRZqgnf1XPUOa3) zOU&3d z-WB@Zk-b0Uf^hyi%)%#H;mFHoTV>JUP0PgS`>V`SF&;-%^*1id`!A@kMul#pRLS9U zi@}%SK}ikxX6=+*F837*)p%7};s+G8B+`aByx`DJ!&P5j==og?p$XxjgD5bX@+6!^P2#D~eM`*SLQ2yZfe0vk^K4|yHoxpIBO@OL&KjR(b@YZ8xTB5#ca8-% zy44}x6K|l|)*)oNJkA%8%ke?jMbfD2$~70{W>XQXdj0xqX-p;8T2c3Vn^A)=jLjM@ zwy0v&c=(D|aS+ZRb7tDdR?+lIb*Q_0!{#{RQw%TgAlUjYSbEQG6Lufe?r>b=pa`17 zNtXsagToahI)ktH0spgNT=y&p&t{culb5bf>K=)E&z&iFPBl z?%njvaoTib^}GAaAJO~PIG@ANYlo9W8m9BQ_6&dhs!aXISkGY0ZMPG%en$0(pUZMN z@(OBxSrV0fKm$c){7(_+4{6fC=|RE&<~fHnlDJIctz~US&Ey- zE!}gr>5?XGVK|~+gR5GlzP9k>(_1eiwuN{-2%)Xm=HOMW!jS*!==SlGLRRg(1qU5< zAw+9@@(7P|i6^{-uQP5MOXPm>=;XZ_d&&ryM)zWGb{PVw9`+>cus=fP$HCpA`!>QKrBfDFLdFnCk|ZCxc@@3F(y6HWc>Ut=V**tg|mq6@TfL)K1Cd0!}a)bz#rg zaKhyhvsY&G*{`>g)18XouC%n)b)35WkVmA6O z1F_#Ej~&AS?p%x~Gz%ERV%^OgW_IG5p5Pn(6mYYaU9LN)!x?2ok!c|ClhU4sJ|);u zbM3NcNB1pMYh1$#RL&eUVg$!>78nFXc#t<`$gb_25JTM8_zHbr}Mf8;`hh z!R>l?`-tt`b_aKAtus7<(XcKRQ`bxJYxzgLM1$weI&EIE6v@QyqU(G%Res0ZpT37? z<~0){jTep8=ds#7I8b}oEY|ifeOns2i5?eBwod#9rg|>ie+~(^=<4NlDm4h5dQ{bJ z%U5%fK=>CHh{0nv5_BIj)NgRHyNrddlo+7$x33aKpSUe-x9zCwMhgqs~VcIzhs zcAS=SX6rA;`qkA=>E^%nt#Ix zZCof{p?ZvGJVLL>tB75r*My}VErC=G*j2VW`C-9d4&ytGZb)#(oZKcF6ncU@g+dkS zxhvuE3&u@YL62(DBorDt?EzC990yRiY!!DT}J7ds_J4W06^fXf7AZ&jZ5> z00FZ;a-caDR9KBv{+=hkLN|@KvIT*e0~}C~2dn1%8cZ*=Q`EiPwco3i1{-zBPr6fI zJ#T_|rm9|MpC#9Bu-27JvY}a+A#g zO1qHZ9wUnuH(Hwf{%r7<2SvbMLcU7#Ez~<%Ed*PZ7%Jk&6RHL7JKy=!9_7p{$8c{l z{OBXQ7`Gyb0DaV}aA#Jh=zt%4yZQ`VfNPq!t#zr*Pt*Z*QID=(etDhk+P6d-u3u=J z0%t9H5Y#%Hn?Gy18u9i|RN!S@>P)y3l5Jtw_gVgARH~C9J`&In^%`M1XKvNOb0$xN zQ#5})&)Cl2&-T4}tQYayCWj7PU9VCSsI)TE>|6(to)#iV4(IC{0o)B`#0IJ5B`bLt zgA81W)Pq<+t3*mHf`kDZ~VE*s%rVAYvI$4i1`g)I0WI{o}X>w z=EUwmULH85oYdR`NMz3nolyjly^asjZHE+TJ6ZKQ~t-QwPK9sPr_3;WjuXIGy5&kq>a;0 zM#0v|DGpyebrTiu9`)5Hhh6VGfN=ts87VLO0<0##jIa-*0AHku5OMk5NeoViP;M{A`BG(o+}0JbJTbIVGU)jb!$ zr0Mv)zx48zuCZk?sDBIXBPuoF-j5b<&zAM-`jx8^X4Q}H7ydIkc$ed|Bx-iOP9;Fi z295Nv6{vKSdk7j!OP+Y6$u=m(smj|$-6g0@U}fSyJ84#m2L)?q{ydPSd_cEW$&|In zjo>1Y?mjo2q-p@#9aP=gL=UKquYG>j;{-rC9Z+mBp(>faL}fi=oQCE9LEJY5=h|)Q z#`!&SbNX=L``?`zC zGVHuV-o40BUgqRo(^s6`XBc&~qDOG3 zG=KJ^qE~6SpGR%O^_NHKW(8HfuKNM2zh$Va@*{V)vD{$_qnLr}D|Vff{F#~(bR%J& ztB+ow;)%@eM_1^f;Zl3YO6TZrUU#JkJ%}f=&Sh?SD&_qR(iZ7b$0_Mfw|?ZjcD{Hu zv?*>~5@mTU@5M|lx+jx-&+o>c5V!S&k6t?5`fK;6C?30A*$L$$E5KJI{-4Yf>*

+3eK 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%0Am;`phWmXi1+ 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

OG`&r?4LZrR|Y%%YDI_$ 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�{%fzLDTdiHTkjpS1uFXH00 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

;w?ra8o2m{p& zF#jt7Od#!2TT4setMGVK<{yVQ`;VIRbY1Pxlvn%_>7W3(*%McaHZkj&m@qA8yFYW! z+#V`q)&XemmI!&+g8n1A)b7Xw7W5PrDup>)B8hU|ef@nJelKGu@SsD4K?>p+GUc#= z+f{!+W#QpXCqsKOI{f;|pg@^eIhYV>a6#0OxY5>43i}cIPTL6xTLu#h`r0yjTe53Y z$e?@L{{ueky|!#Kp2hvE)m`a7XADBGsyHJHiw?N-VvL$nMHU{7X+qSXh|+}4!yr8M zE@0`Ig0-qhB#P{xzu8BedWs_z zs%p)N36b5FpSd{6dezm4>3fOT>0auE1Po-*s#69bgZ^~V?mMH=(bH>bgP^%WtAFs* zG=O1&Ay;nCr1%SP72lJc&`Th^2D@O^J_Klk@9k4H%tbeycuV-CJ$G6Ux&@=*qT;=4 zi29Gd`hdphN+N#gEsaqM5cm0)d^kslfRS^6oQW!eye!lcdVtW=;JN#KzZAe%|0X^X zFAkPWD(Jw&@V&eF2Z4(O5lyJtG{}@pEK*D!^1`NB-8D^Pj6fG6T49EozhpF)w`Vk_ z6EOMI>tPeAZ$Ee_XQZ6wx^xHK0kzx9v+7-6eJ9~fWaVc8cm z0WqiYMgtC>2}J#SOsnEhoLhS}^t_d%96ca6$=_&~G^c{oXK{6hKv%R`dDtl_3?`+q zjwLbDJ`Edh-<%7C=_}iC&W?A8=Z`#3PnSS55-6~eyNaa_X%34vzMjckPpq{wrX3b- zUU@bUYCx9M@|I+hY-imdS*SMh2Qr=AzPLMLQX&IDsUMn!Edzj@K09)c;Z^p3vc`@N$I)N?>v0|02p7=vjr;A&y;I z8@}$M4eEqJP~}T@WYLkw=|E-WA&%kspuyy)mm<m1dJt8gSg(%ct#PtrI z&j%7RwO%KIHlr;*Ti`NYH49VEVQ})PBOY@%4_SGc@ZlM57H%+DvRdcn^>uTsxAfvy z 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

m1?qbnrHHCb1yDr z%~}zP7fm#1P8|S?!%$_735tDaWylYn9=n)%ngk7PGPQB3*?oP|EL?TDBDIPwqhq2P zdXmC7+botDM4k7~Z&cbjDz9AS1$-+$9TA6Gr-WyZ3HmQ(Z2MM^^xc@|4)rac@5V0R7BR0iiFcw%7n#F0zI_{Y!0v791;gMr<8R=fwISQsiCE+v>>-2DgtxO3!Yn9Q zeg^I-_2reSgWnLbt|RQt5>e0h<*cY9O*>0B_T{iN@X;lN(^qc7KRiQ`WO`{9pTLUY zIh|{rt_pMdd2`e(mh36|ZScq4o;rW~^l4Ng{X0vV|25;Vn%1)dC3mVMx*yb4;hQptYv7g z^X+t{Or|iO~uxPGFa?WKLztDRG&64e9Y!A7=+9k1BsrrQyHaCfJ z#noC4rsc9ZGQf1&5$A;v0yT0gg_5s9-=Ad-`yTd9g^LGR950EvtV>6gJ3Mx$Jk*+3 zgp7Csha^!#+PS0FG!0);Dvq8AS{s8^gqt{&}x>V)4{e| zQtbJC$ToCHc`;83nTx_*l;;wIwNOi3$!Z4mZDz+3%!f%Y_3DLYwmj0U-MuPA)lF*y zU($)-1HIbV-)S@y6G_9ZOJfp?g9jB2FH}aJ;Lu}ZB;z%;Y{O>4)A@gP3)F@z=??L)6!YsanL)%afHH<;Su}{C(ft*CyB0wv= z#B-gUZP|SUNeRXWqY=21ZhOU5k64b~J$~B{LWVO2IJ^zlZT&3ZDiJv$O;rqxWrpcP zKT0B|4cmzXKSx*iLGk8PsY<8%lf*#NS!-8Bn07KM2vK;X)1zlgbQRzUEw)OQz+q1g z=H8tDRXWF6JEHgor z_lht;{V_%T`sO$fTPagX?HieX9D-aA7u*%VO_E!$s77qGjsX0_6@utROBM8}p-vVU zG==&k;5vX+*EZ+Cjvr?=jE*miUy+O8G$0sa6w1i8Dt7VKiyMym zkWoyU!2(!HClJ&c^6&~P{?Io2`U&)$nLgtDn@uXlT$WFh|E5#aRGEr$Jc<224StW( z?;n7cCt(7j{H3(e#+6>U6uL+pK`#+YG48k5XMroVHsqDk`U1@q&(LCgoVRU`z$49# zR;KVfc-8?xJ|qzZVu6xizTU7PW+|b{+inPC#V7;H0YN$$QKDo_eLMe8@))mPuQekc z^PxK9!`G0j7QvMWk~LdcgRw*eD`nYeKZm-G7S_|Scr65(e)l=$~_(4h8BGZqKK(5)vTU zXHp6aBp6`f9ZuPmR>3&{&aIsy+lmqa+NM81z59cb2H1Xg7BzuFrpk6JD7`6Hcm=3^cJ#yhrw-Q0!4`n`rU7g4v zsX=oCmCbUCntj5hH`6`BDVR(wwjuUqia?F?Y~Atsv8UBxtE`#){&n?Okl8^^2$SNXz%Ljbnar_#99gm z5;Wg`U8e#i+^{{=AZ@XJb4(R3`=!WNc40NeD$Us=r=7Ny?`bSts8!pJn?uo)i7C4@ z71$PIHRIo`qC|c#mq{WOGpN!QsG3fdScmdGS=MF#!k<%6BzYv z+mpkRmqp7@qM-0$(b5#J6CT&^?9N_SiGNabxB)H9XfE#ZfVBi?aNxO1=KTYYMHEgY zw_aunBZdm~?0<)euh1BLCgDQQa?k&T5scY+8Wn~^GYb{TGI(a4Bn9NaLKzjm)efOB zJ|&oAMU{sKR1c0plH)kY4pl!yX=`pUMkpr~zp?;7TIt6FOV&fkWV9N2&k#A?2uN$I zQPkp)vB9)O9(MS#MW414=CL4mYh%`;v6C1pZss0|=bv)%snUQZVqU$WlF-4T{TGLh z*HnRaBq)kLtN#gdWB?T4{g)A5EBZmaBtN?0{gs_%hIvqTKUy$XZz@Qd7oQ-5Y_k1y zYzsGu58kkgzbJhFtAh>l2U41PVRx3WxD(7Fb%wy9X$=~2 z49nIy?faepp+5$yI564B-!s?dxp(hO#L*CgUVF->6K)2)2GQ1#e=3+sWEpSrqwWZ4 zzWQZ&LLw8*ZfcVT=nCAp8#lR|sTF5ZtUhsTzawmgU3YiOQfNu*lnd-&sx_^&ptxau z*=^wFZfb6)+c@~whh%wgFGvg9$oS&43Yi^1=(2kCPZGpWM1g+u|9)730dxq_8-+eC zqJmac{Y<8i>aETVn2HudC5=bII#>#UPcWrhckA)ZkKHs>njtcT@IYn}Mzq3LHSRLZ zza>1M33a1lNu>W!z}qWTIF?lRXw%KsS-;lWZEOgZ&L+>JrQ(6BEoAs1P0sY))j6o- zBPyH7^vPz-v~GS-m^YTq3iH>&M!N*rbrN|O%TRx><(os^OL~f@(}sGvofzH5&h3ru z_C9I$Nrn4_4Pi`>GpCAVxPqN=X}g=La~>1qs5#=|TXHdjWU;g+l%qrvDEfr$UGFHX z5lS$uODs&qZQZuU{D$^SfMm)4Q@iYNq#o--JB6-I;E>s z%PrH$f>$8V^1Dv^QY{LZA zn%U;4W%F0XS+)eW@e2HIiEseWe0Jw|H_X&_pwIUVM4>U4|4rZ!&|1LUm|YGERhsWt z9H9r@7yLiM`rsmb;n{Vf!IWadvixM$F)u|-oeq+YNUGo;(Ndv^wlJaT{;c`S}IgKXb#n|MkS zGm~#i6Vp?7$`V7LZ-e7XOh*?1cm^4JT!xXgf2tJYLod=ZG6zlOJ2wE2+6668x)uGd zYJKO5=PEk{`Hca4;D(VkFm>hgVLYtAnU;x4A;$E{(Pccx5d&@k#+udrk}1Rv1L6LB zXNsoH{Ib-s$fuuB_anf`!f+@5!ABk4Nm8XZ22%0wPIX{fP3`LC*)#M%Ij$$_3)<>e=2}hB+J~43unijA@os|wW)aTq9DZ`ZnD4LJizreSNba!- z{7opOtY*W6IEm{+m8O&>h?O7!Yf%4#a2)lF34f2*3Lc8jVEK|Zf3a&fVdU3fjJtLj z8UL=tRsk|N7eCKm>|4=km0b&3q%w~O(1jR>4b&7IHx6`VkfyOe>??*3X~NWV#_m&o+Cp>#iDSGtu+#g7Yb_M&7=w;fMTk#mzxQ*NNp2p*L9$ z9h4%nb_?P2Zj}j)2bfd@TLq0&1$3^6<2w%Od|x17-m*2t{7km524=73Q8U((D*eqP zqb$d;7%rOpxS}HF|KzI|!WI;0o<9Q$jNuB>@ttoM@2N!i*hYea!CPgg%s7-I%e?%h z&k=bX5Y8ERpjoWaT*ARBLB^2|;D~Jk317qi(QYy*tA?CmJlXk&RR&n2M5qr2Vju*S0KJCsC+N~BE0jt2U0GEnb_-Uc*29g%zw@y4loz^Jgegk-w zRKfsFh)N*a1qwg5@me=ME51hB;<;c4Z9sG4x{L*PS(izfbp8BhN_v=z3x9)fvG#|& zb>Dsv>ugQL?8e*z`c>p@ig*v**OSa!jnG?pao_lq z?6{Y)w%G!DA;Ub4g`{=TTq#%;LolZ4pVt3+P0j1V|9DMXWs5e>OCeAS?vS-nCm8NB zS`F5tW(x>UF5OQ0{ah>1bI01Xs=f*h;9!gx(?&E8)L6hT5rhuuqAit8*|_v`WWNJ) zi-4N^#}90Q%lmX~wio2W5K<-_ZyQsJ_iZ-+UWZB`>*YI#3XNDMoY^n?GHg0MzpY}^ zb~dS+Z3KJ_--gT3$8uPE`1!`8w25NQY3u5`AffA4J5L1gSy7`VB|@rav{nXKSzQjm zc@c9X&XBm_$>fkTU&btr*{PwcVd42|4!;-rvi-+m;7BLqc;bM#Fp1~8Os*}K=}R}E zxA4tAKZ~b$g{Q{A9EJ)}Y0HB@rsT;`$3b(9b3?}GrHJzGrwUJ-%?G$1$!bw^r<|9{ zelmfD5cX!k)Mmf3sKNwSy@bH=@*iF%6ZP1hB5Y+*eZ}`*Qb0Eq)(MMXwOKEWv~-6B1)G*Jf?rKdM&7H_!taL12%K6UK~00cMt6)AO?EuW z=SP+gdaN=FRpCjwtt<`V|{KBn~H@Q=S%;eZ=N(uwf z&VO}ll0y-|b++SCq!$4ZUVuJGficTUgV&15E%+PeY(r#&ZMgu1&sbN0IfPR{>2i*!GUA@>Vu*H3#MSNuu;~yK1dUyJ?ol zVUk8^*6`c5X~urTDQ&0%>1;IU ztVhcq-3ZNLgr9=&eK`v;dWA2uaJ81S&arg zxTTh_PA%PmJ@vOYMQGct-YFZQsgCV1i{)gw1DnKp+hv2$4;=-hCQaxQP_(LZP;>&i zac!p*3TW-N#d4t^_I73TL(3a-HJ(LBN@m9GUvJ0^o4DVT)n79!8n~Bd)bM(MEFjch zv%+#>q@^Jyx;a14ap);@xf;-6&WbGLKB{0<*?+nmipH$aqDp`EJ>HfrurZ6B5a)(- zupW<(ul!vc0Tdo=!cK4q;8+1sZy`8L#K&nO_g(6ZZz<48MPz*>IhW4-NK+w)Cxd0O zN%d1@cD67vuM=|9z=iSRBJ8pLLPZ1(|Fy1A?)qJe1!8_`3~<4`VKk_ZHE?slojKe; z#xHtHluU=wSsI-z_XC(SaEBPTS?OX1?ZOUh%{zEhKfQ9d_mcrh^`cOt9yum}=Vy3y zo5wf7&-n&PqyuWjKTHk5JJK3262ssgUa6Fr%TPwvjL!gdi(R3ou3t#4_q`7#gnwR+ zK9d5G@J%mx^QY=AwSoo@}4d^d`#}Rb;+JP!sb}yX$hIk%)fsH1^FO?lg`23pJJfu?& z=HP4kzHz~FdU&~sIWz{lCg*v3s>V@!0GF;AnyylIn$w>TFBKln2oIsSqQi?`Zw2ah zsN@su5iGmH3m$K5;-{8^_(C6>|9M8T?=?yZNo|xdnji-O2NG>6LVpHu7xq>E<{Bkt zh8EL;%C^_35rg+yHlSz*=Cr>EJpL zx%N4sf-!o@Ew4Chv(Frw{8^XxK_GG3*1@6{!$8ePaRJ(=+$vWQ=PXEhvK=HG9NO)H ztM|K@oOJ4Y)}Fen60`X)DEs^9z5msNb&FbKWf)`B@Kdy$ymH7RbrRtKtqP$J^_-yvy6A0u zpWIcJs@AsqA_!m8HL3IG1oB22W#^%V=FsTmBb59ghvm)X9ELT0stp&_D~Ar8 zU!JDAR?EX8ZI*HAS9yu*mPV5{3@LM-F~ z5pUpM1A%!&==#*gnO(?coy>Sg1RmmA?l!a6sA8aGbqu8L7eG4yMBj$6L>tZ6rnzEQ zkM#gWJ5EzAzy;+9U|#06EE)0zOc`$rK%bBU*Uyc;rGDI=Y%SOk_LEsmg`j94f<;rn z>5!lXYm~TN|Bh5Q2TsVlf?GtMQnd(H|1hZjGW3B|(81TZe*R!E^W;)xuB-;6d#lBq zY4GQjm1`$P?5{Ho#KJjpgS?r;8EG<10?_6l&AfM1ay%eI2)tm~paw&Zw+TTe#$&Zp zR1@r2Xx?AqLP3YP4;+}C&bl+Sv7rn8Wrx&6`w#*k4ORR{p{CuvoqM{cVw{9>)^BzlO|Mf8tb=AhcO;cZ)o)Ey(GI6YmVX_^>FbvX8*u_#0sREZA%dSZex! z<1}5pn0*!h;vlypU6=}$lCz7b-I%@yBTm0BU>D})I$YnOR&UVYlhch67x+_MkWQHS zal%Xp+mJKd2CV?d+c7Fu5jW^+^oLlBL-`CVPId}vf8sBeZS-isZ1RyAexz^4)|e#x zA{-?{Y`?A53^+cr<~gsLt(|_pS=ig;z5ehQ4d7Yvv~-sHtK?4emgT|Y8kcL$b>3nI}khMhdeAwj*BiHhmOYtIU7MLJB ziydas3Y1rAUB@_wX$W$>J=8uUp_HktNN=a7HNe1T=~JdKZ}X6#p(0?YOEr^yZLF?4)_B@)g2 zLm$ptRg4$7+P(jNhm+K{!N(e^W2+)p8XK_MN~?COnX6Zsc`c`?H*sB-&munvv7p7W zF&nE{G?b5MrB>!?SW{(*>x2b&#%2!%=oIVdwEg(&jb_Ma@4$=K;vAEx{ca)&n+Gh~ z4KQ|?ysW1m5r-_63C)%OkI!mPElvAt7gVAV`{oJ1TgAhvCR+c?-y93-tx!|bPfCjd zLIHQOMmH%c#Q_YavC;n(Fky-XMbBa8!9RUS1FYAt|SqEV88((IkJe+?P&+! z`HlrjBptx2?D<;{!c?#46x^#FU8JS=B!u6}k#fPsybMVK6bJ-zPzztrSu1D!cW@Z_FI@qBN6q=0{b9z` zy5ru0pDto}5bSDu{ilDI`U}%!fUwXqC_gsM_ombWxgq+Yo9{LelLH_ZY$G@D)@zIr zui;mDi^wC z{LqJz7EOHN#@Gu-4or0=!1TN$8H31+-Ip{zrXnjr$!d-RJR1bnsRq&CMBR z=BWeLNF>L!l>Q>}jlAjcwH&=*F&uGs!!ye+bm0!f7vTwKUO8s`ePMiy=~e)$ipQWpt0-$0{a~@6dqGaIADyiQ;)gB6%A#ZK56Zq& zhf)a)f#l?pH@Y9V)n%*pRZ~DjNKO(4TLX$ub^0;?M1`rcNzrmlvrnIx6;> znoQA>&?S$irvcn#@Al^<)R6pG2}-4aEG26O?MLqSqKgmC%gT24t;}C?T$*?9|AYdn zs*6fk{>Woef3E*YEcy@ofzHW6-^JXK&fVJTU-1ZOBN^cW84y6;J%=K;{R_j0eg#H3 z)`ev@95IW1;2A7TqI4ivzASm*5#CKLsGi-6`Sms2E4$;T<0)%g;-s1#%TDr?O-NGF zCOi%hoe+Xx#MYDBIBG|7r3PurItibC3G0B;*<{X0b^J%T(*K*zMKo#{O0R+$w@r-{8D~wu(_rXUWBWWE2F~%E<=Xy zaxp#i@CCx}30S>>fjjUC?HcujYt^#7KT0KQ0j-6BIJ}H;;13K(k?)1V=^#c!SY$lcSb-J00l3v(! z)M_=2T$FdrgS?;x%1t(~G?)hL8c@WleE;ecgj$BhJghG6f0uBq)Lq4)`#@U(nxUwi z7C#FtI&L7WN;|y$EZ7;dfYwRjHXFhFY#_*2S@&o}6IM#=0!2@{~9U5rJv%EiWda zkaBeTIFq9_bL+kH$Th+EXaK+IOUU7a>iofU9XxowDYn5<8lqNqWD+fu}WJ*&oE;us+38Q_)h{%5xQ^bqT(`wJDn(H|pC{Dkrj0)VEX)3goBbT;KA;O%90TB6DuYZ9r0of^akoLlM6}3trB{=*YQo~sdBcb%NA&AF7 z+o13mR{dsnfi?N{dEYD57{rtPh%H+)vjV~;-{5}*i*rP%YuhKNUN)B($%NZ!A0OxY zX##5o0Lh%_$)i<3=kEudQ?|LDmb`cSe{-}(a)%J`B4dljEcqt@^o@gZwT7ri<3T-s zyalBb$A9(ja=VnQTI_Lmn>BL=UzmhDFqDil!bqp=uDxN27}%TvX2RuSr&4mV_j-jN z`znH>IsYmt2qQxX1VQwuoX^}%rh@<%Ae2FlD1gRsSu3;BXu7$X(;)hz5_3Vz{R;_P zM;>?QGi2W%M%tYGSa&NIfkM z#9;JDw$ShM@2@y!jIg=8#W2Vm1>CIn(3a|rj3^>2CIuMG;5)#E8rFGde}~YXwuOzsjG4>HuZVZ zo!elQ)Oa2_s-=T$Rv;+li^?9-{j7P_h&1p4WX4P(1_PqO{sSX#b8ARAfeIRhhf*c9oIpQql7OJ9 zRF=^>#~v5$I@7y@^>L&wf~iuiI`-!tA3d$=g^!m#@~|{EeN#{o__8&UTk^>-At)^B z<6}$0mZE#(5{ex-$iRtQ*%BxYgk;fN>^ah8!a}l5j{mNMIz*$TYpx0lRdWv?jl1Tc zJkfAR@4gs>LGP+-7-bc5Vv7McX513v5WndWwcDZ0_hv(9-(XPwoTrrBjm4$_f0oA|?C}mN=Kltd+q(hb zHwLNE%Qf%^Ao;u5C!|__0ZM;ICwEU8T9C9kmVmO>8RQNcIil2nQ($qitYZXlrPh$y z4s%P29RcwhGxiopXf@sNC0)){fDZ|lw3o!5R_Z3ftvOW-&5w5>^z2Zk zdjwW-rtbZyG&XWX!h1_MUbx*h_Q@LeW+%8Q<*qv`^^~$OGuh&+F?wYmcJ=Z>*Gr_(M#leXbHm8>j0akcn(b+#2y}G!GK3Pg$6{mF^4>gjAF$xw7ulhDap* z2)|0<7yHiD!z}D?5lC?{CM>T*dgyX5cm#}_^B&f+boz|OH#VmmxCpbmr&Sq3RmFJj z#2u%OuAh5txI7BZH>|RW$o(W~U#hkr)G+np)Y1r8QGv*BiV#B}mGmSXyUDW60MUuM z??j;_n2A@;Rc5OO{=Uj5s9eCIMM2;Jp`1_P^Y z8+C8zq}9+Wx2I#sqQxPL4^C6OGuzLbGqM|2$KznsJNh|jtojCQ+Ddi)!w^mdmrm$! z?;}B z+D__gsD>eQ6K_&lAb07(&ZdNucAXW+RTlxeyJSfjA!(+Od~pMb+U7`V9_yMB{5bX$ ze6Rs|X}S@(m8~@DVR{DPl`p;X>dLJ|KwsPc7Dq{I*i1H8@EotmqF+*29D)kAF#MpH z4{XzDn%ZG5SaM?VEns_2Bg~n~6sSb#-*8tC3Y)n}ueBM>81OJ4#;iPq8qHz7&2oM7 zE9~IThiN-CeITSeBajy`G&QERbZlf{hknPGhxd-Rl%dBy7}2r#1RBl$g>YRMx60%> znsX=B(C0fwAajHFai(4GRrXyH4{nMc%DwGB&5Hl~ri$!;!xb^IHT?G-)qnr||H(Gs zADXuRc)o(HfRMC+9G$h%zv@K)k@W(*)JLrPW3h|H_%9;9{!dW-KUWg|SxH#eh56sC zHKlp+|N8BIPxk;xn@lHE$oVXZZ%K07~noFe#8rxs6E z057bsQ1+%VnRFIgl%+Hv&GP;`J9bFqRl~`)xK)VUee**+;aH9g_MkHEAl!K5dP?hI z4aR2!vSsof8j$$d3vedjkKo}Xl?&lul>c%)bg_t446%OQyoB<;DXrVITN*H}Ip{>& z(F@j2RAV|)S@~oz9a=q(=P)IAT@*Ul@KM{3I2;9LFlRhL6UVr6SQpCZV009r>*}gb z#j&Als#PCadC!PVdEH(*@vy=bta6b-q0E7BLF#E@t?`Pe!Qta~^|5iDn+=|(cDQfQ z2zzIzovmNG3;r5!zE@2K$@9&QsjWQpybY!bCSy4io5CA~xQrUud2Mb>@^&cE0Ygky zEhl}|LV5gxI-#h{5_1)kKFoOwQ&Vyr6}AD*F83k;74|n>a2B<9pNSr-J}e^2Ev`4X zl@&_2%o;Y_;#fOrhTq1(BrDjTwZi68@y3n@a?`-X`D?rcX;HMX6PZl2Ld1?kjeC7U zHNx?_tVchnD%(B>WgGQFT0a1_Q`0&}49B@@ zmOU%a`WwlG{X65@XrgByKNHYVs~4Dl2M*%?{%^jg-hZT08q!#q1d`F@|+_4@(dz4fjO-;S!i@r2rAFX*!%F3~=4PozYPv z2CFDG(9RKc;ed=SxDtb*i%&{IFUftzV57y?Fw1?Z+|Ild?6k#<0?;J+{1jL9=ngIc zEO^Cg)WF^HDvZ&P@L{g%6H5V7xB^l`Wnu^mK?+r{kynbT#Ck~0W-xBYle+k;0>iUA zLq?kz;=LL~Z2$t`2xpJAeisk3`jZhZ+r#FrAq8sXvkIp{;&?^i+2c^dtxIdUk4zM? zW4m62IEX-(`E7$qUIvopezl81*?O3HY6Z<;n>mUp_YBCEK(_}g2lN_2jMDYL24cT} z)1(jfxq)LsSC0_N?uX?8>9YFUg-IcJj!X6eaf&od2BH(AHgeH0BQxL2&byQyo3U~G zFDkYlWhLcq<@*`)H*tjK2Vny3G(ru#Cs4rdplhWhr6m7SIE;TYU8;>U0Yd8X_=Hvl z4x*}`jG#i78Tu_jgr9%&f>=j!FsK zkE5zDJ&ZT0w$4{V3O5R!fz*-k`VsM47(v_t>IGp&j8k42w80A%xU3xMcq&sROx_OFp%hb>APQh3@D|96N_MS>7*&w>q7GGI zlxoz9{|oO!KdD<))g;U-P8j^o4=P*)5^muTNClMo?nnrEG6R)o;Ke7BaY15+$@e8D^L6IGJRAxRk7omB`yl;gS{Kr$~=IM{CZ)5g^~WiAe56A=>z? zvjI2{7}J=_W0z)_Ut^lkKWZ=DOOn3*(y)KG1OWWW=M5v%WczR%karj3nU_@5PVMUG zVS0LLdU{XhnH!9nczDvjSa6BYy_xAD>2{)`fnpu&++GUd4GR*_S&ug3I8@n2&CmC2 z-~wru3*BFXeLD;5 zdA~-bUZinLcfB|%vjew#8@$Kw;Mh)v50oqafIOW9Ffk?(xGjw`<}>sk;Q0LkSQw9U z`7n5};BrjA(f5AB=d}RdG6@zguI zOE;1M0Z)R*0!%Vk_2?mVEEvkaB2B`>_^#W_S2Ex!L-7^1z50ta(3#E-3nQ?Mg)%^_ z;3(g0k07)TRU*1q5Zho0L6S53yCpH!$~bxl@2}b@p`}W5PeW%EElfm}aa)T)m=$Yb zu$sAK%Mw&3ZAgIi^Vpxn_scPGX4)|6ZUxr4hHJU)?EF~blw%w! zmVF5D4)5QQ<$!ajWYsHkkJ^aK{=7B%Z5Ve@a)!pDu^6S=`UEbvQ>7!# zdUFakTa$BVsUo5xjm}OsP_suK##bzs6+1xCLpl&7Kf%S~Ydv1@ zLFv)0DIrkh#ftLBHsJDzQs_#Ist>UGR9z}2%U^&;JdT#di(%KxhTz;gcpgr5n$AHBm-s;C4+m&mP*b#V0MkhjRM#=leE$*!_qFd+0P_Rd8AGs++>phPAjT z8Jpc%5=09w7@pF#nJ#~>^<^VeRiynTMXo?r7h;dTmwzE|&#MrJc-LxUm~2 zRzzADfSCp9QiPwXUlZK7M-!4Glzd%e<;qri=-EzK$5jxkZl3o;tkr4P%jJ zC{d^Un3jeZuAB986&jK0jUb!*O#9gL<)$~M>Bff6AVj>@@y@nMEvwD3vISYF00Ps~ zGIcT@2>djk^kEzT`-*Z@1f)V9cMEo@Mr(Jqq7d62mK{Tuin8&xWlI``bo_R{-K&Ex ztH}rKI^Y%uZoUZ{oMrhf+oK1y#!pFsg4Og@zqI*K{1j8$m9;r92v%Vt$s1#tpR9$PA znIUMhzbOyg6ec-mCRsQ}CSWe;q6NtVuhrbQuA=z%-5tHTcUH~(qPc;Kc3RV2IKS)Uba?g4=DF{nST7*#%B>R(TPe$;%e^IDcOJSKC;tZE0X zYX@y=2W@M|?P|yEYX|Fxou3RpoBS`aW+1MnH9nb$M~WUm&Kyej6a}`j5pb_ex;Qna zR^&HuPYC6@vrKDHZpgoq(7+AD;Iw(oqw|;-MT9uOonr8S0P_pzpdX8>AzLeS+YEMN z$)@dTip*l5a-D(H`ls(XtV#dS`%4d4XGQNe4o2cwf>#3SUJ+*)TR*cAS4}0_^6ioF zUq+!U`;xzVK$-25l7u!a7qmS}_HicZ6^!%!-g8xY-cec8Rau$x>j3O*r#YRwSf@GY zBMiF{_YSc**QlZ#_Ox&Q zv*Qg0=tdiA=QN&8i*bQShY32ZzT39hg`CqlttI$wVBP-6OJao!NQh=|bXa;Uj+l8z z1&Sl6yAw{#^iNS+9J6iO(fs1^2^$i!$$O)Fm!4E z>y}Uer`E|6C)54^hUMuPHm9HvJ6ZI;8LZfP3+t2v-%J_e zh6dIYbN`@|>LID$et{B>P&MEqftgw#e-*Z5_7~hufbH z4rtpQ8)u@Q-4qLLAbeS#O;#dB)m@*nyPsYa6wq;*f~K57 z+=TVQGEVFEK>*kg3g%X@EssXsK%y_#6~V7or))|ksS1%cyNy4j9a2V~US2q|rAiKc zK5iK^vpjM(mB5sTG6)efFQsQo63pN~92i7y1rK_Z)0Q zu|lDW9X6M#Oz}aRPH)ozYy2V50{f>gTNQOkHY_&z&UhW+A)YN#DXV}!inQ`{p$tv{ z)@q+EfHku!9p(zAE!eQdx|$I-L|r|M2fN&dUKP2X(_pz-WEK@?nMQ;%s!`iHk9lJ# zwM`x_?@6SR8-_v$I!74H8=nnsYi;KMoUqW%UuetEtOrKaDY+9znuuTSaXz^GOZLv# z9wDa@5%xmaoX}l8R~#kKhQO~ zZ=(zg6|@9$TFvt^V%d#YzEGk&w-+KV`gOb;jSnL) z{!Ay(6@~GN7Yekk@aR5l_lGFx-AHH_U&=QPJ4jXgj5bTGSZD{*?}_g3MZ!k4`NRnf z*zR^RX`F9FMwMX39M*#fdlw!6ZZ%R;(>I)u^xYE(DCjYEWWu9hbf?*n)cCRj+DE2N z=PZguJ!DNf_Tv106X+P8up*={(6rjrC-RQ6M|Ju>pJh6aVp;pE4h&nTea#K>Bw(OE zC9fLS4z`A8T@K?=ymHL*tQzKjcNjhN_%wC&zADI<{a6Tg@i{+cIZ_9_lnI9UB($Doj zC4>J1h)HMXVC>{%ZtUP-NawEqulY38Vl-4TwDk%UWi(>6GIZlK6nj(@TbdKNM&kwqbJJX7N`AhYJB`rwYdgZ{ z{POzvfa~e*Wyj}I`}>67f#3B#q-H*n2;KJzsO2{u9elNSO8X`e6zrysyKXvwRAW0MEh$6hVMW9IG1xkk7g{{mOt z0(ectm8#qlz4j?Izupec&fwwc9#9dP)gy#q9adloLEM*D+|yXNchu%e?rNC(L>cUt zdx`?m{P8>ou-^pn(pSM%9(?y(#G+r4xxksaH6ET&+R^LJf6*}R+W~8bbS|TeID~jQ2QFuPGG9(#z9oJ6 zzyA1@tEJMe02zT6(cu}BF{S>Pw5S7VnyU;A1IUTSA;TNGPg9e*8 zXdf%+$(FP17%9-|$9R_aem4yAF$JUph24UY3JdF5<}IKmd(khZqweH-@SaIVI+Pqa80#q? zru80cRGC)6avzkhyYSQ1=^#O+3ZCulS@|E#|+L7VMp&nENB1Ywv+&wO{^ju^NsJL=lf3? zdl=*lUKKxVdL3~90IL7ZAN_yjOMIo}nYb?UqjAkKFiduPqG;nHX|I49m?g!*W6W$9e5_NiCYxdQw|FxvQsm3Q z$yJeNwhk}#n`Q!MyffAQubNL!%!>tR&R76>R0o|?RifP(@{E4`F5Np;h+DYco)ubT z5TMnxCw;1`dZy6rm|!Yw!2rQEQwn*ey8sQ*QZH}{?SR;7^3xIt*dferz$|L^RZy2+ z(`1D;>Lh;qp7U<#W;8y@oQ78wz3#(qmldEz{H0M#*nL&Au`?H61ns+wUjz}NE0RqN#o%VaONk z^9qG#|NbAlPE0dv)c$?OC`O^+vs1|*$%2*Y{$_ZmGEkLUUv@+qy4xUde$yREPOLoE z?x$CmMzDOp#sx;ohq{z1fTXOmX9KOnbJih`OlkoSXw#j>hv${B0i_>tS#(OSb2Det zyYFx2C{pvie2_694J2Dit6`0A1bHc#Dk69i89}z%_sjJ_<>~>5BqRnFg5?(3w_LZ0 zc5iG9G#u+hUiDi&ItXAbC=UG^f;bL-c$i^vzugG((!5mK7m?aB1VATx)o!t%9#C(3 z0jL!d(=kLdy3P=^gh64M9RZQHhO+qP}n zwsDVb+qTVnFt`7g>6w_0?!O}HHJ@@FeIkUu55mjrR8^#$_5 zxeSsZxga^BTjXeia9Sf(nInW~$Fkow+7cult@GkxP$Q%XAhmv8faux}vUHya1a-$F znH~wYGVv+Ov`y3yGJJ0#E^-Lh2UP$(TWAc{`vcCgk(^lsE)Z=kP38z6i((1cvk9Gr z$^9%e=SFh4wY#;78hpQMJ`XqOvkQA%w%8oKz^DTIL8jwquWr)BK}eV{x?5`)g5)3uN(5sPLx0i@ ziAJx1476*@d(r6ykm>!s1{lEh{mwz-`rJ^Pl%bgJ-owUF3^VQqdQog`uWZDuoWB?Z z$d$MtO%*_^DyArH-z3CkjivEw7~6`bVo~!KxDtr>l2X!9Qe?^ux3}6c;nnKL{Ko6X zX=T?;;ai;B<7Ak`ZMQI7_k_4G=umO(B?TXfC9ACUy0sKVzK0oD8h9@LjuSQcXXkoj zxUM(D>3A`kyLDdGnLKswZn`1_AmG$bQL{;Zr#UM-wK#=jtQ?8fs)NqtU~ zK_1QH8zsl|>vRUy!6C5_4oeYwk|RFa)&qbqpA0%~&Uk%g;&+gBng|_qhSOk@!Jaf# z9QvXsjmLSU{f~F>O0ayu87RWRPo~m=AI{=yM9J>ZY_@H;#DJza;yX$gsQw{CCn&d$ zOc&~?`#$O7H6W@{EKwZ5+*XhZLF6VBv3;*ZMhr09U(6#TI@-YwI}9AsN)5Yl5E$e{ z6Vj4D@qZh2TNrb>8Ngo)M0nuO^au>Yb&-Q#lw1HqIl^Y9Lc1;C(m}LZY@6fJg8dg6 zQlanw@Yc#$TQ}bts@2dHujS*n)O4x%kpP2&_=D-MWYo{yJMshqL zBCtzoJhYdJ8uwYVXHE|E%YS0SV(cDn;{s3rFony8)zk(2<@A;UE5Gj0A10i|WaM6; z-mt*F9!e~~Q80H4bMYv`x;rwkm-LK~%_}|*5J=EX+xe-TNzjDWxK#EnQ$(*^x10=S zuuyOKE9RbAbVtZ(D!L{Vctn*#sMM_u>>?m@@1Z@c3K-4FEV^ctRpKJiPwWwG+>nd@8Cc`$bqc{f^Kakti%Sm}q_QgE6B{#8A!#q$* zmyL@yJRoE1{hB3`DEg`jrfTNi2BliSp3E9H6Rl)NFpDGC?PNEFEMN07(~f@f3zgD# znXPO5EF5D(G>cG}4d&vW3TFKLh6b1xqF_-Gdyd&`vjOukvW%)^-%rW@4P$*}Z9>w0 z9@kC2%e}L>n(ZBEHbo*ybSE_tp)#zuVL()ig(y1sM(6w@zu_m~<*tcuI6`@~Z|IX4 zlQOD1e-~u;ZjB-Tj7OPh)Wvr;0^LM01^oxkX&kjrB>{?7fotc2V(hZ8Sg{G!sJFcM zLB(c(X66`N$zU=vM4O5>!T5`+2q6f-R3QaP@+uWPko=Q`YH8A^&L@!z)SNkB4(s#x>HjiQ3Eu7Ch0FscTGRKji%I1~~1qi5Ow@DbB5)5`LY9OE*f+ugb+(yVYY} zCbe6gg6-80RRg&Q7-K{L-WstY3^ZORqNduecb$cm#t2U^MtVxlfy5@|2WQnP_ZhsL z6$rUn73NSZ;OVs#e!NKSGGM18u7>gy#T#O?kSC?l;Zu$S@)`kx8b?x@b=ZkjM`US_ zFpKM~^*AoBc`Qk}b5&$?v#3U%O2-EVU)+?Tfu!(T6Yz;)PHaR{GOuoBx!fdY!^Q~ws(RICtkYH-I3p1E;sgbWBqQK@h(iN4 zTL?MoeOWC-Z1{D|&EcDD0?7xLYz8soUhtt>d1x8ifa%O`Gc2zf$*h>vic)+GmFd=K zS~PuDWsA$)fZz(br*UR1dQdim2ReC7fOeAGWT`K*1^8VRB{$R9yz7Sj7ao$yGV%g4 z&2}An(s-<Iad@iKf6Yafeg#h_ye!J;8=kHaQWwv~xwowVgP2qbbJj zsHS|eYmABuVQXgJP(d=#kAdoSx;#!;WhTvaaOv(=O7!i`ZY)?VG?`cjx?-NAxJrtL zYL5``r$bEzpEB$Uf`xe4fznK=VfnYc*o9lJ(n@LloU)8=Taaty9@z}xR3U&1K+og{ zsJ;E;3r#H#3oOzChi;)DnyH_Ree)vP1wjNT9v5ZRmaF=W&z@@GK zj+WW%7%ipV77ZLHO;$60f@R(}FcP{ZAWOHc90CPWl`bU~&2p+qwN+-$zi_J7`Fle| zuY~TJ(s%NfJY7a|R$`cJt!XL3WedBn1a6wbH)R@Tunwk2#U5Q-VwBgnhTeY@x@t<_ z%3Bt)8uZ(GVY11vXA&$~dc}-JE3&PNUbaZ5(#Lr7lO|uUh~m_?;1UW^-_;`$TBXqHl7&muPMraCc=qO`Hxx`S7r0aKvR?Ov ztwP5sC|Ka7X!V>ic6dh7Lsm-fgcgu#Yu`++I!)ADskqHGRT5Cp--8XhM7u8tP?adI zQiM@oj(QbBY=1f5w=LhEp~6N>8;*eRU9*T)MPjwiQE92}XlOy~!JiQ0c3?}BvMOlO zvUjtXCBRjkPwh3<;3#7l)TF4ko2u*Dw-p(M&W;YB{R;k1XESJAHyEF zE8k(!z%SaxkukMhaYs z_p~fc@XV*O*#*pdXbG}U>@^5*++VKVad(vt_nzZD@W=0QwjWj)Td4hZ z2emuak$ccR^6(e<56pfnS+~CcxQ~0N%V<-0*WH5i2Hf||x!|=|5Q=cdhY0~MmLEYZ z@LTBiqxTKW=HQR{YZ!fF4v@o4*9e?$g@@)gz6wUpI66@a)bYwsIRFh?=!JK0cphYg zaH~4S5v=*fmMa7nU#J0mD-4c1rLCb4t&0KbYW*D=7`hrIpGBaYVhI(z35`bGAxOn z#x!j>jsk)hRO}Zx7-;4!LmHS}bjfdrv{9wG^f7>s{rJ?Yz{E?(7AhWP8H-*o7-jqC z=l80>+9T+=_zErg`{+-|D3zwHbeb5ChU51-oK=kGDAJpYDq%GiU&dkpR@CDL%os^J zTZsu%$dD{Wh=xZ_;fajO9-17i=NAY6Y%n)cr7M{}rd~J~^vAy&XJQ}S`xS+qN-saN znsRwQMS4;T*}uKCf8<`R6o_RKcmCqU_)|okYAd`z zqyZ|WkdGvf4vfHk5E0(DD)L7PY1Vt`7rrtWpnbj&WvU$uC2ABZU+O#ef1&S*CiFQf ze*z*1bInU2g=#rdsU0tg4B0Pc+qrsF=4%k3|v*VcUj!V@uhI=U5Zoy>{F zc=IBzukCu6z=S@SdQR3kdG5!e8 z4FVHlOW*`%=6M)Z^08Y729xKI6sl#lsOCBDGHDDIyZq_U_9I+0v)NbgVx9Ap{ zzpN;1p=cnTwTUpSxd>DA)>S z1%(7LYDu7qaEE!awjO%s845+IJJ+^>5`j$|O3G;V9=TWZX_#DHPkRzL`RZSYOM7vP;-O_=A1`=GtZu9)o&AM|#zLEaabJPJ-O=hkxLT`FsT=IqM&Y1%iHpRVutp zRV_GyZcA&2NZ~!f6rKJGJVNNb=C!k965eyO*^R9-W_&MadED?SA)n`tpa})X`O;Gu z2b-MV$D_3hR9Y;LIqQh#U(<)zL#ISGQJjYt&=vwHgqZk^9>=817}b<;bw+7@(Xib5 z#Bpw!`Cle6$F-8N z0g>3srUIZy7Y7vs*rzef>Pt20(pn<~mKNC-Tb&B-;FTrKp54YSNK;(6z*xG@hC<|K z<-}cAA$tUQ!-Pz^uuetjd%g7?f49A6M6FzwEwl>|@B+l6S~VJHtm~-3BbATaA_m%$ zN=SfFo4TZPlr;sv;4U_TUU};I^l9wS)%Rv|1K;D4K(;PMv+D=^e;afFFFq3~DHJK% z0T_w0<(e&zccZaiXV_RS_cPyz{joy(^xs5nw%uH%Jf#F}yFU%S021;|0IueXWds>u zoNXmFKy5<9)h4(N{^YUR&6CnQ7D@@ewiq>*^+2Ftoh4#OY9*Nk*BN$mDJH=3P2Phe zy~1LJ--Zkg4dd4x%|okc^PBmGoHd}b8MWfV!uN^FmtVMKl>2>bvo$ra#?&~Hv;%Or zjs?(%`eV-bb@L6jI*lu5mhHv~rrvidqUqqf=ehg+e_G}Ldn6kFzbH<72Nz3wJ3|-y z{~izfzm0jU%UhC`|I~iGe`^1KHOu{<7XBY-{kn?U|4i>FesA?0hn1;Cx4!mdj0UvB ziN=%b+7d7iC`KmPML&OWxm$L~2t%F!+Rfg)>|{P6>{oh+wYJ^X9H?`*%$~CgS>4c$ zdK;57;DOydKj6;R(YHj*$nVGHW9lypoGCfn>jLi$dT~ci8COJXpTqRmc_WH zMJV@mD2v9xq;oy0jmN?>#+VtIhPmMJd_#Obbrma`g`sO>FMnT|SbcHBiN$9+mkr_D z1!D8Haq}9iK0nHK-GAW_0}1X-UZZ!lByZ9&E;v9`JnVsgMRK1gM~*pnaYk0UbXn4l zp<(=4)s4u7@NGJ>xU+zzEZ-Fo|KTQt62DpKy-4}^YDtEra7{zN-~W86iciGfbPOpb zb2b={ei&U1$3?&J?GIz%Q36MxE?5EdyRRCD_^T#I1X3}5Xy^Y$fHH36WRakJWU5B6o84&_c zF^d&spiTA!o8~ehT?dC*^QVgF6iSeCS%oU^PKv5LsW~ z0`wXc+Jdcx1{rmy&@1!#q=-+VcbB3G(R84p!=xgHPMS@*u(G?vCtFak-DPGmRRAS( z)y&nT&#*Go2gSeRuqZ0?xJU_U3PxAz#k2Dab}B$>w?L&S3FyE$$Ab_FVpr8hEK+fZ zpFW7XahLUhKC=}iCM{xR_^2;ke;ofmeqaCZ3i+?F-~VYN+gKX?|L}N2)LAEkAp!sx zNdN#)|M%thAB+D_IKv}2*3Mg_4_*Evl0%Sz5hb*xOOmBlEOv)2cE%gV_Bg^7D9>#5QYAk>Fpb|dXZ*Zgeul2v(}~rdt_C7bq7k)CuMo4$-4Ac6fVcFo}#h^*7P%LYtW?JjHH%~OHju{)Ce?~QJHebra&*MPtU$`7LP z+pK?PlIHGAfP1IL?mm1i??2EBC2*mVRl}lNQ$6q-oL@g2i}b{6C?7e;RxfOX<^&Qt zXWRBxR-m%=52uc?cGvCu7-e_mFV3=t%%mUU0&bH|8GPT39$${D3E7Cg z3rkObH;!55!>+Q>vqACEXBb3#74}{Xh&W61Y|Sd!vfZm@%!;j`JF2{V*sRCl=2)fL zAS%RY;i?7_VPF+{i9thZ)>-<~9N|DB5G@{kmQF#D#t`XXJA@Ba{AEB?^>xT*WOh)- ztRaP>JT`=?Eqk?VjD=mzZAQ?JeR;$|`&D^!8#Fcxsb(Q;`dM3E*P&7G`DADn?(QMO zx3IvNTZmND+fA%O8UZsg280_AEbOyn7lITZa=D8I*HmYaFh&A4IZ`7#WMqN@=Q%=u zHZpD4|Al#i=H$;B(99qLRju+*{kEbu&cwhTB$}?AH?13?~6#bxYrk@8tM`8y6AO=*Rp1(T5(7}P* zL<~KSh+T$0|B2YecWD2<^?VjTr0E4BAKvtUunAXq!B9Fo6px?1vEVQq#x4|@5!}$a zJ11$a1_3gPT2zwL$XcN4}fjLBfVRe&*~hp>&cxMO-9!m7JM`i8T1M< znl=tgR+~$YOe7Jd=E}7Mt@X9kEevhPTsvMLQpJLHROPx=z}`7)V8yIN1l!h9+w2Xu zEpBRq+ed^pl9?7lg`k!kB&sLGai`V$zI5|5f_|Fjo z=%@EMG9Tf`fVir;wvxkMHIU|L{oH9a9%eo=<@6T-3>M`)CpEjsK;LH|370sK0h8fxz~_F{jgHuj+5m6J-8N&eY5*;pG5|;R5&0Wju{m2S)q<->|9P2gXFOB~jKDyc0FA6k{jKcEmKzT{X?+tpOSXLy@|o?3^0*874*~v*@%|m8?(d z=SkIclW)BZA*PKWQ{)5q=oEXlo%RS2%#VncS58<<7g7mStW?JIK;crAkmFP#mfQ&o zR!D-+zzn2RbY^mrV6!eU(xQQ*06u8+1YplawLNwC?jJB5airOvG{asu)ODTfPnvE=@vIO%Z^e9d!E_#B|ING*)hQ402Evun4gt}%`P)Ia~ zb`#Z!lTi=O@OjMe8aCOfEY|$9HSN(Sv_(cqPy~nV*1HE^#;Xww%Nm;bqUg{{X)ngF zN|rH?1Idz@hggSuQcecf#BXmnhR$<6iMv-eWL1EB$>Pn>KvBc<81h;OJ4g!t&2 z^!F(IWA)Kh7xUIvDlQkYFmF!ue&?rJ1&q%I5I?2Sw~vLRf@AnPc;J#y0+2ZWIVh9E zR~-=K(PUnr$2HRTJf8uq-L~_%`K@7vbLcVd;cz5_W#+%UF!Byz5@3q|?&Exr6-NMW z7-N(phj9LELP3+HuP5@nbGSVcMWcj#)y=CyX7pfOBMMkL@e&3gq1?gcy2!}_b0=R? zjM)CAU)>;XhI6Nr4H6+RL;k`{qWU~1>tH*_q&}Lbq%W}nWab>7-plTSJG){b}`_(ISvgoFfFKVQFz2=081~j2nIgl zs3zC7N*dt?lWCSdcSGD^i?*wjLMu{boTrnkV#>rQl-_phNx(_grK!315guL}d4)wN zR-IC{#_X0dH(ficpjSZwhm&!eJ-M$bBUF_Z6xms1Y7*5mtPsb`b* zm50oD(!lOlZu7eeCAkAe1*E*hEd=DY5|iW1tE!*&2I;bcDOPpZ#L=Hv7U4x#iP1A4 zaz~0Qi1-Jwi;gJ-9wEocna)d0NJ*3wd$h0G*$0UV!keDDS71EKS;WzWU_82@#8r@H zvA*2nnIH(4_S+?+HqJL=gtc65p9w*fkQxhk*tmQze)IYaIT5=p6BO(aeUO~b_%RMl&Cz)wPK+_C9hvYDDLT7X?~B9y-=;~K>*$fuOrtGV5usv@wP$S6fs+SA*WHvD3X;8kvM zH#VDGnq4!&{=gRevDt3*#Ih0#1ztIo=!{%(QPFyzz~tf^q)b#k#}@%Il1jFooJW*U{hZT8Ix&nKt%YM1COGCCnL)= z_OhtfsSHb{F=M&x(>2c>1Ay@XCK?(rkn`_`FYbeyh1h_4J0 zNFS^+z^57!?_SFWf+=+x>j(c;0$=S2vRc`$B$SX@ULsX{D41+nniyD&(I>F$EaZ*H zp!$j%xt81rlwE{815bAm9~B)(-U3R05edkCzo1Cr6&QV{6F*|rRf|k;!)x88M3>~H z!7RCBpvWAgt}xU$+snn^fhQ1rQk>Y!T#=U$g`Q}<*vNhD*__=_RElJ!zwCtHj8Rp* ztW;kku1pI|5YnP?s9skuY~r|>t^Vq)bGJnS!EJl0L*hsjr|!vC_ChyA$w*n`xHcF} z6BqJ)eI7y4%pKky~n>;a|tcy zHFZXbMq>E`exsh!dS?Sj7WcxMLvgw2>Ij}guW=Q<49I;o8CiF8*SnEXt1-|9Z`H0^ z@}2lEK7;>k1_DIt3E(-G4lP$flyqz%!YdB(oDr5AMWTZ%__keXIOhSbg&X}V%AwJw z@~Z7|DYn2w1(8BU(lzv^dyh%I^>W=fbCj!yKg1el`19o738s@a0)Ja&-nO6xlPxaA zbZ6Nyq82#PZ})x{9XSq{v0vEPo_oU16eR7o;nj@L_e6YYoM<3d7Z-Xhn$|Cxz2}~V zYWYm7;>3_DM>N*@27$Dmqm=F}ZCcz=WJRvAIRaZ7xNE!lGm4$GyM+Dy1Tm|>N8o)= zi5E{N=(P;|5%KLK+(5-vL1PI15vT;;*-=(oQL&NMPDts3Zd2Dj>uieAZjLGpb8v8X zm&YxR_ECNL6uO_=s7}R{3oqo(sc=#le&6bN@N*A+m z%F`!Jq+g8edloQ%YU71mNENm{{H)M%^%hcr%#K+3T!$zvy(+EHSUg9jKWdoso6W0t zmR-Q1xjJ*6%O|SLg@FYk#NI*uHFmGR(+w|aAlF4xZ+;xd^z-lzl0cate$aq+h2Srj zA$cY!2e2yA9%+>FG5)B?XXi$K{R0D-F<7%TF8a^w05Do784@nR!IFfXX^%mK&wyd| zLK*S-5w+M@RO-e#L5$>#(?M0T*^Hy4q5Ndsr;vBNh8l*$^aj@!FZ$ArC?n-|*dR_~IPPj|G1N zFlm(|6So)<>3$FXH7V)rn0`tGkDMyeHiW@1@cuKK#}WFWn~CT>baqW$4UJWJvzi#^Tx7EsF|lVc-3evPqC{xlE~nJO|BfX9CxpM8|fiKZ&YPd zXDCbeuOSKJ_dvCCF9^mL+`UBvZR+jdH+`_iLjsE}#>QgYOTmO8pZgH~(?Q|EsCY|4YaDk08DOCgRvvMK*qk0ioxv9-~T1QY5KO z=rBPEK_>yh!QenhmBgOQGFFFt-Oh01#(!*2R%w56`H0%54wc{s z9k?9ad&jqk-)RG>Q+&{m7_zFk;CffuW2xD*O#@IMf1HXz*1N)hNzw+D*V5Re-i+Qd zD2(pVrwnXjm4Sy4-5V68JX0{{`0~9)qjhPCdy1l{;;DeAyUJ=Cb8o2edPyz(+^G*IO(v(ZAry=yC*J}B zev^kAI2&O#XPmcxiOhU8le1ykfr(l*D$V}G0@$*#j19 z7^v>U?Taht4XKINe$K?u_~`Q0ey7DpzSx44cGH^ zXb-p2all^dES5kufuwKwTw!T3Ynd}nl<4X5Q!d4J`y_0*C5dPq_(^mGF}_ZYmM!8T zB!5>gw3!{(7chDmRxfl~A~@+4Z?YX}1T6IzJ=uI@ZM7G4xoJ*n>p_jG*X8YG{{QpR zObNNu(C8mFCxZHayjv|yZ5;la-P)>U>wMIP_;afd=*=VkNV4=QyOb&Q;Axknw=_%o zu$(^8!q*BM-7teAT19e_&hdG-GjatKLULC20xk)H7VSH98(bP6zo9QetF;>)q|4t3 zf70_Or~RbKy!-?IDY@s_Om*&WQ{~dNXMCggZj;(JPMoG@%!aJykoj86cLwbw7T-Iu zAI+GJs=6s{Cu8-8kdMvJEdFTC{!XsNls;(OYjv8szqP}P@Ddt-`yVKO-f{i*qCSfe z@dt<+?gfAHsuR;+l}P&$SbbIBa1<%K9Iw3=emX@de-9|6;+AWe-k)YF?L@LEHI-^1 z997+6d1I?i`Z(OemE`FJ9txx@Z$7iN#a}&;<s9pV6Tg^SZGDu;hh5^y%qn4&4r}D^8r(%K|BcOch!tmA1B*R$!$01RMR+HkP zl=k*;CJ#Tc(cv~|y;c5zF2dJag8h4Pkgg_=mF0G?0)H(aNkT494b-Ws)>IxS96Oegxa6=)woEmADhw zrG@0RLo_BFs>}@tGBN&&>|$WHCShgSAe;zSooi)lp+zUoK9{rb9KxZ#>vA_IS)ZiL zgO|L&HMIVuDteKhXmboEQOfCr)6X>d>@PWQl)RvJ;8&vTwrCt^!if?A)~b?bsmYo@ z&?S@0?#B+SB0LNPz*@MX7@R~R&XrD&L-Kp%1rAJ^Bn4sZM#RXi)+U2nxH~pT(VRfn zE7WcE#b=$CR0GyHkH+>WRveooAz2J`K39(!uvEH&GK`Xa4&+Hh<$grvbvTW|!5q*S zsar=XX~LD2?>Z%8zn{yoabq-+GOK1qmmuD|9io?8^I`lPOpWl#ut^$(Gj(Mu!vJu! zSng&@`C@-_!Y#)=xp!njNLMXxD}r=TPf$*qNe079CUvh5OZr&{*(8z`{S2vmnfDhV z$B{to^V=RV6&m?rI0SX{?hkqM?bYVU0R_HQ#pVS;dX(~keclrdK!XrEdo9!y25!Wl z@F)ORN+^kem6Yg61EXthMjkzDH^hljL(Fl)E18L>QaKHwE-I313x+Z<697H|B*uhj zKCrhJqU!oAI*}qhOvQLXT!0__rNKYBcctxiDPXy0#CRS@nve#J!`y61%VY{Jy|56!>Sety(L%L7EMuN^(Cn7aw`tA(u*3`b$DJ=iB8=?AXbyY#K^l z*#v5Dp_qc9IQxt%IZ9sehlFrCjp}eA5NSH&_MrOmm{}?|Re*J(t%f8FdXZ`KI;EaH zn2J*;4zL=A2gJ=iZ8ZFYgkf_MVGE6)3rl72ZK1 z3#g$N23s?lOSPfO%~}%xw6=wJg0!?>0hqJqaH}Whf&_K{eQxu76jdVcLqy2_-n2vP zrZ|FfM|s_DOF`Du2H%JK0w|;hjZKr2g$mxFhAvCwalV+j@aR0NG=m_MlGtf!;A!TShv%({t1Jw( z_B!p@G*iN)W1$x4hrxvj?rmE=6&%{9NyOB_!>la{|LZ!tN3??Kv<3Z5g za}%cJ!`X=;9yoQ^j{_Xj1^EL&N_=BsH zi{DEf4P>uLx}5H|p@J}N3^d&jE)64&nGAZ@A!xbBLXA>u@1+L_k-*+s`W1Fg*{Dit zWrO$+%%G6LbOCDL=pW5LL$qRnIudFaSoXN?2j5=H=p7=i*R5T#lL)-7t7JGh+?$66 zlM_frLM%~}_0Q4+UfR;~bb@pn0u|C*UG>%vQD(tE^~$=CAV^|NbHp$a!IV{NYx~Aw zXS?O+Cj5(DQprOZ4TxDJId%1Nj-XWicv96B?Ai6p8I%{<#dqZr;lJ)Pe-T6^W00a$ zJJ$-Ul&v*RbLuc;eAzfIL=we#L47iaJStCP=N2dx?mF&;W4FItM%wvTB=n(RWZkrE z52$dqH%&yD4J#F|VsxDy_wv!<6h#m@@jXDOJ-+25*QbmIrMB)NO6*?9h*GL#x}f_w zzM2lnL#keSbl{n{UX3AM+k@HK=v~lzcyqQ7q+&=;YO}z#IFyyMpSf#kO*!LG2id>y zHKdd&D1?*m=*0lLX-bvoa)l`K#>9tU60c4j>LNj%+G;FUyQ=4_I)0gHb$*8=$ej|3 z!!8v7)3T!OeL~J0Xo3imw}m=qnG-_ls>3F^nqB98P%wXkVW5JA&XQKBcw&u+oQs2l{ZD>r@Qz%VrwrXH zY<-EHRU*g)m70k}NdT}C(9e0QJqriI?9fs`exN^_9gAy-iW;Oap7#Xe+HXeBL?6*} zRqH(=%?%rv#eE1RwGmf|e3%OMG`TFs@IEx#g0#_J5Mu1Nos+u+RNu`UGfK1cbF2F~ zU_FZUY3ccI0@S>$)dcR+;)4O-8MzYe3oXtzSdQLjhIEfk32?Wgg*Y6W;G3}V#t;)! z&S<=!W<>suBQ9M@<`_iPDb1XQ>M!XY$g{Z(p2*)=3%|T-eneSAvg1fjl;^Fx18U|AElRcK*?n>*VRF27YEF^-EvuZx<7K( zVFxdo`cJa{>bh^>zY``}AWA27;3g35q>FnsCfTDJg0*!homajTqKeq}0h1b;P1T}- zsH6Rf+qbKIrsM@J-gyCQrTr>;kDDOxNRjrFZC5MQq6So(O$+wx$02Aweq&qizFtWu zzE8;O_1|IcM6Gumw7Tl42(#s0LXN?eN7eElKjlvw2adbIjVS`X+5NMUdGEDc9knak zKW;{zT$cRqpR%UT-_aS_v$4&DKk^a07ISkKsQjNVI}7~qzr4+Ta&bQ_-nq4FW9`O$ zsvKtdBTEJP7%j`T;v%>HpwwoD$?O(Slj)#ya}|UN#Z6Z)fpDx>oubM$REg1Jro~tw zQZSnq`5y8|1Kqyae39_*MVs-=sC!zznv12N2*V`GVH^l`%#=PuBd09M_FtyclN#ep zo<7#EP-oK>XP0V~owJXe^;IbP+(ECup#NtV513mnVTlX?Fvj&?TVDUune%_-16S#Uhe3{8`gt$XZdZs)Tu86@cj20o-Vxs zUvj*j*F}#_5GmrO{_o*`QE|Nr_3E>Z?p(CpiTTm3ma?C5H*fWKE1Ui0zzSunYLKe_ zU2Oj}UPbA8{nE|N{xGlp6TNvcingM4L8XqZe7n4}jfHV{)yg zezoX;9IX`PwnVE40kgX5YB{G%e48*}BXA_{B|&{2wA2j*2;N$oZBg*;$6xQJt@iG- zvFvR<>)gz&YWMhLuzTUd@(EZ|MXjpN;9cz0T#KA)E8|vtS*Ln48bN!A=C{hBV3PfW z{*G3v*P|=+b~OPV`zycFXB*8^zr}ueX|Gl9_R{d(As5;b=wQeqBjBMIvQ{19@ z0cf(J5@@(+tBATa*k&122fhP$>1?iD+B|)|-`Auf+IqDqvUAxq-YBoy{nRuty#XjSY6QWVauAU;7uh_hFRSh!GP-p$?g7C-dj_1yI*RXohR_#&dkC{ zp0!zM@?>h>gx1EjanKY*Y9(W4(6ne9xF~S+#-fSiypn2V>axW;I!MyoGzIHo6mFFZ z3!$#{RH`Z+s{mAdXsrDeJRO_g+}Y%6*>$sz~ZRX~`QZ@7Ct=B=C-xp|4bn)9lr zxg8K+z&y}Q%hkQm#$W-yPS;{-{0FqA_CpH~WPTQqYW+}ulRz|r7?$FvGrE_8jN<(AANOgQuYyP`@N}hog!DvS38>kD@ z_h97<{>gql8URKx$=0zC?A`eO%B=$|dY@|)`_)P{-Lwb1z63R_c0G%1S_1D6Li0xIkaDG4Nl!0V=n6To&&k)7VpHN}?jf-nAECi_Q8Kgd_jABcV2?#lH zOXHt%YAj~V@Qv7Vd!>85`%|bD4Odk$Zx!7(t76AqFkeVF18)hH{-;5J`*IW@r8hvMDOx|oTLZrk*!;)S zYhK{9gVwP0zp{Y?#f&IOIgInHODx|u;_aQ0IP$*ba&+s*aow(K3Ke=4jJ3Bx1ou+c zuDo&;i2Zc!j<-KvKUP0ddQw}Voko!dm@Wh!vR}>sO12M<&oFPOJfH9eH~^Ci(K-@v z(v#3#)Gq@_WO0=XzD05{6BRx@W^O#EruByY-Bnw3j1Ki6vqfR2(Yv=&CS*I+9Ip@I@T@F}k5h*9Vm&UcOO0J>vKu99LQ zZObe#5pa1S3DJ&_UhVLW^nQ+bucf^c3XP3hNc#16T4Ir`vTiBJs zDg}n$S8}}-xykNiaKc7T8df0-=$V>UD+WSHwsm7nSM@tI|*CYFbG_~>HjsLptPvaA!q71GCGf8*Jf;RIDJVky7sjDR&4Kh3fSC z7sH1Iu9f8h6oOF65RxJZsT`OR1OCU&9enEp&y2!?up3f|h`^fnO8(YpX&X{V5XP7F z*UgWyw=bWlb%2C1SjQnY1SU0pOdG%%#h}X>$iYT|2UY~9q*Rt6ilcS9gLD2^rdU`So^D6l+dv__a-i>BKIDk^ zvj)&J(4lg$Yn;vzNZ^BONAQ9H+X7KSE)m%A#g9mJRse0~%N#<;(-_w8+z7_5lb!Tg-mjQVIB4q;29G%Y#38#r=7$L>5Gf53n zHbs|4yXk&2J+RYfkVvnUtW(86KcN&GE{NpkLu*v_#v)lS;bHr@i@>D6@Zs} z3kMc<^|%6{%*y8`7M>A#*+4xnGNRyjXhHKvaJM z%0o#T*J>RuvAbhJFlhxCo??=@1RvN~9khgW!KpIpSn0P1=igfC%>*}N=#N{fzM>%d zZF!^Kqm^*qfJx6nxuZz6tFl|ScbY2Vb;@LX2a$HS9~p3toiyGQxW6G`Qh?e~Z` zo=`JNRU=~SIH>Tm83dx-XVaVr=Zl*20q}^yl!pBnO~(c{@#g#)YME)xFq28bL1_sL z2PrWkmGt__^51YN|7G&#qk#GKCL78KV2BgB1&P7wC1OT&0jjm$-B*HEQIy+=K7#w zw8wYXEJl%iV2vha_lj_OS297-H45h-FnGr0A(^MoZT&nJ7J=3*STcTjUOK8y-9Gnd zxq<$qF!zTvu6LH?(sUi0=*8LmjN;5?I6?&qa9UsHK%J(*H-k6AiF{)cWzWI^+%GL6 z&+(q~vLJ)9eJH?xQ#wh{hPQLT*@zM%b#sOOhEm@;tMg;>s%?Z|uE2T_5^W%iX1fOu z2kWynvQS~_UPkkh2%1+oxHiz)-m(eZV+!^o`!%S^Ifw`$qEk^)u!2)b=R92Vn{_l; zDhHB?utk7nXwpRAbZ9>9#l4!$KGf72^`J%Hl;}vMlXAZ%z58F3y>7AiAv$AC{7NB zG==Z+^KjJ)%!;y97mF+hlUpx!{2BTJocVkjae!TfFbpBk3mo%}ASoAl^CqB!K1MAp z4;q+ujcL$!RTDu+7kc-@o;Jc}73h_0dz*OOwRaG^$BMfBh0MIhDSx(p*a+ZJsy>UgXO%IKi0dw{Qt92QI zTKTbm=LTMus-yXs%ge+Hl_x*mpu{Kq8ihb#f_6^y_ep+{N%q~COO4cXG`3@2J}~SI z?7{e$8d*6rE&S3z|E0qS)$n`_bgG8dBHh$$b_l8B9#kx$S#yzy#5#!4*6%L}9JnHd z6a&JwT>vIrfSxI&9FH0V=w|p9wI)+|T&>@h4aq)-jPZxB~(qK{rUOVLXSb z*g!RxK47ucdYB1AyuW``o@-a5y_)cDAHtg9G@Fc_CiU#}9&-veN#) z5d>UvpP(V5`1szWE**I@)817b`1eT94($lXCHdxZ&=nWX6DK&F^Z)MGaLgrwLc8yl$jq(b(#VnN%IeP#;5Y0yWi=Ehj zDX;z}d2riPq>6;&iVZ_Un#7pfPf1ZboS8+b{TO~3^1~07gc4CxB}l;-^n#Q|Hf4ZE zepn}EC@Ncaz3^s+hp%{d|MKYe-|SiCai4JOEmj?fwlk;aDWq8JK8~00T-c&X4P$hG zf%fLcoa1vKBSPr@o#{_zy8@8(wLi0F(vWDQHBjP|C5?koO+6LuIt;2wH(;m_g;$Fm zZaacX7M5Cq)+&A5ep9mGa8`myM>ql=TJ4^7Xad8$t&(*GP>x|mAHuhd&F>wWzpesV z#74T%oVYGKDUxm{OO7f*UUS+aWPiPJkeHf08)f7@xw727dkqLlqzhD_>_lg-6v8ff za<1jGzR5=xb}_&IY4Y+FqEchJPVJRm4})NsmgP%)CM_7)fz{qJ`5_?PE&rR%ab?-{ zm91bOr5-11VJQRiZE!iKqGgv+57}iPK59d!^+i_uUht5WRWT~Ynv3$S2ztwButPoY zR8tVC#J9wvEbO+vecz#fqN;72Lh0fpSu5M!%m?fpvqqnNfBFPIwIKOc8JtoSG}pe} z0z?C^&rP2}x>0EQ4V)r2sa1Wn_eiGoDe;W^d4Fp~hq9PcNi_yE~yZ z5p^v!WKTb056ZYUeLM`2 zuWrP^7kK+?!&3)CQSHj%bN2Ea7I6f!cL3Un>{Y?{Q4)-$n~80mG!SlQ5uF zI3SMI2h*%ZR${k(dtEU}M}iIHa>nLWlRU(O{AyS)6|_szb0;etuLTA`~rD;UyV1Sik0Wrb;3Hw zBIcTzs0g?|GZfJW@WB3Kpqp72%%R*^k5gv5&cLL|H`M=x@>ncGzbJoHtO`FW*8f1M z^PkQEP5RNWF8;s#5i>XtvzGH_PsJ`2d|*U*1hDBRl7zu31FVfTrtfTwkylkR(aiio zo9)R?w*$+)^Sh@zZP0UA17*(_+=Glr> zUTkbRPkK4ux<7-%8{Bl@T`k^Vtr3PcxxEEx?va!;MX-WuiW4#!Mo5jo9hg}pSu=EMFb%(S<@VH zvBLFQc{+he;-s?(KMJlX+6cRw8&H-BuO zu|}K#>tc)G6@qrCMzbip67|TGIv35!uTU|fhw2~wZU_I~RR?Iw1LVScphp`Owj&w- zUF8s;+~O{{Lv@-$oH>hONM52sT=#XEIAXt^h7x`CxH<>xsb$St-)6!GwK3m4D}BE1 zpEBkZ=e!U7E+@aoKt8kbd_K+DGpqo#a@L>SV)8cnoM3KNN@^d%fY8;To^AE~gAp$) zOcoAO=*{WgBDcny^;0r3QgEdn79I6Z31c#>sr@y?-1CH-dP=nR412*A@j<`jTQn67 z49zjC)z=oUo7L;4g1gum&+*9;FqgnUNm|^E+eEj$|G(Cw@GkjR<&T|2{Lh;F57y&< zswt0(my+3}gAcxbr>xAxBE4*;3!*({GuAc#fVRH(CgsHF5+R|{Uhe7M9lNon2<7n|<`be(}WCJ>1- zSL7swGP!UdcUQP2r7hgwqEZy-SZ*|yj*ngtSqQt34;ooDUb8In0u@>hBF4jJQ%#9} z&#fh@i?W$h@w&{V)@M1nUG|Q0&=mVvo+D5uzLxw2%TN)EJpAU7li3pyF}hu>4#$dz zb%oUhYja-i#rxgq{=l1YrCG4h%MN9{9J=)?^}WW6VowtcgE`WQx9tJmr3Fq6XedzJ zlGd$zo{61?R<=_Whfh0U$$w5du=suL>Y1bssJE5ZmGMXn(+corHw5 zuRNU_Il3&eB4Ko06v&z!nUQ-+3zDaQ3LydrUD0S52a&P?0dAXT^B^?y1Um{EB^KF|%Pa%86%Fw^iX`=lTDW#e1|3aI|IHcR*`ZHv8_~#<{=K=pir(&DGwI{>y|#1@uRm{V#r#xr2d&y}`elyjqpmXT3oO9enKu zDUhP&j_!=<+^~Q`mdt`N?}Q$VgB~H)I2tb^=HQ=y%{^Y7;9j?d>mCo}MdTyTb5AFR zh@S*hW%URGmqdJae2iL=#z4kR%!A~&o+s+9#U*01hGZqbpNVwL)(V2r>V9iJU<5GgTI!WqH6|X*e#N-^Ey|5Y*(J96 zk37(jubnkttMa=I=qVj-T(1UZwCN#D<$XC?{cY~^kR-Y$VTu_i>39PE7gDnRcHRYH&%sD|=NZO7dR7{=2_<62=C*hymKT%5 zvF6k?ha#l&hFLE1+GBP2qhr9Py78?zLa{8B1pNxtxV-__Eule*dd)6{lZ+vS~ zvIYwtv%f^<-y!D;8zBl9R?W)lj%8POtNq6cAUK*mcEO|7n3E)!=Is0)@Cy?1Qr#{k zwu~dOV7NM2C10HhVva-ng5GufiVp6hb*055!*Z8v2i_onZ8FjQGfZ#_Xsddfx^WK7 zWS~|n2$1Jy7@4qojy7VhFGhQElML%tgzGn19t2MQww621ttFjq(!A_J9y+P%Lp%Zs zhHI_ooqw-m<&unW(z|7T{0sMMtbhJD`rm1xHT!Dn1%4=x1Y`gJc>g-6*}o$?9{ms< z7eo<%9DC`>vIX&ufaYZ)0zC^C zLQJtfS-*l=0Ax>n7d)EH~K4Y8eNU z2eG=E=&qWA=|n}QfmT&|Xb)H-CCydLRuazcns_uA<=5yTu5VwQ`WaZPGtLg(tgh}l zthx!~+ilJ<=8CcdUSNCI;rCF5E(ilJP=F{zWLH#yB?mz->?gqRE`%skwqcdf4F;Zr zhq*vo%~)~aZ3n}&MN1{mU8BrmK>_CPU=aQ1oV9$`ek)0H|zTK5}*va$7S z(2E2Uj)l>+|6>BjR}-PuD`qoOc}~aQ_%W3D#B!~Ga3KR+X-Sx)^w@$&lPcaue2C>B znPm0-_G1>you^|;S&f^~AwaLXdDv=_l;+?Mk4Q*rSYcf1ocfuu%xS3f_6fFpqkXms zLI+)#N$Tmq8Z>x>FIz5CVSz$e+=6{t3B{GQA<4pstuBLa@ATU zI3PMQ+%5oU9-%fic+z6b+~7WVQvx2m7X^+J$Kl<;7OzLt5!Y3laEP5Ht~S|FQaC_T z3ybq2cr;G~n-k7XS+T1C!%Y+M`i)ZH1$^^uSsVUa9+lij8CKurO|bkPq)) zUhBehM`<)M@U^-FZ*4H`6`1yIJ%HaAKs5^_(|okxu+hJbU~!{20$><`^^2_Nhc2Qz z`b6G>wt?hN8a)1ZoHoUdRMh>O(=}5WY~}ZzRh0`A$owG6A(!5Z{aTPbjf#*^H*K z(@ty?GP(hw$Y4I9S|lhEc^u@j6P}SL!y3Obhe=R%NlP!~)mZ6f#rexlrN2uxU`L_n zk>#k`>nY8+pee8zyJfNwkE4XItlBK}++(XKv7_bde(Yj8t z539~J1#5j{Bs-`+X7_<(-GL0D$=u%;Hjl_}m)s=#|EXulFormMR15wo=fRWdvLJG> zQYUXoDkICr5iDz&j2*0v3;Rn>pb@hp1>{RC4BCnp49Va`6H{?$p{3+~&3dyTGAk#O zqUJFvxk#$aA_y7qE|J&se5uLrs}PaunzLC6bbfGVPNEC-AtWkPV1y5lRNY90-SQQq z#d6HJfj=HEXVZh`l{<%W+PeO0AReqHF=DvgzcoNd)wRH@WK5u}ERtOe1wQ~t>V;00W|Sm}xAB1W9=fQH@z zm_`d3^}r!nFhWd5W-76qCKtRq#40btG80H&P`oz8S+`n4k9rGhl7CZdfh-)A4`2L(M#;-RN zO!`;q_h|SX`EUgi3w=Pcl^R@qk_C~cdwP)(dI_HII6sDAZtPlY$-Vsy>eFg zVs_oMzf4o-vyU@@?d32d{**bGKT8^Hxys3QS8y8b!dZ;b+HU zB8u{(g1x{S#i-ic5sQRwXtB0EZggcuJVZT$8Pu`g>Pv(I$x?aZ3t$+9%T67kUvhtd zsoqEN0FdapN)e1W&xR2VJ(%#q+9!KnEig!WNT|3!*K2DjjDm?f>d>*Wt&w~Sun3AK zQxvz@5S1VfA+F|qXikxo*J5XWd(pB+Sv1{;jDZZFC>ytdT)c-KYsXJa!loALr zsggRgLfgkr#zy+)>2|35bc{quptwfZ2BcdS2fZ#CL_{V>DN%Wi9&l1=VKL_E>P=Oi z>eWJYMrc2;n|M`VZI7-$UgaW1$nH`T!**)lQ)WQC)%#pM2b0G5{t3Rr%5Ckcz`v<{ zUuk%>bMe~zIgy@xJmR-w`e1al-#^g;a`?ikiyN@k*ga2e{H+`x3OlT5z}>;Js2P_7 zF~}#x5M^9I$Gb7)nSEWM$Q6WZAS#U!#{ws+y_QSV9E4D475-_UXxmFUpAz$(8%|(W-1p zRHsbQ`edQQra5-KD%?b!kl>>loze01DK3@E$o?Da89pfpeH^Ug$!E}!qGRZ|xslRm zmX{Mkg=m1F!`9t_a2VJ7w$yV=E1vyks0D1Y&h`}eg~sv7Q3TD9?OIoi>^#bIqk|(| zWF?VRra{@|XGux1ER>#mr4r1S<a5~dBB_>WP)hae(PcQPi)G&K_P?jd)duFxZd} zJ$YUeq$R#7Kb2e6t=>l?lgE!SaLD&qr&1>RF{q$JeEhw7YUaROh#fJ0btmoxsQUAvVByR zZn)0>si~*R(=%_ved=4ooGC?DOoP{ztp5soLjZbmN!OmeLz@iqyvXwjJmSO?Ozwdw zap=;jlBTN9$~tQaxoI-`01sTScalzepo!1Q$w{cLb~UV-PNuChXH}tp+6!JL!24|m zu@g!@j}?DX_`N^W{F;EXpdSqN_zykOe@{WuM6$TU{wak2>%#x%$vKU+t(BRHwT->e zzp5RrZ48ZctZWROER7s!A%8wXZD^$LWI|(UV*>d=*dag;$-~x!Z;N~}zSOf!;tc7H$&pH-XD#G-D$w05U&>HxeaQn>JF?>WA zChp(cU@|?KnYML=cnRYBbd_VXlVO2x&u!U~qSr|vERQ+^YIG&CUEJ2!QnCE2ZsRJF zYKP07P(Q;NS6F5*9IrA+5fd@kP7{7Q51FaR9}yOU63>919=EMnOWQxo4x!kLjBKKC z4-o*O={Jw}4YQa6%x_<1^xU>al~NRx^2b5t}!Pn*elJ9-fF zN_V=^qK+f<1 z=`iW6>MQBNbI&wWsEr%7Zru8D6^R-=6LeNA!2{L;U>~QuDa%d35&1-jgsW0%M1`g- z?OkxfVBhfgzdY_)nJ#AKzPGNc#)p0evnx+UUT*u62lE8ZlasF+%f$wMu@b5^tf+); zzds9q{uNy$Ih08qE6JY2@nmWjelDj);^|X5!=W3e&$qKXUi}L*owv0u0x_Lx+C97` zcb3ohQxxS$9>VQsx?Kyt=I3f$oN&tGn4b3tmhh*zC76S5xRm5B%{=dx3(sj!ja9%VS-o zH99gLZ{>aCtC6;j!FYHM4mBbeY_I|sOB0gsD&~Sv?|~k8f$6#Uv)@BfvQ8d9495!0 z59`L)oS3vJ8%5r4DTJqU=0Z|1UF250u183woo@5)dvYmG(la!+)uLI8fvIC1 zqy1cdpT~HrqqPJU-j6eha_L(Am3hO685e1=t1HEBn;e?O5y@V-Bo1wangBSM-n$8F z4yLF(cz5Doy$nb~Gz>LTZ4H3qo@EWUf>yXHOOue|Xdxea#8@fI#HWuF@4tI2DcfDE zihu(gK<5Fv*@TU=Di0Y{&R;5oEz%xQ&2Sv8Td_0m{ z+>z=>@DNj6j$l$!%0%K_Q}vLdJgtPEFin)Wu-5XN@GYBmZ9L!hcKNb^GbCZbp}cIK z5@K0v2lGazvOnUUOc=BP;t>*KqNI=~QCuu4xp@D4;*}}09(@wZZC>WDMW?Z5!6o@e z)N5eLCUHI%JRV13PyI_$cWCpIU)=^-gD+lFL*At`tL0|$0d53u1z zZVm;Q>_`Kpwl~xT4P!wuGTIm`qd-PrPDy%HTNpT4Z>x__2%*aKJ*{oYP#e|bJp6Fg zR;vk_G1{be_X?tw+<k3VidQR7I?JQd*~&17BR9SOpz#O3A~C{f9qvz>wS->7xm zR|(J7;8q1UMq=aeMJlq08?**jiuqK??5rHR)N`9dyzWC`YV+@fscIEEi63jYq1^NiwXiRR-DB)X) zAg9O|x8njHq=>=8D|8-UoG{N{ubjbxTcRj#fcG21#-9bzsgvXw_-ULDsz!g^;(&n?xL^;jDzdr|djd zQh%Fn+2?6I18}AANbm=E!I0$=?nPlr3(+9^T{>W##Zvt7*>fd%7Ss=s)3CgF^thW% z_8kM*r_D@GFmh|G1U+t}xAW85yTY}NOVXxskrAU64%pKpp$$IPGIKKSMFuiY$;IT= zEF(R@0tLeh?UvZ1fe=fDPQjR|wA-=|T>nDe(~R$gs6Vm;#;2E2Bfq-~Bc>H^EogzD z;tgo2C>?MOu;MDEm9%{j&5;I;qh31?VrA#xjD!qeBp1Vs@pUN3>|nq^9!}5LA`VyX z@%AHA5>`p4Hk=Nu*bZJesjCBP;yMe#?2XJlk&t-X`bhP6x}Q?u>iaA76WT{4Xt=TA zE>wosuMQecowUC&mMdZrtp^aVH*8jjd}D)*g>GK6_+b@hgy@+Ag;ZqpSXK#wejGZ! zkVnpUZ-+q`B9xk_@QI(KJZ0KVCXcf}LBdF*&fatd7$ZL$K@eBtp0+1WR&0_FcY^7(l^ih5Ske>BgXwD- z9UxDx5M1#fY(5Q48)^+~xsDav+3ChP*^XsA8qzve?W-D~9rFg6m{*>WBsrBS1&oWp z@810$-m<}iaX*DGv}lxG$YM;xh6T%dew1zu)!&M0Mp_2b5!#vJt|jrDo)m29fTA%+ z6yP7}_*1B#Op}`;fV@Ky6rP)JviqB@Ii0Ig$RkYoS z;Hm;5C79*UCzWtO*kpo`?Id}cNFX1eOi#&jag$$Tl5B}1PR9Tf)(AdW!eEZ70vtdI z27Ca^3goc;zHaP`qS$*cC#VXv+U@I@ap4jdW2 zZ56YN?oJN;Wx*b0j?jhLA{@$icaQOLZsw6`HFU$qJNlCFX+8ev4eJJzFr6<06HE2P zw@PTzR2@~`LwgludNHP*wkVW(_xeGVyLXW0YJ5jR<7+f~Gm3M#bFN?c%KW<;TJMh# zV;5`1VZ3L;3U%+n-tBL%aOw#Lkf$yqVPOe{AH`IgivdPhXwf#Vpj|<$Zd#tH1# zr>E*G)LD3LGjD%AfPADjHINhM!Tag?B6Tug$XxKt>*uOau!u)GB5c~}lyMdS%Pg%* zNAJ8gp{Wkc-;IJc=cl91;hapzl0>>Y!vZ)Gth`{M_|2}%qH&rx@y#a79KZMHB=9;Mulm$UyrOD(yM7xYVyM$2u^(a1)G;!EyQ>Cgis4vlYvp7fy z`lS$jgfPN-MuU|0Hoe%2N0AlE4t8lKn=wtr{6K5Vrq*8@>HhbcxN~%obQ)V$huaSn0NJC@pS?P6V} znf_WbMuXTOI`-iQ+ci29^7vK754>SgG(_L&NFR}pshF&|vg#J~s9?$GU~&^lfL zXcxr{MxU15A{^H(B|Pd{mLau2{wju z(gUB{s6m}6RJ3tWBdKhK_F&0kNnQg~@u1nmo~k^uG}BR?aO?1Qv@0mq&(m|^oxuHL zJTE>z<_)vxPes1`As8(C6zTo)kKXTpw>8^*mG_as0RS%0{$-i?lN6YmSv&sg#%7Z0 zmNgbDYWK4Oe7h;JVseX?AuaX`fzK96=?2L*o+_0yq4}|B{uDkb(MbJ1=IO#^z*WMf z%jjODr9^UhZ`~w*kAtgs4`Yi6U`_(k?caS;BY#&ZhqY5YZ8b)fh~cr^N(3GXDSfi8 z-e>27aAR!{%%giWL46EC6c%CFZ1FVc$v9X*%xJc4cF`#GoE}Ra#eKz!^nVa+v^FSDL00 zJ7L)BJcZkg28p1o{4Hursn%*IZRj41h@Fvr9s|C-)Iv&FNVPZ`!{9C0w`L-wMNI_R z@?oINKn8+rub>8M#e;|Tj%V0XxQ8OS*2^oc#@|{A8c+h1^b5_ch^luWiqfGELEl!X z@$}9Bpe5$5NIrb!=-F9WQTf0x70J?W7KkLviEE2@5R+~5ezjhGq6rYyl~q+;s%5pv z&d%&=;@=nJy~lL+s&E<^(>QY~?&??Vk4XM-B&zHvs?f>-Fc;~yTxg(r?ow2tkd_Zp zb;zO1Xwzels-4Mx`J@T5N=k~>Enfv5LtWuBlnz!AsW95W6W&_vYAcHMK68T z)CYAnyzXJzuJvdm4>1FB7Wf858kb@1G)`+&v2;Um#r}F9g}zMo3iwj5rfD1qic5N3 zRa}?I2r`9>_ZUNyAGigMWS#G>$D-PGMk*4D)2Ew$WXbbmfMW-wI5bsHfhPi2ERz>M zW2}|t>8DQUae_00nju6XYEXlz=Z|%&ux5Ayc(osQTugq zAU`!~r(nq+I7_~P85a+$?y`dJRErD2S4RW$M6r3jRZYNZCB+&(u_j%quVt!%4+S-M zy%SwBX8B@TL;rq`vd2V_OK9|4G@#Q+nxyNzzyd$gd2SO1WNVQuk3Co-ojJm*^9n>HF;oNX z83%o1YjO?cFTOrwY1RJUMD|Rx#%=RYYP8X%mrKc;x@Ob_pXQx$F#&1P9?-N_1c7#T z6e!5Km`!%CH}3J=VC#O|A%@ey=kUFZh@PmweKH0y>Bm&HI&e$(o8C(560!Icy_FF# zii+n9W#vleoFw>hDk0&wp}9)J5^rQFsXsY^S$kg-ZgFtwc9E^%wsNEs1t~;%HbI z7zP|us*6p#_x5V&1*pHteQI3@dk{R2@zvWrM;pyo(5twwz3?5>?T+z}R_b5P%#5xI znRCtX$yLV2Lj#D#uOIBcKR?{Y7X&f|7($-#lM@1<^(j&I!3o|mk=fBE^h&q!;y%N# zW7?>SyJJDN2OoGYQJEn#($AVqBU2m@A*znzy9ES4%MbNJ?JjOL+e$Ch@5R@Y%(FMy zgkcBHHyqP38DK^Ubu+FrWo(c1Qte#oF*|xXis~$c+BbzaTXLyJiDGO{(NE+YV?rDD z$V{Q0m2f~##^$Ht7ElxLkF(?p8MiEei6X5TJR%OxyQk~^SRc%d@LfPf-jdn9<>pFt z!~l^H=*QpP4$M>;dy`9atdCFN8d8R$P9XZ&K~$(0HK1C>k#%@&X`#bQe7M7Ax0*?OWvA-Omy^8!hXxcNNu zVn_?^IKg6mTX~7b-=T2F<+6eL^z5$*w;-bca(J*xxE=PWvN)<-BdezNTBX1C$xm}# zLxhHx1)7Q0OCpf&yR}+A#f?laA%FQbIq{cVp(>svg}aTlNbH#Ibtu&;{OD;FbeYoo z?ahcpcBPQDWgF=|J!d`L>5te4xwJdta=;x(Pn_e@F}1jdnMmr=Ku7D!|ffrkI6zp%X5z7_)|I6f~Gz3moHD&wHmnjxG;A{}YrxN=7|K{vlBz z|4ftnXN~|rOtb%#a_ALHZ!tgzAN2eIxrZ-McF0jA%TIX{Gd@h|<`0jY!wV@7tsR}!w7o7e)y|8b+9OHX#dFMV81)_ehAW)8OU7CjQH;2crRP_J=} z&|E=5FyNy8LP~)zove-IzI*tg3>MA^)^hg)6x9((o#2JI=`p^1-vUWR_GovRa#8Pi zW*`54TT}_@t8B1fl`2h}qj4|C1|a9*aK<#AbIx7ZvAt@=5>gG9Q2Z;>VLb+FH?;-N z1f_)V=}0a5#f#F{!TbfQRsdqX1jOf(Ct}Iz@gH2z|873~A57`z%|B~C{M>D7dm{%M zOJ}2hZ&ULBANrr!l>Cp-hGzdO?CLud{#E#=fx-Xd2Tk)&u&e)X{Qtz`AxY(D4g?GQ z55>vuu~r-s8{?CO?53H?sutBvVBQN8G$YPbBudbn=xEj9bH}BSOuRmEkkNk?^*XzQ z@EVsJH!0phmU@YbvIV1D>sh#aI+JONvf-9bzZBpf zau`q+fA0mz$<~lKieaD#+RZhYQ=49l-QFT#4~#HOEsBlrK3#4WQ3+_KFZv43arP%K z_FgHSbH3Q_LyPbwz$E0jO3Ob9b)Rjg!v4~nN11{JE1T@#by2*te00W{u0P5ir@c%s zZ}F^B8@Xi}@ci19*Gl-9+Vwcb$)%vYi^cJsUv0)?z)g@8*a;PoG3qS>Nww)lHW4Ez z^+YN)S_h1c$ypgfk-I(6_=+-`&?>pFwhn4U@GCN^}4_1ReFUA=8%yr=S`!?PdQ z7wN;GC7z^}Pu_&=-qy6eJ=rSyJ-Ov*))TbLE)N!D)SeIBy^YnaCvh_cSvE{BBt2VD z`p26#6p!8VI%-RLgVow9AS2|ONttsuDE{rYFcC&%xr{yVW+fKfgzyGb##%K6Ap1aL zk7)@PyL})kRCs~6ggz%pe~uoeL26p8!s=i1_J)wiGU+%oR49smMdja-F~(e->-{Z5-H_JNv3uAeyD05g{r-cvmsB+SHd@&oy-FU{K%orE z#k>T-YXCZ{19l_1c17DT@kDf_Gek|+TkuV5Ix;?BR}Xi97Yt*1P~FQHu?$&w8xvhwSr*M^&wn8gC?aj#CpMt=qbll$ zkFhPSY0kZcT?O`&c?hERGPd)<5P6oQ%5^Z5a#QFbl#SQSO!Ayhsf(c&e`WaZuT5eW zoFR8|Al2XuE^g|wr-0hBf@={M>s6Rt`>jt#?ZKmO2R?ud1|WJts0ef~M9>l$CPFrM z#wz~igFiocTm3>y<(KyY70%hiD*jdjr}4bbOi=@jwCD@?%qW3Q7 z8tO`IudYxZ2*lx90g6$&b+9#pKn*WD7?h}A1Uq#rhW4uFD$pCg{rjS(-?dz*6ophQr!g6< ztk-gh34-~fYNl*XnvHzpcbXkZ#&$Y1-I*UBEse_(V8JOue@r@#l_`KK_#?E|f;;Oy zR~vl!-h8ONm=xx|F;g0r@q4e#KHYF8^IZ_{|yjM?Gx?~O&i ztXqF45SL4C1zj~WI9guuWjFxm@hAG}Y~ZY=*YAkNUaZFUaikC%aubxmQG7?QhMTUn zNm2Ad!%R!9iLsECTiUbuK`htY7{jD|bgo}vDUX|EQEl6f0@1l}5JBREMp&&e*ku8` z-oe9TmhRTx;USJyJ`ko$ixz;$-w8Rqck+V|;m9DU{+F!GL4i9)sR{f4=wJLdju4FN z*wz0dC~$@V0ATo!cWXmEM!grJA5reu2Lt zznBkMx?N^yElXa0|!q#@y zALvEaUwH`-ShdU;rJq&K4cM%YC3Qkx|5w)hDW>e9!)VYz8cPH|vi@9vIwk9MA7Ieg zQ}0w9zC?{ZX%k?;G?o#>21bt{?3`)B2elhGSd(oaHm-tXIRBRy!HBEE)$v?fE_8KR zP$=@y+c^CJyixdHSh>06V#ln?xhLN8&N~od^xIAf%N*R-t4j^0rv^9Qf$My03P>f> zM=<*Iiw^XXPjAnqU}1E*0s(;{S!Bzp;J!k@JhCnZS8M_N2}BqQk!2;2sJWub)Y#I$ zY(9Dcdc>6)gf*$eBm)oL4h}#q$vKc5K@xe!t7GjSxQHthx=Hi!=t?PSfs7I%ie~%p zkaq%^@S=n7)lBYKy%s_70`q7Vx(fGW! zK->YmlF>0S*+XF@9q3p0bEJ1RF(N54O2-vw!B_-YZ{9STTlW^h2mef(9LIF{4z}&$ji8RWd{y z*_~bHHU73|{S!JGd?alPo`IGr1d%~`l55V43%0aoIW#_|s5DOYuow+IXnI#&H2^X7 zRGn-5ut!@v!1M@j@Ai}dCiQ27aymil_z_@o(w;Yc~Z7#R(h_8fQ` znM-aXkhu+JTHLqxnYeD9NuKTpIB9t$mf2jU{zxes17T%wTY0l zk=C=VLSQ|t>ul+{SF}2_(N24mMCZ@9Kziuc#{$oVO>dBDtcqxVHF$XferZZclM2LY z4yBJcMD+w!4HhCN4J9lKPzD*G`u8wsSM8l5ncr}#UP(n8%rPmBUQEQ)D8GMdY}5$d zBmK`hAbe437W~KFt{M7&vs*ZtS^Y=5MVGSNf8}>Sc6Y6Ayo5&n1RGMztIW%ll+A!p z9F1oSvP_YJYS2XTcx8p!yWib}LKE>+C49b9qPp?VTU#zJodqLF`MHgTb-1*`q$4AQ zY{8Uja-tMtFOXdLd%@=(;%#so0=8lX$qebf#vqT0zw^WA++9R|=BYM~Q^k4{3Z*H4 zgzbu8Dw6#5I|DG120kO63g@xt;z~4B2N--R-h;n#aM^+ zJ$yE-@+FIy3N!D+W|WwYOY8W2d}Q9FXkd^N?N?dMko5A<&6g=6^M&$5fJjXoVi{%O z@Ew~pCv!AGkHxYR35h${p{*GXnF2#+#TzvLBz*Bra&UZhnCWLHkMvu>_pSj<6%r=( zB|AUsN}nMp;fTq{w_3FPo>E8MwDR>Q&a7g92_yvv5HjdPQc$n#Q$}w$Y{B+yguTfY z_4zhM^nFc-jes0(0qAf;4)$!<^?1Ne0#FWm(gL@+eDn{IS$`NA&i7kdnW?r4CQR5o zqXMR7=(pkk2b_3u-RCC(dt&8PDFHVVTVf zLi4~(+&+kS7yXy?F-s#}(aPcQfmKg6w5p@fjzbjx$%~SswIB;qId06|k?y{gLFY-6)yny`y*x#_W>{clmo+qB43V@Ak1u`~sWG)_ z(er$Ckw|WcXA`@W2ewHo&!6YdlEV8NQ6H`*lW!^W4!zG9w{1QiwHUBGnbMI;w9$#} zuZM^o3|;HVMK#Sx7DCpAsZvrW{fzUb;}`fSXcKL}9s`FH)m>pUxx6rqonr%$2Ae)I!S_gk18m+MGv&Lmy$Bj@}HfIo@ z;sbS$Svx|8=sJ)j68WEkY-5n>hS-E+Bkueu#t-aKZ8!Ii{GSLmZI5D$86N-s#gT{j zMB*>r*N@v7BZs_xjd$R$|4a6`@}fa*`hz{B{$LMm|9OUD?I37lrDtX>Y2<8V>F{sz z6esx!>mR9F=Lx0o88P1|-yi>2wppxM$VClex-n3HM9w>)QrWMrXr%J+W_H!JthL)q zcYz9s^-==nJtEhw95QCAf=>8{VneBMPhrQZA_n(R+YaKc#58Jh?EPRyTIwjhL}I2} zB2mx)0HDe-Rbr;eI6TWH(x6iKVAw+aQSAFA(6mZdeA)Rl@u<=gcDe-N5!=`b>!E0Q ztUgM88qKNW5JC_k+oZadRXC1kA~myOY+O3!1juA9dOY1o#e>$bj`Z6D|%y9B%z z0_Gs(o{#1?dTT$2(`>%HeUd-=;nNaej5(39)9H%71gH(;8^4yoefq>M?Rn(UF!U03;GW(KuperYa1_x3-sBN1V5}c9w@{n1d|r z?gBmyIs!*sh~(^$OizCn7Z3T@_Hxm%>)4PVVlhG1DQ)G%gnJkXAMC2;mdWKIG4*vv zgbjalRMr`-V97i)-VbO!{X@0(-`PFc%DBAB&$?m%!DE>J<2!8TApZ|oNl)MM-zE52 z3R)H$bjUvp(^gm6L)}c6r$zXu+s*n|E14qTrEcj(^7xXN!n`S;og{({F%@)4U5#YN znLp2)1)Cbc7m=k}+!M~5z2-yDnruvTV8<-|{Yxl;Hq4jEH+O(lDosf0S+GBjXo$+2 zm7l0d4a8L9ss;Q5S;hA=7_;d7t_7SU&YJFpf9Os-<>0^h$SzvTmO$8mj@%3eLa+_i3*kv!vr|QGLq-VQvTBOq$EbE>--28$PbiCqO^t4* z0d-XkM8hm8L*~5g10t2SRj~FVt^mvsObOl*jF^4vkpH!Bp?A;O`L;<17h(1|i}z=$ zz^sZTx_*?b_-qYy^$~mdDxoabErB+o_#}H{8G4NIU2Rf$D=q4}tGfXz z1y{uoq(t{rT+`)-h@=YJDs<@L416pPqtAIW)bWG{O>=9<9r8osd9-PrlysxAU^!a` zY!`~t_rO)m*Q-#WRE>rD)P=}1)5Lx-Kg>Y%>}$4y=z#jUWvZTG=+rrbA7HfF^*yyn zI66wUkRO|lgRQr(IrQn;1SX`jvD^}Ysh5}u?H zle_1BrQHx05PE`eqYqcDvXlz7tPLNZW;iattf#LiE>J~$od@5Ekfze6r_0r%kimyq z-a9m@eAHF2etpCP(9YOaQ@L|&S2I7qVz1_FIKlhZUTpe* zL;!j_qtE{nTIj`2#SJjRhU^SmRN=OMy6D`zoQ$?LAYz!@$l~9~l%CmE88aE!#+b#{HFC%T)Qt7Lp!r35i@rTnZ$rFQjx9+cT-H~vJKYTu7_OT#RgV#Keg1JgSD^2jR9OcC9S2o&6aYwHwA~S7r*C zUm7(L|Kpz)yrfy&uK{HFwSbBN#=o|pm9vz+yxE@$3v<-|OO?GgaGVWLXXoXn)3%K? zx_lFvWoJvhQc>cJacRtuE*4jIi(&onbw?#ziwuWzM$F>H&-1=ckvc%kZl!)0^I^@B z6=w`YAa{@s!L?cBI+ra#A5~t}VdJ9LIE$bzAR(WxunE*e7rTz8I8q!;F-Lry)^%L!0 zIAs@5ERSYsuu}AN@`eW=Ey*@6{<8pPOrH;j9<$Xi{l583X)fF^d4qCi<9OyhCO$(Q zmgB-HWXGV+4o{C)yvtTMHM1T&TqClCN&Fjv*zL?d*p}jn671^_{w#M?cQ`g~V<#Ur zgDl&8L{IW8wQeS$K#upAaGcV8EsI+rpjZ}?p3(!VNZ=_(5jjJs+KD|)+_iUNLZ?5 z2r{F9xTx_q#l=9qE+T%o7u$?Uu8{HUD|X$u2^y0Lmd%jguV657rMl=fuJ;XL_7B$LAgcO^zim$93#3u9`bdousDChJ_sa%1JsYE)!^6HR0?GR`A z`M3K1uSZ*Kh%dr5I5>|yi#yk5YH6qR`|roc;Mcfy$(@TDrz+$!z&@_;-JJe3`n_Bj zJ2@(_Nh=Ok9Iq56Jz$JkOlTi7z?@F_H)h8Ze7FVfoANB2C>G(zo-YP+0@1!9*|P>N z{F(0!sp{&tpXGv;>j*Y7xsC zTUV}4`4KknDS7WkKyI^>wvU?8Q5S-8BwXGz`n?`eAaa*wE6qZZsJCI>Ezl1`!v_+*F!4$U0CYm^+0VK6RMEpeoClHx>n9& z0zdZB;--;X$^GNyrxdW^j1Iy*O(_uUCP9SG{9uA#d@hOD^x_w!m z{>bDGy*Msva$eq{hb}z0qP1JzCOxdK#m}>Qd~qidK$ZC?P6iJL-zcL$b-55xFpMb3 z!X5965@)@}eHW3@{aW?NN&a9#`9^}d_$km!UZL`wVtlX-iWmJ z<9`7Q|3MG_$iSu>;DZ8&?h6n!+46R!tWi_T}BMW(BUy*ci^xoUq zK?{@YQBNdvYl!Ty6T*lr&d^^GN!^S}+}YfhV8}}PgKv&d&ARoKmqr~W)!Xnu--h1k zP$AG<;ApI=TfKdM(zxBjL8_e%?jnf4=_DYqIf`9SVg=$rZ-4zY>l`rlzB%yF`31aH z6sN%CDOf&y|F=8?;e8}H9bgEc{}mhkPbKtE@ueh&2_c9PHRNL=%fN6pQob%Fz=$w# zj+0dp36$=viW~Ezb6E5Zc>8lZLs}=qX3WW))+jqv-XaLS=0?>I_{@N*=EyX-O%NeTau6pii^8c2r#6pr|7svuV!FD!Li$p)R-ROfWfP+BPD95TrJnAg-?Z1W~S|x9qctMoy{a8gNTFPv&>kk+CDot&Gg1 z@g`5vYpb0(F!&-%+v2yMV?8I$J}>bX=d8?SYoX8p}(PB~L`49(QK$ z5lTVcM9!og)rlq4sU7vG>dc+%E!=d8qUv5l2lfrq<;z4TGJRt_4CPMh8X47&V0}*A z8F)_g`u_Y>UM%t#q2^ORkblAwq&1Q1F5n_20B$1pUwh#1eD6=li2^q_dFSg;Ng z@$^PfXF=V_#MjllQ>Lcg;Yci7}2#y*K1o)69#A1^F}hl1@Rir^A^6|>kf z@sRul{GT>OKaHK)0NB$LaI0DW+NS@l-2Ta$IVux?;W&t0FErroi_DM`jfkXf3_^j0 zW%}zr0ai9-O!1O|#rwrV@7*%maVe^Hfk4Qj*VB{y&ED;rll6T$S5RUODYc9o=sfoj z#5sK{U@LR_DN)cKOY@s#GNoY4D-iQBjJ|3TgnZ*IHlqcMzmmeMrhvy`eo%$WYp*3z zM62^V0=cB(S|OAKqmTK*sfgzQ7~9$|PZGC{^zb@JBiASe#2Il*f;|`xbMzS8m~GgL zTjy{$OqpV6N=Kn*i*zB8s)6=`FwP(vmZ_dMwNniG=>6ztTzXSN_v66Q1dN@Y9lcjQ z{m)y5lBRFWUczQmd$l`M)n+(gwWar+NTUmVNRkWgU0HIu@QZSQ>b(puzx#v%MmS5g z0yQ;nNj*lOxF6yedn@+>oLp%lO%lLr2$WAVU)ZM%gnupILoF zh!wx`V@bEg9)zCc@n4R}h>GBiFyxwqFU)SL^$hXCO{?&LZ4B^D^yw*-K62W6c+X@x zr*>#Fl=WqA+3bA491{yhJv5Jq#T_4*79O$@%;W*#G~b=LVjwM~ciV2uQrXizZ(H;F zGnEom7_5456^%@5ehHFZl;j7}rKNB@Z8VqIYBWQV!{WE}H9qgO1*;iXw%!-3(DH2Z2{T_nv&ZP|z_lKXo zQ`f1A*Jf|rcsP|Sv9+sCoiR!fl(@$g%2fE}Q347jwQv`Decw0G!84@K6qD6IQkRvL z>f{20hv%gj*qUdM=DS?q=IWn4eXnY+J@s?1jY3Y8L#bPR5rygDS}EF)>HiDSbo%V4eY zjKox@WFGQLiDn*2-gcP>qf2!MFMhkvVupUrSpaE315hFM_XPm|Pr25g%n+)sqk+wY z_|EW>T|~TG`NArdnxY&X5wW@eQ34a>lpvP;JW+1Ijc+SFJHzyNf+LOeg=gKg z%BL}1!on3PmV8Fb1zqk~py{dG3O|z4psO})ZOORdn`ha{+}e|+gM)wp+*9lw_ZPni zOFw}FHdKqJi6c{fak{8G(AS{`FwR6uio9Y@b)a@~vzi0WP*O3ioM;lbdPP!(6if;r zhw3hxyRh+e-o+wx3d_`oacm7mtfqTSW^du601fMiWkFVb&y~(u9!nlrTtQ`(hG%6< zom#zs+H^xz6e`qm17%iV{bEVMn&MNSY|3P!$gFt64443z1dw8LL$s#+(MA)}M+fW* z)}NmoE`j-(OJmC-IYpo2QPo=Y?E+fTiB4>02=F|)k0iB$Y7CL(2ucQRF;TZI1}G<^ zjM01p_-o58qUS(dj{+D#BQ#k3OE$~pjBi(al5q&yj+DT((D+bxfu*i!5`axpruXvC zjSRUuPA0AGv>Yub&&AeNZHqG`%VBImlyU*%Hea<7H4LC{g$7w;$jpR(nfl83L1YeP zl2>8ixf5zx1rLC(^N-~>hWN6@F0@M5; z$iJ~ogL53>NDC*;x3CL%_1w36yKBY+kvdaN+ED%^Wt8Th#H=Cy^fqDW7aTNJambo9 z!(npTk&`O1I0?71&&|mt5>SxPMuoNGe5x2PCUFpjQ0{{CY=3%-c1gI(Wq&tzo18Gz zUT`{1u`}3+m|&7eI5{T#l5{9!TQcQH9}Jl-s^cKs(zSUYa!~iFcb@@lhprYS2#nZP zFH5~I#fC`)TQ9SlodZvP`+j(~Y)mI@6bWV8(&-S{i3FWbMGGI35<8PcPj#*%lBc~6|$NyxSv9;>DY8cr4rHwB=Z zajh*la*c|6&_GGGq(!J;aog?-}A%& zmvc+~>4hy;`Cl(Fu-#8I)lOPv2~iiN(vbbYkx;Bdo-jF`Zq|v^@~etV{uEY&&BWww z!wowRfORx7kftsvSsqAyy*Er8w$Wl_cVboGU!Svg8c$;izdITSt^D8-um0IpRVqJsQI0Qn2Bq)ItB(hi>A{VOn?ha5(OY}+sY zM}dT&p5XKZo9w#Iz*kjG`qv%X$@;ZT=cbAUDX0G1>I#<}s*G&A!iyrYAi;4?LnH3= z3g-FqZ>jm+DwX2&oiZ2LOxZQGvCuTmDpXwe-_oW*cmvs;#9;@`7|X9|HXDA5o;pc? zT8)PV@#P|UxsGE!)QWYokmeZrE(fBO`YBgzQEX5B4a!;PrPgA9GqhAgaQqxMt;dF`8eQo*8!*dzX19FTmStNZ;Msg_}5@e-x&==Pwn8z=_oXv zd1Fd9Psp&Zz>NqI#&ZqoI?SS8Qi_i|5?XFa%~Xt-;G$8yyu8KpbCy6PKaX5gh%Kw< zteZ20q=)k0=RH0)I3USq0%1a)L6Vp8Bm2Y@_96nKBW$5`Hr80~UXfZ*qXvI0zh-{beQH8E~X>WSpbcK&??b%};4!jo$c+{52=Bt}D zs?c5wJ~Oknx{uy~tTDj~$O=#_R2|+Qus*ZmMIGErR}TtwK}rExVVB=-fMm0N;Yo39 z4@Y^--S7lYGIi4BPyf*QmGT4cP_n1?x%SbnrmJ$-acp~aN@Y^{_RW3`zXp;QTEa8}qbD;zf6S@?uwmmO!b7>G_EqV0LrR z`i}~{UJBR@+7eTk;uANAY2g+aH1(rUONiM3!h(7_S@nn=X9law8_G!Nm1J%gY}e&{ z_HoU9FmlC$Mlf@e91JM4pqw(e*iFDh7B+%jZjJFRm6yiP8ay-ihfYh$ue7sciIV~A ze&6_Rf=O6cbud^oJv6WevRrBJj=XLW{)q{_Wd*M|0Iy*N&|13x9o4t~AD?AimHrzH zG^y3_bSuVFCa4jEoYk~3m^(;UrGVw$+!N>Jbl7|xFHbCbR~t;gT1atlPUZ$L&~dW9 zu1bY|DTYgYL;7jQswGcUOMR%^T06oS$_MLubBj*P6~Z)D)XtdXW56#09NwnZHTP=} zD-WmHc8~iDcFk&#L?uoh*{e&U;t)U5i+qksY>IY&0`)fA25NIdb{{{8L&$OhNT|W? z*K5)u#E|M2U=@V0I#R{Wsipo>N3CAl^dP~)zP(RG>6hf3TE!ozAw(#dd4UI7A>9V| zWIu}8EZ@`krzLMqT&xO4p2n6-K_iSB%7LQ_15(1(%ckI0GJWuCRy6w7m4eOeVpJU% z6tV`i)+}_U-M&8mwoS2NlW?FPz*Ox4r||!y_Tk^C{3nWL_eB9F2#{FxPGm#yxj^xC zt2NLOmj{cwAT}{NX>7g=J#KBt%|{$Fc6r`#fIj5gtYu2mK#R-1oU1Ae@|YRxounjw z2)4!H|AWUzXVJPD$8pB8InQ6%pJ!M3H#Lx z8|>;3`>eau7KyGB)ltm|r|T*sSNWKr%?dM@V~yaSxFE`i7fcK=FCPFG{+=uR_iN%G zJyJ;ypv=L(G4M+;Ldj)~o(+qZ2*WbTGhPKq8=1|57bGd&3n0iO0nMZ3x>;3KzBJjhX?c}7F<>Sy$=k24f@R1|cXkkUcV^wT>2Uxf|X7!lwmq>jkOM?_{=dd)TL%*( z+kc4<3Qqr3DFr}_KSlbKL?IgxCdAO2_o)7)@kZ~~G-d5_Mat$!`BKd1l;((! z?zPL>TGa|Z^Tg-vt~4t1CZtKjy+A!dMY7MKiU}4put7+)G>-v1L|Xo3G6qGeB?I5@ zw7?HL)G@Gnh_r*)unK5N73pwAcwx`5szJ)6>kWiXoh|EfB(y<&)}d5v9v`l|bm{k4 zq^uH!1x8vlp3+G%{Ft}xTieBcC@-eVFdxABt(3~~2r3N~YygpuSyk~}mDE9Pj`OxA z;{_A(hd!5S+7rLAQH zyU{)yEgm1)knyV_^9o`ZbZ^)QwKu^w*WJNP7 zpNqK0RP2W_Eu23*zg)t1mB-LCTy?si_K&|6=;-U(yng~59SGnmG5z(?{aa15cK*{n zGK-h_SDPK+y(u>h)0%RaJJyt}tshQK-u|o~s@5@*KvSM7`Ta?n*>6@q)xll7D5dAD z=~Qls9W_+;X6b8wguRICmJg;e^HohR>PQRTrN=d#SY7iPSZOcVHV>wkiS_-u4Ejaa zMP+F-9uyJKr=GMvJzK4Crn~^<4lm>%@kV-S5o`xkgL=984w*P0QUa-7ten@ZvDyXcJWF!!HlS(9}~VktKkiNrwftN)Wjtzjo}Rt zNS)m3B;UT8n0)v$Wh|qEwr6|vY-V2| zIH}*qt1MjjhF8Kxwq*ljZUZU6KVHd>Y2WePmOa=tky&2qA#&mREu7R7=e{3+o9I-O zT1ASr#!oX1MoI9D_zw!LpGK1w)V8?V)f4i`_Q-<~qV#dZF zW=v;*Jgfl8_1_W+?&r)t7zS(2!gwlbXZP0=I)pLUyI@nE$M!dG}NnnxJ z=ky-+R^%f@W8q9Fdu7CNY5}G+S5BV&1plZGf8Fe@v&tZif6PtGy^}R9E+#DfP8RLi z9;-KOw@|}_;v!RLG&UzU67_-*P|NTe?-QN{=ePpg>==O0as4%t{#NSvr@O88Wx{$; z5LWC%Yy;9_PVTO{_GlLqMfjj)H`Ri|S+53*igIOWTc-D8IztCr5`ebt zLzK?6*ie=(Ut{yQwR-Ka&8;CP;ngh^ti>Kw|LAT(?NvdgyK>QdzsR8TWrTCRK}zxU zZEqfwqG9$2hO_^4D)!wP@guWfRJZ*Y*+aGsgj!vaQ^RZ$#Z=xC)K+*rfc7Un*Go1h zD+ikCl^T!&l;SqUQP(^fk>>`@4Yyfxs+I?gE$DUGN<4>(u<};0!3x2yx69tPo*wt% zT23N(F;EmEVK{E^JlNZb&3H5zgYb^PKS`e;zT1&C05$yprKEq4obG03Hl{|N|J5t@ zM|Pnq=e!QM$`3RxJz$s!vfiZO#Tkk05Q!N;Q)ost4cI!yq#0l4U!N|=+0)50thg{` zwtXFTHd0g@*p~-^dlbx>c!~IB8p1IoYp8aO8CA9SulE~SE}wX2!y$5R`Yj+U8m9-f zHI?!uV8(@rno+k`-+;bF8QVg-q+`+@++MSooh@l(t zvS7uY;MzpPf34e{SEkU%g7a2wcOmTCKsF+A@|tHKW?XGSKVsPv*@l`khC2nH#5(`3 zeugG`C@~ac9~&u+CXE<3Ct7nFB0O9U61klyd>12XtC>8XQW4g@N{!*>loY{B`bzFd z*L?|Tdt^a~QRN?$lujM{)qAosNS~U9QcZ14%8Jg)GK85>3~>#a@2UYQZ1ruKm5B7| zTe7yg7){P$i3$#HrecKvbv4o#_18{gaGo?-L0Ap$a52h{je{uD)Q_23V&T8-@_`$D*j!m? zuMo;W$5C^1I8tHv-Ui+54 z{E)6{F97J^0l4?y*P;KX_W38zj!h792xf#0y?KR>UWlsvY>{TQ4xi+9zQ}{m85&7S z$zG_u^r4Sz$yTbiK{qq@bjf?7l`06%li05Veg`U4#U?4D$P--isjR?}79B27r~=!V zjS1MBukeg#-+0bUYXBo$#qODG-{Cbr?x36&N@F#tGFz%Oz7{5{59pAq`2leSUcmQV zkj>2}P0ifv&n9wqZq5bd)$?|TI{c1$Duv5s4o11u!7S8izxq6PXB2h(r_b5$ zoo)KxO9N)wpG};8V+AV=>uS9KGs6S6@%(*p(SKy;|1%lLQB?wzqyMXejFZ>$3NhK$ z#a0UP!q6MDS8&7&4Wc>S)|nkr=t)_@PBOmca< zn&}5BFkcSLjGA2%8v{-;%d901UB7>D{5PkJ0%}9}yn$mdQvN>PvtVo1N?i!|URV#6 z)s8#_%zzvRX7}PVe{km-Y9mIuk1(9X2|jbTk)HvsbIGBUGLzoN>JFznn$=14I^=hb zY1t+qSgmW&iG54`6uIVvo`^+!9~u!^tF_Hu5e^?5G2unoS@YnZtcIP)5=eK>u-rhC zq{`R(>6>Vhr6?xr4|Y=e`1rMFa;0aZhc7xdyOxD(bvatC*2kr&yf`cEnsdZ={5u$F zM}#Gdy_UFzW#xLWXja zO>+SRx15bUf(uj!j{m=M_X{A;wTV@T>}S7&Fi_knslYoH=>ooXm)EE`r` zf>~vhiUkNGw(FeUCOYR95KD7t2wvy&NXPxt(yHTLr5DkCy$L@cScajA7zbnM*TEO_T?dE3)e#k zvQJAJ9X%V6v=53N;$71zzm^trQ!kQ$TII?h-V5_(>{U8xA_dJ^IPKN=71 z9|vda+(4_o%ivb-WoSy5+@ZB@l`JP8ZOe)lJa5T<##WSWS;_h3`3N3k?GlE;>NxZ^ zvh-ZdVfYlL*7g2dZixEI!War*Grs_7{ojj!|Jfe%=M*tiWkVj2(7&beD-eRCB=}~! zIqE?nlZGK441%jS($=TdMqqzzouU3fFZ4~Hw3^AzJv-9D9nh5+(}(pU+%B}E1UG&< zD{Ip}Dp<~mMJIH*&t(`aBc-zZI;0J&FIu*+^xUY!K-KK=sR6-lGT#NG*s9q81zFyN z5Ux!M?`@a*hMV)G@a327g)G(zQqg=jvunyX^nI3Z$L zL!Mkl0Yg4YEG|th`u3(~9)Hwtx>Yyq*98%M0ex;=f`ycer5c1% zP=UpiP!Tdk{A4)ZxSQ*p%j@EV=l(a7>rn8;4r+9}UgQEzaQOSA|?_frUDU!>@3Rw$q z!o$%xL!ihj$m8P)_rJQJYfGhkyJfsB;aLXE`lsZ}(_KNp?~^GROq^s%90S=KGbjw% zL){mBxraI@CpO%?3Y5^o#YM@+G9W1sgUqVvH;VxbcnFv~P;g0vRZSl9DZT6(3b z4Ptg2oF(^Og^ikQd?gVysSYALcN&k4ik2s2?V$}SQX=Ig9lf9^XQB=_mGvW(kfnL8*nDyb>ag<9{?Cz5`zV!D99gaRSAWhb8p zP<#{ma8ZNn=BHK{ka(;7e63@hJ=r@qz0P2kLOjHYyx8i^EGE{Lw|8$2PN7JmVdJ1t zr&?+CjHmXExM?iY^k$4d-k0=6^hd@ej0tRf0=fv@H*MG!OgpAcSAQxw zn7>|~cHUvU={MvlkVt!P!oOI6S$Y(>9Be72v`V!Me#ju8TP|#sv*FeDEK94PGs6Xu z;DcDz^EubWiL}s-#c`uiB7w8TC0dMvh3(~F|7rLvZtNZt|-f4 zYfUH^f4z&5*`?ZJt2Ym%JL&tD4&o;12~7L1?Cq4_^Euvwl>=v0%TQHaal;oR8Dl29 z%t=p@+Q!utH7nfzGZbwwGsLkjQ0Tlk?vj+jVvclq~#_w0p_YjDh>&?3f-&#DaSV^bwSh+eATQ1_jcob$!X=aS9oQ)e*9Cn z=Vo&=e+hD(GB<1Y*>nn3*PsdR032x(Z%?E?Z|pO2f2)IH3o(aol>AwV_P5Vd zi;Xo(n0SM{VPw#%lalkjc|hIZDC(o%LTuE(N?PR4HcJP1gVQ$~5ld(d;OcuAfrD@` zB0LG9S!>mFx4)df@rCESxdV5b*x*dlS$gI5>yBmG#1yKyGi7WV+j|W`luxu!d#V{V zNZ2o?Zh!43$6X}{x$$yBhdP`*q=Dp9zuIj^23m>yay} z!v$IFB+i;=?R)I_g*f#Cw2XMfbn`|3v(mzH<7xC|=TKBNlW#oTxqG7}4e|Scbi_L! znAi#RXtw1^{;RVI7KO{uCuJM9@=5j~9-Pc$!qrY_?(k0kDPVP>5MJ{<(d{!w%>h`F4I zal7%}^yCP<=g}LJn!F>scgCIh#?}}Rx7RfEW~T5_KMbue(_W2ud?h#R?D75GBpy$v zI>yQ+we(YMLt{>5Qc06EpfsgJh<5(lngDf(Ji=t>_5$-qklV5@3b`NQs4isZ=WD%0 zmUJ)M1x(v;b3sgZzYqjGX~&Y}4JaaN*Rb+%`J-*ZHt%HaZdK@~JM3d`xFgg?P(>To>MZ5nI={4HG)V zXT~sPmRKs*yicbPmHZ9GxPBBI`g%rmD?d{gYD<=WHDSKI>bxfV+?W|US6;J07kege zIAg08&f4O5JG<*!u%x>!@Wf6N5}YhzXFIm@Bp8YbXxft6%pJU;-2`7VNId5%xPM)D zbj^S(({PXNe6Zx9=kAC;bL7bm!}>C4@6##wx;58|sbxwMeut-*i+Z(# z;9x-#d#FyqX7f8|%_`1XQwJc+44~2Q?~&!dn`r)&NSCN@$m1~mo4|Nl1rg8AD}!|* z(u;|e5L(iFhqGA8a_zJ!)6bHjdGEHcJrPExR3=EQ?q;!=jv29NZ13q2zj$mQExLd} zUZm!$B-@HwmrQi%xv*COUsB|o2}k+-i?is|V5 z#U@qJnDj}Fec)Af9$~np2h;~T{(uq*Zv3E0R3zo?4iMKj9Bd6S3qdU|5_Do>=?j~Y z7?I=x7k6drF6J82GVHYQrFGR)eH@C%BS?JX0wkPcS08*r^n>kWgb>g-Y;hKSw#PyA=DE9MBdrC z!LToyWEL~Mw#)L$a}r#2Lj5oSGXa+%@5_c!d%dO+Hr{f_`O}LV0^@omVpnrq2~g&ZFsX?T{=tYM(q3&GxQ9oG5S3 z$s;0ny)B4>3vj7wupnbf|2;xzvUhz=62p@UtX9Lp3c@1nrY01Fvj0A=s*!Xg`dBDC zt+kPIBYK(X94x*_0F;MGN^|a*Eq%-g|JTRnFIH<^2DL}RQOdV=H=mv_LM^JQYsH2Q z!Q>{yFtHEpMfA;>QMIh#+06z1seOesyM!J|7x+)>hI7|Qhe7<=xX78g;At8^-{jle ze)HTx!nWHMF0#It+7&;22z&Y9YYnJgjl9b6Y;ls}Q zlQI$0Rn{w-vYcI`!2FX`& zK-}#^j4Kn*1Ij)n>r);9qLCw7gb4_Z11g*$HrfjmEo4x-tuuiAg87hH#|_-Z!Tm`x z5>m$0n@Vbztf29>DTC7p~U4@v{k0R}A?r zd=LEXY(prItq01nMvwkYp@Ht7@da!}s4@*FIdG#6urDy)MnVJL(4T*)+ZZSX=8n)O zP+`e!H@OFYlnGx$H(&F%9=c4GiB`DJMwU&dxEwrP8O8z67_QjLPJ)dIhb*{*Z*k&N(r`vrWB0));Z!_&5*Mx-$Xmo7!&Jis>tP8RB|umXgA3^go)LNd=EibT`>wJ zohrj`n(Ks?29`L$$=U#!?%$W`{KrG=pCUy{qJRS6@q75mFG{79J!+qiHeeAhm6$yY z|BQ_NUSJJ_N^R*z{*qN0OtSBo=jAQ;ZMu+_LvbL`1CkviJW$ZJFOkqmu>~S{Q##6d zLZymZj3OejSza33Hy<;l>APy_w8#XgwQp@co-pCWuk2y`45|#ne63#O5o)O#6Uapb z>_IOFq8kZTeHB~#?{^*{U((f;t|dOQ?K|j5n;b&orxooYO`>zpm$CN7@sVT=>H)*5wjDaD6t*4D0-w}2=CxVy#S?^J>vTrW-DnKyqwL3=9;jYdJ0-c~aNP4G?V!z?1#PX5|zY~4-bdg6{ zzo;`fg5gveGOyG#uH~^l2`g)`D=qRs>tq#v#%dkY$#FW(37VwEv8-buAOkIrE z-FKd2Ob$v=t+HAqMJ;xouiY(9Cf!>mT3s7zS8t=5%8XN*h-{*mdnYPAw{;d{n!Mgz zc_wa_FTh=|+RO*PRIgmDY-sH;SX%#xY@()-`eK}6$1cV;f+Pc!cQ{EAYLP+SCfa+V z5@2Dpya0|(n0*2b1SXa{t2 zL#mNnRts{+9_Am)fd);9rr#l=K8(E*=bd9O)_>5QQ>vOO z@7|0_r6|9~1}J9$XDWxoueoG>YcTya*%@q;`S>>FeoH?_L|crar`d~8!39n~7v!Z~ z6tqDsy{-{le3}#`dy0vlbec}OIRc;RV9{U-v_?bw9>bY>^)c=giJ3MaYp~`Ia;@`K z-wV$O*$u53a>%(@IXO_>b z&eF!Z3u~v@`jVU&i}hrS?eRDG34SI!E%)}EE^WXxkwu3p2@~)#?j5?RTr1{`bw8eN zb3EE^MprYOWcZe&J56_QcaoCbxDG$&Y?os&<`cHt+V&;EDlI~e0j~Nz)cYZsd}XeA zJcfWz7=ry+@t#uGi}9;4l!(C3`?gMXMGl{;iLb!vKc4W&=poN{UVJj;C7v*iaT7q! z#2hw}gJNt2d&<#Fe{OSBjv#yO0sBW7ZVO&NicLR&&EW1oEMed0Lrd-tQYiVp1G;^1 z9}##@Luw4`Liu}tYcG$CW{cec2tBTV1t>yQC1qix&G3hBa(*FD=XuM%XdTF((!Xbez7QLf=m*G&g3%Wu%Xd> zC`(Av_kv5;{$Pg=(iwP!EXHVZfz2O|xQ;(OmEXlE@$RxYcFcYAZMSrXo?>l z@;+AaRBn?r%d@JV=~9GW3a0`&qTh(K8QZ!(mHj->mOi*`>ULR9_TM(hQ(Ry_mNo%zGMVS0>iH?{4Ct_7~Vc zVY$5;VfY1*bU6ZAxc)wt{zlmTCp{-cUCtRWn6djpqk1hv^ReFLQUqR|RZfMc!lJUn zL}sdBp@GPetiJ#V4Tz2=?%mrRIEo;V&(#%C>hn|gR(NZC;Q+Cw#o>@x_w>?FdsJ4y7rqr1`WzdwTqI zuXFZsSqvm;Q+~$Y#5JOZGolYgf^o4F)YgPdfhwEg4uz3o`Uas*`iu7N$(|l=%No?= z>Nutq(FT*`kkd6ECT$*@!9ZS!B}sktSQERsTsI&K-Fm-RyM-0sOEAsqvJY z)F&|Et44Ght2gOd3gRcIo$_|^-fGC|MifG{!Ia$~3hD3ZYQOv{Xm=`L$rPYX%ERr7 zU?q`6*~KMnXhX=|TIW-slz*1Pq=XihWFCg5AZSJ+cGPjxBGFLk?=S^_)gdPgD}owr z+4`Vz$`ESaDys)&H~!hg93pV2MK}o3jy75;$p49%DqduwJX)eb^VqUg%iZ1mvjYx( z8@jc4kq{-TG!mHvQ}1_Ucu9S?$czhP_HYI9dy`f@->#Zxu|Cp>6Gyr+i56g{WrXy; zw$Ifw+t;lPaXTmhY@#f5F28k7ks^*Z@3m^UtPHg^(Ow~PY2;qTAo$c=LmkvMPB(%|g3hJd z4dt1#*-uFaKVB>Pyq;!T0TmQFTa+iE}Zg*_j_-1cN5wrPqACRhT>9Fwv?IcJJYkD>df7vR_v zbh-*S(lO+`h`q?fUo9tC_J9yKmL`v}j(Y%C}Sx2^FnZLe$uz8x=*XZX;$xv9cc zms-h}_ova_-cND0V)WAXA>_FzD=)lT$8 zhBt>vv_s1G5^m;MRp2#fSW zWfkL_+?pK83VP<32U^9*S7A24`k-@V#OAL=DowXWcwM{s5VG0x+x#d@ zXq8emJDwA_S}5>mCT=fmSybXjFYVrv5UbZE#@@R2aB*6GnDKc%&oOj-fBU~Ed#4~v z+I3yDY}>YN+qP}nw(YL!vTdu&wr!hTIJMR}`$Vi6vF7}DUW~{X7kQOmzIgQVwO8ss zUtV2qm?&3rcX;B>^)U1E=MBBz>E|r>TL84aq={BnJ9or>UEbo!rS-4J?h1;~ePxTn zbtsbP3OtvsTMwC~9HuuCiOTetJWej*1=7ur?xbRiR<(|$x7}w$Pag*uliD_J`-lNw z9qZaAeW)HBqA1KJzzyJ)>bPbfY5NH_kaxr46zedx5%H~iH|#Gimp5|pP+29@ftkhi zD{ZolEp($*^~*&ih!R9+q`JcX;RP3fuV%t0RXY*8$6)c~A@f8mrBLhI5xCD2{qGXP zLZIRO;PoAt)NfL!ARR*bX05fj#(QmULcbhF-Ec;KXUq0g2CYF*=1$gZ0LJ-{m%2+&VMM(ka=MshZuhLIez2QsF)W=r#)_0!mc zVf1c1og!Z}g70WNgz}0|=C_W=Vwfm#ngM&HJrPX<6!((vzu~Xi#mz4nw)zqjFNgA3 z!}?k%7IMrBSj1f$$;vAjUTB-A-iGQgkNNVqtCj~^V|dIvs+$ODV;&f5YjuL!piF|x zfegHrTnE6F)!>_WP@h~ri#K11kXg-V&Lz8;#0l8cA+7pg3W+1v6}gkjN1x_IY{(gU zVv(%mZoM8=>*$%|b`a5!lf#qrFnF2+rWym<3fxzhrWImj}!%@_h0*G{_gbNy| z_Mx9^w&|RopNtbMiiHT!_oy~=&SPJLjAiLL6^7#%D{H-|O^F5l6-ssO?3F|wkg*fW zk_{UxC4i&MLe%TeD-h)Pt;R6eaWq#-(Vn?U8iMV}Aa`xaRAk^I?;kr193RRrf8fAY zC@C{{<$@9l9ADt*@4_B2yy61dc?W_O|Jx;i47mXgyNn`aD`6|l@f&PnmkLXCtXq7L z0#kdEPyl%HfFttVy^x^fOqb`^q);0^fE!M1IAd2x>mJ9QCd)8hD8Hd#W3~Z{Q%w-J z2!7}5d-9ntj_wYL3o|CHkd0nw1Wg-OXmjNq??rsj>2jf<1GY~1v=vaws;+gxUl-&K z+E?h?E%}16Rj2v9m}Cs;c+zAJPsUG_DWUivjx0@~use|3G&v0!9Ei(d!&sy87RAQ& zsNJZkeLFP2Xj23*VuPuwJI6N#*%!t+w|&YiWq!Tcy}>Iv8Xvt9>@L3^sui~_-kYbd z)xW|wT`ymkBMuF{EuAwuryMwK1cYn)Rw zm%}#9&&SSIxB;TPHcQ*}=N;sK?Yo%HQE=;%te^iyBrw=`p5X8^DbD>cF#eJ5@h8s4 z+VH=_5bW*#Z6B>7YyTsZ?LJY5;ItK>9g)mJ8&Y#w4KNJ%H5j$k0Ms-yDsCZ>a6&IU z^~Wb&i+iXa3?PVn#Tyfk+MftXC^uo1xfxYq&c&#!@B(A*zK8g#7m|e6TfqD!Y7Ll% zov$120|pt!Sr;NXU_dVkzN%G>-z*s>R^YMC{Xd?p3s5d17A+jK(kq)KV zmwRmkqFdRYn-A)Wdp+p!fsWV3b|`aqb0b#{b|_5;bW(iK$0nsV4DP36V5u1q_ItKJ zZ7xRdg$=UC?3ohaK|t)Ub^6}h!Vn3(pof;gwoUgz1N<^zAx|T+MGl-|2M2K(5D{1D zS2FIwo)c1CY64v>e`HOT?WL2LdMRc+4hu7yj7eORD2tp>3s*C_&RFa!nM{VxasS)# zW~aF&@N{H`iDw|0Rdo!u86#)JrKu@7UVYc}T=H?ch+EaKEpnO(tr_jPx85L31D-z} zcd~fbwQ5}^`G2?Fx3go*U^ieMSc>?TzuJnRb1Dseh?uajZDhA2DsB%kl0p)%3t%%E zeMSM;{=f}L1adrV5Q4PSgL_R^av2}m6plK8r9R9X$Rxe#z`s_5 z)J1Y*!okl`jDr?P{`=MGW-NQ2Gd6Twn@Z)Kt%lMC&@y>+RoUO5y%5&6|^Je5iy=u4JA0NXcB2)R9>0bW8Zyw`sMJD!W zod#^qosnmlwcJMPrRhqY#tBj4CdH>9_Dgt0OH#$tR`%9Qbw!7APsm<*@L@h zP)s}wHq&%qMwLDo(K*zZbISoyGLgA6UB zIR}GWmRKvJv{1$;$Pwik3Mf)_#%NxS@{qkhbK_czJZ6sM0^3em{uQdmUAoAf=fBs?r($CFn`nF>L~6lU2m7|>FjI#zd71_y4t;*Ki?1Rf1LRBdvbkz*gbjQ zZnS58-g_fyR45N~Bu)EHgr%4@lyke?faD z)32G!q~zEG`L1+pQbQA`{Mpb=JpR*IdifB*$Y?yK=)UN%z?L-DQUNBwI<@Y^C|}n; z%H{ftZFjwnhe5;I|C9}j(Q$vOWq6_)KsGWYl+aS`F^nQnaW8Zjy`bYi5WuzS0qikcT-zL}`CO{EJhfWL_YduY+T z=?Gc)=BoKTI3Y&y#*kE3@oyL$?W0tR{7oT@jM)UUTDuUi3$bdE$TI6G?J02sl<~Bg zkdTItYi|5-fz78;)z(A!OEeE%U-$>JZMt@rU!SIxu-W&ck%m~DG6YuA%%eOIjS2`l zw=R?{D|nPu?7N$DT}lgGD7VEJF$#pRdD;>}-f>QQW}0BSg`P&P+Cm-T=#vPi{G*yf zN1HUy)~+NSz@JmM3Zu1^!!R}>eCKx6!9qv$Tz ztElk`IbB@dwx3-sZUCGoHyY6K*SKKX?~Q?wWKk19W_R;Ann+np=N+mmQ1Jn|g;cP_ z##*&uwNib+jTp4D%>I;I(ZGJjvWG7;b)sN3ivJPxBcVVObjC7#p!YNd!mu~KnZmo= z;x+<2;%QyKheq!rbQ1?tpZ%U~*;s)1xQSnOvbT(XkJ9=aZ(M zwNS4&5rkN!P)N_g5*G@y($r1^No;{&5{LKQJzJmKxvkCo*FJ7x)j=1sbG%nfwl#KbKLHc}Mp(xm((= zJX8KxBVocaHhWxYtR2joSWvX=OWGL+Ua1@$63(;E&_B7vmRPXCNVla*tfzI*Z-q~{ zAD1>J?lpRwWnzx~VWvXP$f#h&shhCej7+xXXti+m1aR`%NOu0m?&4k;k9fFW>*$x2 z^l&%;ovL!e1Q>3S;J$ad zxVsBKiq&`wF|ZB!w^IF%{tI?wFhKv^8AtiKy)^6*DrnI}=8IoUPn^F6Gh)%`VZ^igP z({Kj}$#&tV^(2;;(hypC<8z0bg9}*wA7YKM9-ktmR1H!jzP6wOwLw{e8--h)1 zy`3L#T^(AT27cwmLcv2E+%~f^j7Cm!*T+)L#nzYZMn$V_`+rUYM#k-JMG>jg>pEUd zZxA%H>b;2GYLj1lS-xo)^e{>Lx(JnTfCIsX8Km9basU`T&q54Rdi~`J6*J#D7mc@; zCjuz;>g!^M&PA}l#dUGlT-|aM!n#dhI8T&$w9<_3HGD(0%c8x42>i)fwks-6&k}C- zDa-1mwCyRFONIFj`n|R*aNb33XKk@*&5>*H`a(p)e259=2 zCUaqy+Rm5nTkc3j=wy{qCV&cX^TD6A=II8YYrs*GCy$wk7}4+e{k;krGisJtb*G6$ z#&i7e_PW0x`$;(;?lI$JIreVxt}~!ZgYMbwuPttt1<_hr*SQ@U<~61{&&8^Xt+BPm z$0~#NA=La6uUFSRDX6I_G5g9f{6G#VHmqy%!4oB4XyQxKFv6Han-;Glp&FF7tn>S3 zXgoU}{Gl=;kC*$7?>X;2ht&X-*YI01TlXE6*>+)ZeL5u7rL@&RQ;pi#HG55qne@5u zT3Vs1JT|ct>X`BHC+f;jJD9NN^^Wu)n$_$DSXvJxQNqO?U3GpyRK`?4)>B|wz|@s) z3HI;RIeL(JyM~tsn_^eo{uFw?zgGa?SGN8~e2`q6De8=A=q>(4h5Lt?pOGr9j+C(7 z%Y51;V2D|PrGVjf|AvLUFj-XHP!2-%^2I&O&Ds(LKuJqNU>mA|pOmby_W)*diUTqhe=HKuLnWi_1AnpiV zL|#G+nhdJiBQ%e6FxIw+wn14vJ)3&s*@(oPNM-(4R`Er>z-Cwi*sh58ze}kEGeH#Y zDdc(*EH5Izw#B5s?C#gzm@+-xxIS%M`95uM!6CYRpC;Vx_3vc6Vl*Rro3-@cRn@&_bYQ)KxNEf+7bz+Q%327|)5-whs}Nfrd*s0N zCr;SX3cb_UXFBX=vs#o?z8EmJk8yG<99O}K2MJm?j`7^E&WsF`IJ-0`Vhy3Nll_qzEHnPex487N3cj;`mVIL*BZ+wUO&Z?##p#4TehrJ zyON#qz@f~kEdyTbzdbduFLRoQCZtYqz(qx2KA5wuw$=Ph$I4o2>}uCX{-Jrs(+u!1 z4`sffR1n7w1Ug03(HH%&{OzjlmE9tRW=T$!|~#e;ldN0FaZ`qAXh1Ti>h08_ir5LPZ_W52S=pm#jd(Qy`9f5(JQDVDc`Wdb<>e| zf6>KkSapPgb<&b5ig3y>3hG?mCYgSo^IUeo1=eU=82(UaIy7@`9cdryW#~a^VR`XK zckF@!@WSym)uy(wd2nHBPSSo?fuI!S^RWm-TI6O8@1(!CsN*jAIhYKhxyCIA7G^sB zWRbC`6@A=2h^BFysuN+sa8Y(pc0FAf{5e6=n`bz7ltE0 z27iyi{iQq=S7L?vZevan&fSE$P4nK-{&u*ue}1<|y7;!dKNHjwYd67*$v}FzkjEo< zp`a+g-#dea^p}^;MW!-{lla!_?|Gjr7xt!e==U}@7y_9ta=zTS6SRh9|A77gYk#}n zTw5X~+UetXFqODT`66NhFR26if)M;|z@ZZ{6jgsqg!1?|m68LCy3-}j_}egU^7v=I zQGG@GJ2Sz$&apV&{-ru^B%>a;|7^y7{g^tC{HN+HBPlE@r!4yKO0%i**pGAEe<{Af zI7tJtuG5Jq1|(c2)zDz2;<5{A=Fp%sStL3Hzj~M(7KmsKMl-HxnU$C^G)BRsHZaj) zb&MQ_G_K)i`me)4(zj53JYK#Iuzh@j?6;dOEpRDXgR{HaKhL)8Sg?@?9$Zge^uO~y zM3VFJZ%4LP#YV#ojPJwyK{PfPy};Rdm+cC7vRO1*3r|Ca(#S4tW6-i~KyVnd%~wO0 zNf*rPV21;CgxH%5&6y zPJP`svD4Q@e6+c1xQ5wws6>;mV$sg2=PM{ACbiWcuAg5(8bgJT4^% zr9GRxz0H2#St=(Io-!5y&u8{;zqm<%n>Dy{*ok3>!+1&0W*ZNf6dk%W#Q1bQ0Ty72 zhe4pZ%IkesWP3@x2cl(7Q%9wEVtsryBV(^UW8f%dS(d!CHALQ(o*|i*`Cg37@h3L_ z1jr;6zJ}I=NnZ_rGbN`lMDO|tm6Jod1Pty}=1MzSj3BZdcQG6`$0?o<$q~F~+}^g} z?(Gi#d8wVUKFotITdLA@rWIJOTRay;D+qwrGxkaB*J5*SwgTX0sm&5sVBTFK{t+4{ z2ENuW7Ssq@lA%v1K~0WP(W{46UGKr2P=)G8|Cs?1#0C}d2ums;s|%fd!x8o)mtNyB zvmwilVlbBi4kulSom3}Xsna=Am( zdK9cli`Uwo!Oo~`K*;DqE{oYo-4_Whxlfu91q0Q;^=6c%6q$=zmpeD$MNc8(i|g%5 ztRTW}ufU2m45M>>Fn6J~P6S+OC<&cx(lUuzjzqQs>Tj3IQLtFLJttZfx~o9*2gpb0 z5~1Ode>(SBxn%#J1dMoLWMs-8PTUIy0Koqiss8_O*8UMBTCHJgf6#{bRioceL~B#p zlGA+!C>r$W<-PSBw5^BUdIlJZD9|Lbu_;j?rSx1e^!36wh%PC2xy7p!2$B#!n7PMX zdkDJlQKwN^Af2>iug2fwJLreDE}_a_bzY)18f8Be{B7s@hLHJH0OwlnVTh+D`f-^F zF4ZfFO5|%V)*z^H`B^JCmVwdQV`ZwzVBBt-Z$o`mqf75$*Kds0e#y?SABl7wT2G^n zAd^G=t(q3x4LoEk`9)S`=tiDVR=pThy)h+bQNk88h(PNx1kx1v2UcQ@x;2-vm^Zkp z)$*R1-n75^HtC}!(y+L!^+)iWHi2b!mlX*gJ6cWgUff}T`b|*TVpLpJB%9nRbem*L z(7Pv4y3IuUwKZSA%SkDdMS_lg2?yjDMbf?_IY^R;7U-XGU1dA@%x2bBIdCP8_IhNZUf!R}(nFWJ7`!YB=~H{yIe?l^VP`Rg+9I!PF@2 zHzDQ~);CPF=iGnYDb_X7Y-7_$fupzVxrR0X$aag9w-RKB(|zbbzsD{Om6)#c*VvvU zuoQtAPHcN0yVO$3P%`*07T+T)#vp}o{k=o@(t9u-#(2EXp+abB12Pn&0bu@3$kP8xG z?j%?Y_;h*v8>e>p@X;YK-fH!w4g_CBS0XQXj1YWAI`EcH|*J zRZFoJF?>U7E~oH00h6qkXC}$_EtkU|&QRYTtx3`=aWMB4$$F7-K=o!>C;P0upSOt?ZbUi&E7G@tjO z!ZR9e?w^*H4!rg&G}t^f_nbkHGRJjB0b`m8v=QF4HLTpb;8thXa99M6hbH8Sh^-O` zNrRC6k!PzNBSQ`ges#NP26HT`59_(^uHCjYJvgGe8S0({;gSS-(|QeE)*-Wos@KA( zJt2xA?NFpFD)B`%WH-t+U-nr~G%VYp`A_QTVd`fOg9oT)F3}FmQNoxNGKct*yy_>U z0+VxLwI?&h`D|)4JyU2){yFqhl%kg7Otq4CIq&lfETg4j6sC_@_kfJXwv&O!MlC2g zY*)scPlCJc8S3Xn(LMFqW{?mDQAl^{QSsciQpr%v6-mL48$@*`o0aDN1Dw+AN{l^= zB&8RWY<(YQ`Fja~w+ zEtq2{GMH#j)Wb2wcog3$xN=3b>?{iI==oYD+L0J~z22_*yo5OqEify69HIcQUF@I_ zB1!3XWHwwMS>?EG=x|ly?9zZG-!J(yKWIb+aLzTbV5w)y`6l#lZs|U5|5m3-u+gbV zlPjUi+FT2Vout$q)N%VV(+Ghvphkg(8>a+w(*Bk6oH=;oi3DcmO+X919JXrOxd2w1 zD34&y@2H8@qq1ehLV9NiHgy*uVTy4S7)>0n{jgHuSw-6Czlfwl*Wt8xFB&6lRS5A_ zFDzkCdzbAW445=`{5^$V7;NnkMXPt2XUo2*g&tSkN2ZEoFX0Xf9dSQ(feudO(c57e z0iC-CU8SoF!=+!$Vgq!QGvC&$T4T#83&{xvPwiA{+0O*R;7N2SlQBiR;mBz8wBT>u zHQ-4!NlIWox{{Ec3GI}fgF{pQ=ywDQ$QL>QV#B?3B0^v6WmU>Eactzfu;b+cO!a-^ zd8@>(7s(fgNl5X1L?#g6(`i(abYb4P#m zXWi9B8-8Mp{IPpYMo>hQy-ZHtu&@&b3FXCzvJ(M41ur8daw&w6m`)%H1|PRQH{CXi z1{`-OK~O?Lt1P?iRZYK5RJZeah(*?Z@UQys0;^atmsS}TG^iU^OKJBAcAY`>?khjX zdxn>)6rL5Edm!P0QjwI}5rQHYP1GV|vAnK=g3wGCag%6Y{1clx6hS6<<#C#f5I?y? z%`($#h`3#~F$HKSg4+$8r8|Vd5zU}plXejf9E=%fAf9W?YwG@LfAx=*_Qys%;u3KS z%A+soD%O=PL~x*=eLkb;+U2=cm(V*Me}_R9iQ6zI;!BcMWaatC8)))2 z69`mwWkc^SmyFEf!tlf+cgF@qEF)&6h|K5h)AXF&;dOb{6J^4F*^|Xc$JU?C{11jR zhE0JLb#?VZ(#gC(d0~MUFE&VaIVHM(vH0(#_`q~ITi@)wQtI*)o}ZXacjc)$aB;iQ zWf1r3C8TwZ95d3};-+)O1_cKO?k-@Lt0i}xS!7MXjSLTw*iB%!+c@`~_3m({3E3rs z+Dg=Xwn>TQH^0ten7gREz=0Ml(KktY{{XWy#sYodJv~4{90od6SziLszmVmBE914D z=?D2Gw3ksrs@q>*X|*Ej1^z~ba5Sd(M`CIdCGu#am}`V*O|T}^!oiTJ_l%RD z`Q-XXe)u1^hyO1Y`Jb4?TWbHuQl_o67}he25sX+@`;@{M-ncNOf7_>Jro4>CG--3u zC7D%dS!QFkw-94&od7Yyz7rot3LXp}vlnZ2BtFghu@;yV<+`bEBMGX_vWutqI6=nSJZsRbb zgd*e$p?S`1&P)jC*Xu8|xS8%|P+I`ig&=o>Vm4H+x~FyXkvlWkqJF+#Z^CjQm8{Cy zJ$f`~UFmY$bZ9GUBu^e^hq6QZ_=g9BUV2=Mh&L>YX&(avXF>0aJU3W%Ls^5GgJ`77 z^HTuaWsg;K(oB@t+Tl^G>kyQL#0-a4g&f^esFVut+r-JHnpBEVRL8fP+AH~zjPW2ZTOYwT9{kLZVO~Qzj1@dfFg~blkr! z>BF3m*aK_C1>Ma3BN~rxT0urCu)DLZjXfGHP@A1kt)Ks;Ri9hD`6zXAYJIDS%}yTU3?K%*JP71aa$u zP;$201*JESfA-1-jGaPi|6i+hr>J8v6G~;Y$z;hd*kxd{Ob^LYk0b~Zx$U481aeo^V#AE}_O{8jf3w|(u59FNmQP))JfD|g|j_Dy-fS62IB zFQnmxU(WMZ`6@TkhRqdO6IPbz}y61?7N@&PqkM7<`3r7Hyz#>x<7KpFH#noJWw zV`>;6S|m@+Gy^5H=`i_6XOf9ZyUJH$*ZqcMdA=T6y&f2Pgne5T3<|=KHlyZ#?2Y _sQ1O#Dv^+7SUH(*r2y5a=Sh_$!26uyHBf=YO8|> z_lIIO-u#e=8*-h4tFC61%saYgpT1}TO6R7_&EGjK1jNE;l~gb1a1Cgmm=ve)-U6r| zq>PocAD+{qVeF1;8(p69Y@~FSLp41VTViyxR#N_m%8td2o4mN`X>YAth&@V(%qTgI z&pxJJYJb8`i^7$nIdE;JU=m=_GzfANb%p8J-NzZJaULaJbd|vA!-bz#cV{i5Z8_3x z>(kc-+lX8L*^-{R*YfC|U7gu2e(aNJUF7l&x$(-6?q+(ndB;E3Jg-@q+S@xtdRMelM`+YaNmo7?P@F3a_$->6%LKXp<+5!N3@rQW z>hk=3|Gu@(H1A|&ZEXK!Y2PvrU0-en9k{b(Zzo#Gz$bF^&k5*^z5nl$oxn{tvUdfo zb-0`NKO7?js190p08%A+;D%?WAVugH*a|N6r-F0&Rtl|~0bQ{)b1~sLI%gu%v3LkL zSV!uE+ylH!E30&0rfvG&i28-BHzTEJ_PlnV|LvUgqkj0go&jgn{`={|mkg{w1~!;m^51fdv4d{$~&WC#;uPwHxJ4HiS<<{~@O2el{Go zqRbZOmFyHs$*fEk1`?Tdz=79G)|35Y97(?4hhHx>ej4WZ;%Dd_W0j>_rKPPI$42j})dwP33?>#Jy-JPAtqr5W!P^j<* zrGpEUCpyTa>V!5vN^*DHC8wJR%+JJKt7p(y2 zP3Z0C2%?<~d5Ie%Yd1DM4dAw`UO@b7Fj)41JMSwtQwvB@l$w7AVOowKCJ=f+WL%6b zHAv{TJ+4k=7;KpI+#&5sX*X0;a%p>Op;jd@=dNVjFs-3W2>frgV7Y)J@1lc)E?t6U z0LC_YUmGw5sf0?4KpSl(R0#wnaL&s4wqo^zBp7X?L+rUot?vZr7-3NpZKEDZyJ{pK zl$07eA7K^{G+LiEJ!z+#iO^{oUW6!kVSEw+PY&;9jJoZg80n#T&gY=VqVQdzCqxS& ze;Q~AT`N43%4~eohNIruKG2Pvj>Hxl`f>scU=m0iM>Gm?`nzgNRTm*BC8;VZ=Y%yF z$gB;j2we@h(|CHV?|4()R4N#;egwFJhfnEWT!GfrE38*`P$>#b?k<$SNRy!!bf}9G z$%;l|%ER3-He0XnaB+z8v4`UB;9u)jB7 z=(dp&EmfQI*7t3VHa6IVZ$$ekBrQJwyvj)fp?--|P9<{NCeloH5FTn2ts7OLHcbb# zmyjpW@v$+)MXUCE(M$JjeXiCWL%KUl+k1NwxnXv?Z0e*>=&2&(b=eVq7V? zU!_Z@w$yA~6lO3!@m}xmxX@tEE6~u&Tw~QhF==mV{-vXDL7i~RaMU%BLc13&tr5vXA`N5MwwDnKGP9)j~kt4>j8N}8^7lDsXX0| zIgMZ7N?6?|+>U8;jUjsP(a!J7t)dT69ypF_E8P%Y%oZiL)0?4f-&MuPH}Wyy-~W;k ziU=eT)A{p>m-vwp(*3iqFrAB&p_`>Mou{qMzr!SK6{M|z8DX|&DDhAlC~&>=tPcT( zGUrI>uqHH|g!04V4~k&(H6^|H@%9toSaB?(Ntk{8&K&YK05P~%(b=AEg5^lfI+Z;| z%OP=+S$AQ@tPV)Xsc7L(Mq~P@bWOz1yZj9FVH*=#Y=r5iVu>B~sDyv4=$2{9E9*l> zn-ebHxcf8pM1&~Akz!sqcv(9ez5~Pur@)jMKDKi=j*YZH_#JwB4O82h%H98Fe8`Sg zshevurX9`j=={qt1mkDK5b@K*@&AA||EpN%e^$YN0NLm&ZN&X3w0&RHV?5SVmApL5 zDk>_hf;6kbNSr2>@SGX{s75GW{+PtLlhti)NfBBMn@^kKY+0QB+XvFP&&Jr9CxWHyX5cMmJ|pf>pYLiM(ErM?n#Dl`vb43D5Potn zoqH)8I9#ghL1J1s0&>XwvuV2w{F*|!;8FYaWD62YdTs@?`nZ^rhNT$yVh3Q~5rmpC@)jz0pTaip8Q@=AYHB&wJT1hG?5LJ@61pw`wOLT5^J#~YBk zM&;O~Qtl==7n^p;wgvfA-d7<|^op#jlu(CK84)Y-imP4*di(*3VwF#ljIy8W&iWYA z>`}irtTy~bDjhf#Dq!xD2$505ppxUz9%(Sf{t>uIIhr6UTbJFrrKJ#^k2gZT%p^@I zmQ$={h-oNQ{2hC3LP)eLh1QgiI-ZdGgTO!}Qm#uWJDTRJ4rXHuLM&|vb$Mt) zb1%g567O0eo{<_MavMwTNYv~qx)6NX-~FP3%U6M?_qMZVPotF?k_E#luX-48Jm1Kf zU{*3j{k~Mi(rdJUJH&K6h#}5Ix5Ob~7&Um!7%qyN~(sP`qH zY=^*bPR2NfZYM+HgB1qAjRjOt7EfwOA4vBBv%-;#k?qyz_e95pWCsEbCCKZ}GDm#9 z+<#0uR2BP+t~dOMSw<*Z`?p92s1yi6Jxc@fh4GStjDV(v_nY==;)on!s4532OUy_z zCW_s&Wx(d4PPz7jLK5_WPIk$*Gqg(&FL3wYWFY8tcA`-TJR)0bLQWRa(#~l>nTEb| z00)g^k)e(QS;i~^I6z~3=;b&`MtmwLiwcv$*%O8_yrQcZ41%E`#ynV{J^-SEaslHB zM~o32Gk`e{LKGtiLHtmh?1)hAv;XACDa0pc2nGf!76VlweWS?1C`usC=GomdLjf;2 z@iCMN$8GrI`YvV+km7d99eY&%B1x~2>51yT75Ubcc|-+GiWuxGZa10SB+cuOFu7a0 zV;_e$4ifsa8kzg#46q-lxWbPPN;Ji|lCo%?*Dq$B7#%r>{7WqeNcA@yz%jD?UK`4o zAen-27j`VpS1=Fu0|(CeA1rT05lyrwiP?>S5hM(zViO5MFk}k)L7Hz@wroS?U@Mwe zlmaeR6PXF`ZBq&JHa3?r)Fg=S;09__28c6Ya#6Upq7TNt763>e-(LuP zrSLI{C?|X+hAdISKo`iN1g z{+JJTAn<^zuy`)k%BaSlDtlt(6X_uPSQLXA4!Z590%Q4HdCbiSg2t1l`<0dT*C*F% zi^;H#V9c7-@%M15z*_eU`}lSh-~Gv5_p8jAK|am~C9d(xfY8qSCV|OX+3^FT*OR5C zP{J!6DCgWKutbBU|` zdqUj5$ABOzJ=qiJJoEpO=q&#pisXP{f%xs8nN5~f(!ycDjO%PMZ*a=UidAP2zMFow zun?yiU#e}1fr2Bi=3VFL`t{hASM#cTd6RU7>5@9CEMZ}T5m9rteqM{}!@~Tx503z# z2>y3c=ea_P6#YKqkute>EcN9(qd;3Ki!*TFeq^pQ(?||Gg9rhK@Scq?D{XlT*;|O5 zBCHnC80I!BuGQ~7Ql!3|-$0olv!Qj_aMy6V^7b5md=-q2+sVOJNkOWF?UHsptC~ES zmI9>guRH8O4SK==AVakj_zcvLu&(RhG^G!?K2ceyGiaer&l)6kfpGkov0qsbgosCe z2af!T+Ey24@0G}ZI;vXB(pOqYo77KBlU}Q4)FtXPt2-{1zOHerR(VWCh*#RJ2KIsk z3A@6%tg^6Z@uETJpI`8okihh*BH#^6mE@PxVEBwrnvJ7Dt3aJII?&uHS|$eSvI&w< z^{#j!)@4x3E6+Tfwn&-U^OI=8psQvtk+6#(IEeK6RhntA04I`0q5eBAdLjhgScA9$ zT*?c$B3-{5W8jfw4%(`Nt4%fd!d7Ah0@a6Nlgjakzg}~~;3kC)TnSV|tXwmYI-K@0 zKn-Zr1Bst2QU!QFU45>Y1*~^w8X3_?f-6AsR1xinpc9^qW>r()VdhqlCIoB%wQlH^ zcC}o#%k8c2S9cr_F1P{5y^j_n&)UUpGKUJ_Xi_M?LK!Pg15`YG#lo3Sz;&n#Uqp46 zws6~mNK8{*a*+HcYjf-7Bh6hcN9|%Q7`)8o^F*Y>ce?o0A$Al#uiryRlZ8Ef-{1>Yce; zHFn>hk5rj<(n%aaEkh=*ti`PTB|k9>;n_rd8835RElR5PWNmh6Vey?D+!A)LwRCy4 z$NS6{zbMPRQJOML_*-@z-dxpnle;%!s$-mXWhLAsdoyRkd_*U49x3=cg#5POfa8&u zG35_(O3p8RKwIKVw=;x{%5FmMOSyB%u8W3_E4V{!)-q;y>L;+`%UZwhQ)6&HJpT}u z3mjgjyPd+vbmMMXFUP>zC6Lslaqr#8PtI0uEN@tf362Z$mM$6By{WEHxOf8y{ zztZs^ud&pYC0&40Z;rN%OtsbsIgxx=7*0FTj<}uZAywmlph&v$JcV&J2<~W=o!Wr3 zyGqT|51nQ1`g{0V%HkKY)CDFL&4N=BSy|F|+NG2?Igz0@I+;?X ztJrMLCN_tWHpf_K0}@APxy`N`EsWyJgptx>>%$aRZ;nL+abMs{%@>zh9W0L~O=RMj z$aV`84<61zC9a@ywR5cT{eGWdIR3FevctwPwfOirzuIX1<$km6y6x}Td+-N*!Y%0G zZBq{6qY3%XmCXu zsgtK3-E+sib#Hn#At`9SJn?F&fwN0L*Td14GoPxRe0yQGnQo#tTFuJsn~gW1jwXAH z2TPx}gcn>i;{Zo))@9BB+-f^@nW7!i$)q~Ew>)v8yibZPzkq{_dxhb?zyBpHoJ?hR zZ~F&ZOG5zwp!sK0_dlXLHUH3^HaL*}i|(}H6VZ(>?P$W?;yh%ezrF#qR%Efh!R><1 zNUGSPmAROxf^#tY?KhKc# z+uwT%EC;g^y4_3)9AB-OZZOK4SPh(-#O~7qry^5IR>g@rCe}k$M5L#F;~qr+`Yhao z(8j|Gh}Nc>)O**IHmr@s`0I~=Z9kJC6fF}zUMyL$VwI}-D3aZ+-dLXogY(urP@E8T zJLTA8v0m9%wk^tog}5J9_# zA>BTQ8x<)1ovzHBi@u;m1HS+-BKe>%+L>hE99e_gcpyX5>@i;9;+Nn#$ z9?QOmOk8e!*tvqN5szMXxGO*)`3_uLunpr1Kp30U zIOZz!?AN1(lfv!G8OVx)mXUv4!6nEwKyt<6@e`W2@j$|RK@tT%K#2gs(m5t;D z3yKiBX)7i&)urv4y2PuNQ>E(zAhpy^;}Ak7`cUT*+UR=zhxFLKWa)=?x2r8v2lk(m+XC-NQeI5pomFqTH z57f_|t0!no7tF}|P-LM9G)rC%33rO91pK&4X^B5`^kdG676n&=M^AeT?uZHz?ft+? zy3$pM+*~0eM_ot7#~|j0;iMy@AAy71ngN%vY;{2EXoyU|IBAAa^TD&a6gJUX$Nxjw zS%tL$MO&H*)*^-CT3my>JCx!ML5e%Uf=dgf#VPJk2p%9sf=i*eL$IJN?iO69cfOg2 znQ!jQou~75Ue12l`>eIszp%$ln!?F$P&V>r<8>8XIk1Zj$FlDOjHS2E-R~gH9?iik=#`3~G-}#nhh+RbCwnKZt*)eFk zq$1CqzO@E`Z+PM|tH%VFB~>mhNH%2&3fI2V49&Qte`KBP;`SEqN`%%HVTTpn9eY>s zl9G)uL&7PzJIrKTPTkx}iFPQ$cJQoA+nqFkVp&>=F8y!BDS(an2N+VjSt}G1e6k`SV85~wFW!o53Qtozmz&dwd zf~hGERUJv6Wb2sAxMb0mqA|X<&gzHXWiR?(J^q9~YgJEdq5G3}@4ITeo;B+EQXiK| z$k>9!h!Bp#ig1k5{(Y;!xbV440;a-ZrzKM6keT&Euxn4>myUAdjkv^XgU%IdqD68< z&P9CM?@w|A09y=V3c91lk{qX|&-kAfujc03r*>16a|Z}+u??mnlav>8(CuVyhcsH7 zN^kk3E}FCkvw>o?Gy+fKIvt^Bm!^U23#v)rW$c-vMM^g5C5NTI%EQ|x0VjXB{U}i? zvXdKfqNQDNLQWzrR9svi zW44=;x5;bMb(5sfh{#wCh+LS+L-m09$QpV6)@vz^(rvG?^@zw)i7l_1H;BRWwH%8P z79{V2mzRfBb5rEADgPmRD_&BG-0hkHyY~{t3Ue!njT4`~>Pwcnbj0q? zt!Kz7{MRl2QJaiJ!ij$~*8iTNl}0t`s{T*4_z$1bf3b(+vh{Ltbo2JK{=exK!8)yO zzj<($P{d#DUzh0;vEFhhVw#iyg=;syr@Unt=uD5M^$>e$!ni_RF1}kkTub%vJ=BJD zd9Ujm#RVgg_Uk!%0#>mNarDTK0>qyse~=w@H9P|Ujt3V6P<=mxSrr;^&4*i322_rs z6;(bwFQ>sB-f^Ey(>Y~_PZZSs!Um+9?A)?0RInVX@JZ#nF*JMd6NdBS88sAJo5bXZ zzcb#X&QXtRzh`XXtepe=nHb-^N_Wjge<^<6&2QQP_}QOaGXc84{&>Q<2F)7Ox*8z+RklpoW7aGT|Bw9JcC!~)Gu$S; zjb!;O!LhP#>!oC=rLYQdGC3fn4Lpt`v&NZ}z3FZ2m9q37zgK!sls;ahCF2nB@5$Q!g)DOa*V^9yswpN_R~>|q`G+qx zj2$Vi+5@w*ro5uV!}|P^Fx zc;uj>+ZR7iA1>TZn@6${%?Qf$&NIspK{)Y} zE-6eaM{0|%qp9=Vt`PYJI6)AG$%?FRE|`9eejo00?S* zkF`0Ntz_*`H*rKHv=P?Z`&0WTW$rJvUJef_KFg2K@0lxqTuJ-q-2Znj>Hpb_LiL~2 zj-RKky{(`7|Az_1tX+5zkd1~$jrROM)%O19t^eZ$Sh~3Uzx0lFe?!XmX+n=rIl8NK zF_-@q&e=%WnA+N#HRjX+QkxZd=&TI#&z)XJC4O;T*lK;s+g4IIBAnNsSw=ll!n*;8BE(pD_|&GYO_4Xb zSnrf(xiPH{Y4dq?c4o)bZh6dYYj)QrHspY7f@9w*&&(pBlyufA2rN0cRUupFZ)Y~X zVvj;)58_b>C@GI`8~4SsJ|C~+(C>AT>fBtM%tnq*wTzK~Kvjqvmzwz*$)9})U7Q}j z&jjMsUS!%`XMA;IZY#0&!msyj_)IuEGxKa|HAH6TkU>!z9YeKeoGx6Ib;w=Ze%f`O zY!e{BYoTV$-fQN%&P9|$lO#~5@2Nd2cligV7%V_|{BheZ*0Hu@75{vx^Y_y3Z5|f$ z0kEqTc|DS~s#bciaVF`$iEWaA9U$GBiIxQ5X&goZe}tbO=$UtB+Cv)A^6b6N#gb1A z-#VD7*@1XmEgoVr`|NMNgxuP==B}#!O zAw`X|!#CH<4w=R~Ykn{5%}y@lr3{_J0DpEkYX@)QZ?un5>*-md#*28;7;VD4sd_K<(>+UDlIXigicVNf77CnR49v+Apzw9y@XUAI2HA zgx+cN{ke_{P^LtM@kry43@U$w{j*<(>gZxzotR*znP)fR^$)H-ug|6Ti8eoM z*~Qf1BX>U+GyCJScH{s+usX?(YQfN`0HEg?7_dF#;2+@sDSqU0Msej?M;hseAU?5C z6HjLqz|$H9WG)G~0wWupRAh!82i?<&FQz++{3g@?)+EqA(wFE2*zooa$joJ{O-t=a zy5i`3zGt~y1~&?V%x&@SpUej_iZ}x_WSv#XYZjD*lQ%g!lrC`}u9O_zHDoJD{4s8v ze-qt8oGR(@_+FQwqQy8CEPkgRupn9}hQ6Pxflzr266 z=O?V8ojYyU-VVoj2?=8~p||dS-XsSlkY&_*!T?zJ7SVd=9YA*Qc;#>f>(9qaAW??J zi|5BT#G6ymNZe6?%q3Q&qykQN*C&xedyBG;xum|z+~(ewz8y9yPLgK40vAWna!%h6 z^?vEb#@vTA!Qa(w#Ay-oyCL4UPV=zlJgVNMx+5%2^5ikluN*mKhKb zWHYxHW|Ww_e59!q+7AC$`vPY19$(na-x#|OX_S>`GLhUr8pUKyq|6u>)P*!&-UwiZBFPo-E4dOf>CmU7K8oHV* zC3T2;m;Pp}U6-e*>Y)k`_|etH8}HD1A6aLg_H)xNn{~{%vAMn>RjxrKKlta;Az`&y zJjv?o+egwpC#@UwEZp7Q{QxFuZkg9zIVib9p5f7HWs zRwIeD^(4)M_=|s$lJCSafQ%f%(>ij;Ry5;cD@YPl{N=1R!Q{N$tjnWy{NZ$zr0Y;z zXG%Gf$-ktteTQGczY6Y&&xUPhF{_wz@MoXgGF~~582HHi_Ge}yFBzW&GSTU7F((wEC0d$u3s>1 z1ahl-J2UXsS!#-$4wbVbD~99`<7dYl9||NQYgZv|DJ^!iL@8y>EH5QdiKpg0>-2st zZp)?Ok!Q)(DOnzAH#}Sy~ zlP=+em=#+WYD_0?R?x~y%aOxVw%x!u;*pgKI`ZqWQx2L8l1sq0u7MI!jY{Ay(PAwm_(^=zf3-z=gJB9tK7$>N=6_g9dXmq} z-~SrO9ocAf9CO$G2?1mfk5)&t8E7d}{?jjgm@uOD z54>aPxU_9%^@|6JCbJq&D3g@S*NbG4nz4kn_75-Rp4FVB-II-qDCeeE*cJ6+9M z)ZJ9p*`p^99<-lOdCFNv7IK=87WKZ;)>k&_$iTs=dI*Dmrms*~=8Tn}=4uLYVM~iy z(t@4}iMPTYP2NvkR~GZ2H^G`P_#;KC-}Gc?1IGj`=4(Fj)Mq+!`3QzT7w$RIW!j#TyTRo!Z)R##dq#k61n`@#T+i0V%s51@F*;(KYPs z>7n&nR(z#ifCJX7!eTE)g9U8D4LSsNR>03BAE)krGkg4yq{$3Wajx>|O&~%*m)@%3 zS2tP>SFm@tPFnhU1kc@mws0BDWGE}%;n{bFVrB33?_p-;LHBTvw)Pr%`uTF-Kh-Pg zd@t_SX{%rypi2|7O4$mt?G1cF z;>*n(Y-PQKbL*Jr&y=eM?VHi$@A>}a?k;FsfPE+wrkzrfee3Cw?M5$_fFE0GtK2Y) z(&fx;-K%h>0<$+|;QD|%!4&uY0IxctY{T3^P+ZSZ^MDcx@qy0uN88tT95Jf)4K;A8`Pm%t8Cw@}lc8VAg(#k|- ziUCqcxNT}|diHl;yCFX=qZeJKO%WT#xLR>owzNA($I7U>UW%6LUcZZ)q}3WFeFA;Y z`)iFx)c6@?Gc&&qIwbi60XXUIVRRcqLi>u!9`%<;egeY*pT}%?efgG_`Hk zn!2{7cJd7ckd&GF`PD&c%k%@38F_ByZwxV+T1@(4%HCMhbfK_6rHZR17}NBO+DJ^N zhNZS-vXx-=F8lp#w0yL`Yn-nyu-C8r%)OH6&Q97Hmr7boC4HpTCtHi!ej*w6Zbn;8 zYlw_T`-9ASgk?_c)ED8QKUIA{sX!rGiqnjH6m_I{%JJ#j>n$Z47~X;TqngSwmGL&s zG{y!r;PBp|@e%BBZsiG|m?oL~AHboHFW=aST z3>-);3bj$DbhUmW%yAVUZC}Y6obBoM{<3I16+<{^#J^Wzo3EEm$w6ANEsm8?xHRWn zkxT~-wVwlYg(l%n_^CZxUpI5r-lL)t!r8+>l~u37FxIlyq_*w=MKj_T z)Fd5k&U{P;hPgMmwuVa%s@5gU1k0bk5AK{#1;InFhbOJJ{Q^Tv$)c*Dv-+y!+b7Wr zf{S_%Sk8R?nqIN1<{e=2ACBh=t)mh6wgwuKm{a%o3JivewVPfvQ z`bki}KQU~LE~~)ikM&b3*ri49@R#ZU5x4VM|eXlpPXB9Uj zBuD?j!?NGQ>8Q0&G;A=y1<$|b{IJs(Q7Lr_hr*U_M)h1#F1xbC>JG}d^YP?426#|r z#k%>v>XooS>G2ds{RsHsb1rC~0PD$z%r7wnzG$j;>)mNN5P7hV4JK`qzjj>@g$}~W zsT!bK|3|!%vHf$%)Y&Mu18zBQW*fM0U!1^SU3f!*&2w|K$kaiKvq%svQkgTW;9+^2@y>ut|0lNn$a$OD4tlDEWI@F@WLxd zk8;A_e_q#D*D>&i)};%TUAw4Qq2Z@meJP5; zj3(6D6U6{>?9EJ%A6d%;^T~p%Q-ZcLjbBnbT(9(vFKW={f~#=#p&fI7z)X?S!xhKq z^Ix$|XxzF!k0U2Is|H{l4*2{@uHut+o{OP~XS{RnJ7oO?#4jjpc@AHEY>FmM7$4sS zvGQ%HRIuI~?iEKHTh$YBH2IuW073*R=XuaE3HepIg31lvGg%W9jw=%>Quwf@U4{sS zwoZ)ZsyWdp1`xAZ;H!T-hwh=xr3zcagbLxcE!mwZKUuAEV~_plth86EjSJjhLR0x1 zkd`L%k?NJ$(jhN`5xsYqCYM2CTRX zqG*4LD35dUDcgx@Ht{ey$%wlUhk!rc$?VQyq<95saxA*<5N*&OOz)S=W~K=mqZpCX z30zYrjasXeDV0IN!?24yok7{>`wpJYeC*k0yAEQCbt@^CZ&obq5Eb9WveO!w&|Oan zY|`}u-ww9#D}-hSlTDJRg$}%4Kt_d*wzK^8qGd#oAA+0tw`aFzV@eyfV0pk7bb87=HbX;274b<|1PFck!TtIavHz>&T{kd zha;cNLTLs1I<`-HAQD?;a>bhIlx*Y0blBAlt7Dq#;Ab6Ox6lEm9n`F3*&azsVl5E& zd$i6LjWovr1t43$bnTVw*{g!_1MvpHo8`H)v$BH;hfDoO-QiEQH);D=Ra1qh#YLOX z!eeK|vbf_2bS?Felu>V01Stt`V#kRe>UQV#%9R5Q`2x_Y&I$#sCM!F;%+^!hu|215QJ=FsUD{-U{lg_mGjH|{47wdZvT5wiQ zr~oE>o*W;9=^s8n+T~4VzaZsio?zEni7_mj{w!h@!G^^Q>Aq&r zz~9ua9g+4u@=lvXuq#EM{yoa&GU_B?FwfsDlWT1aNkhvk4!SUk{(i*2uJ^jKtT|4% z77P{g?~QSn>R6%0whSX-Fefyus~b7EqC7?r>ktH|)$JF9Ws&=rXr`_~f@VQG_3C=V zU%?t#SD^(7HK(zXdwMtn2`%EY46Uj3P(IQ61^JzmwM##X+Ew{n4uF zT2c#|5(rlt`9ZD_vnx@86J=OuT-;fGD!;zVF~!qms@Jh(iElg1;u3At@OsAbs>xas z-jdJnje%|WBk$l`rOUZty&^^}8|^)R-qx#x+VX|~3ZnQvV&Id5v4>>Stj~EWBi38r zgxyB9`u*j6>kVd%^7rkM1}P`TD8`DVQ%RzJ1wx-^$xm)qxTB z3^9~R^ApgXmR*WZBb0W}D-_nUZGLmzQ-HJW;Wjy~@wT3?Ax_pU%XF}MXx&Mvw5n(- zau%Z|4pK!W_xOpNxY9m>frPUdlcU0xWrGs=a@ojPLvT&rBgi&2wRXO3cvvdL2x&XH z@mEOeal&%*AU8*b$Klr~`74;{+LE-o!*NBy!it-4GK}|ETKP8*O$V`to!ciqO3lWe zY-c#;%;R6~f1}#s`r*Utf^p}{N!!AohHn?%Y3cnUmM*OLHnE)Uhm7&f(C)i@{cyyu zu6H*p4Ar=neIl(RE?2C^q5vL5IRy-=0=wIg^_*@_Fd4wkaYpbZMs?Q1mHmxwuzikn zvzLiDM5om~%$_4H%)AMcI9;&?9VYRz=G6=D1iZ6qxP3C%_oG;GW6lIzkX>$t8jjKn zGF?cg$ADL+1a1()bFbYvyH}#tvKDT%zDTC2miD}MI<19d9sk)iV?NY?7E$m5@T8x|!?5p<+Q2% zgP0>&cP;v^JQV>4)q0uWr6PY-rm3z9Od#Om$D@Bo*1+qL18RP&~I2hep3dGr*H%` z_J}|_#}F{-+}0M?4v^-rXfGG(pGvE66rG`N8OEjBieoSIoLf6?u~Vm9x~!C*bYqDp;(S#ppL=VuxAtMHJ36Xt176FZ z>*eL)nCp(A$)kwyEi(t=r61eRI)u3y|ov_n)S%f#NJ){_Q_8EgTJ@dwkX!=eePOeTAn&H)v z-q~S)vNQh4p{1|#qX^gP8Ddv#i5P&|>uWmb`~%+0_L`M0$5tQ~Vd)s>udKFf6s;-5 zwwElYLkCv}dMEGKAwGkGAht6$O!;0{l&XQ{O!}W>Q7o5%m!Y0v9LAURj{8NrU4Ik^sh46#BP#~SeGPk#%sF_c2X8>Yhq0*eP$z)HWB*QF(g2c z%kbV|tb6^ZAHH>DW-^gjV=@N`O7zL-tIX1mdIW7=>wa7%uDf=}wA68zxI%i@X=$0l z3Gq_i52Gx;%m`&b16K9Q;0IeL?gn+OExM_r$;orSKwVe*b-<8lma5~Bh3!?dAJNRn zxhv&;;72I&B}sW*{@#wpUxn&ijZdmsi5o6uZYP+=x0dWAoBpBLQOW=G_WRF^G(y1qr#3A1?Nj3jKXY_aO<>1PF1nT0??F<+3*D zi_Nr2LOY7_Ygn_rNX->-c@__Q9Lm4+`0$F2GvnYF?GQB{Yi|nH&)L?57JfC!c;Q)Y zkjnd4_BztQA=}r3)p3SSGgnijxT0;r`r(G%#O~+&&4mR$i2r4GK+BaW$j8akQbw6O zzOq#L(`=#=Z63QdZcR-uuw7ADM#Jf*^_y}(?Qw%xLZijOAro}|C=0jqh?35v7y*~5R45C$EX-B|N(sM;eBZ5h zR+n4n_@13TS9Q?(A;)x_#H3$W{DCE+r=+#;8gfLxap!OOq4&&DN zYX0_krZmnjAU;~u4Oi`iZCl}$dS2ADQJnUVp9gfPYNR6Xok^d>KawpdT11uYEbFZp zVPpBE!nCey%`BgLuG%iY>1ry;!VB-10IjcrghmY}#)*|18sJ&B98c7?Yw59fmy{QB zcN+pZtRmIquEQVSeL;9ovgT8ZocyA7$ot$yp-i2vV2Sh8t3W;5p&SFGJXtX4;*;B` za@Z**9sxc2TXWeMTpPa&O_PS_OM~;I!THh`c~^Ot`4Id&&BpjKvGJ=5jHt}UB+egB z?39~_*2~;=w5FH*D{lOQ&f1@;XK?%9QMrkw$eKQ$2_;av$oeZAWOQrns-WU&O1`S` z`Z{=l7GA(Hr)i%Y;6M!DGfshD!!1VkB9-E*W4SFcO^>+b#lWG)A^D)ApUNnbMt5pH zO@bc2U_}D3g}cX>LGgt>?8l2&nkPZSnETrubv;A2)tf4GpEoVFB09?A$7F3~vfL&% z3(N*&nn>vd;yZ;0{-{sKkks(5VY#}cV5UtY3L%wv;uE$@tUK*B%GaYJ=52ZPY~E!B zw7}4R5x`ikY(LW;2&S+y{jTTnwe~S#)4S(mg~Ps&Z9j@PVT_u_ka1UD3kxR80)AnT zq{^=X)s%pXUz|`)R|n%yA`Y0hg+({3b@$U4gi0(AzbQ8~_RHae>A<=nlgx{7s8#vAR;*?dE94aI=W!?c?hPodif6$xy?Bd$B>R->I-%}-bZKo zXYJBfQ6+%^L8;B5y%kKi6Q%{ib33uh9~zEsxazxvg4agb@^HT%mbRUZiL zh-~&={5R~&ijoG3%9I>gr#C2N0zYIWFwd z`T&OZi{b@nAwkn$N7rA(dZ5K+Zl6nM<#qKf!miW_nYgzS-<5Ht_6>1Yw8RwQ%>TIA z*L#dt9dPJ<_?^bW#atl1-=vl41y>Q1Jrk-Zt^`rb z2Og%MwT;F77e)8gd^jwE6-yK#D|M71@lB*kEeH{D zW2uog@SSS{8sJ?PkOz1aYRXNZ@hzL~<$8lJ-}j3bmp-|eM@Qd_BrLQ3gL>uo#YaKZ zKhy6;MIDNX&j~drwcbW$HAMK3Nzul!;LAn@%Ee2tx<`6<_+;#@+z2S)DYiwszI(gg z$^^4(UhhlO=7+L9keWQJcHnKkN}hV3uV@e3OlB{9aOiF)HJZg)vy>avlebq9t~TWH z{D=(7$viRWi;*FUpbtsbCXeOD^1be>UAAWA9Yxtd^tmV|EI6Fw7iiE5f?0U)zyQ^a zHZB1wl7PZdn|eo`O6s`Mh$dk{`zHa+Sq)j8sCQ*{Fcw?=L{^2@dI0mY!tWn^>T6Od zN{v<`e^qS>1cB9Q^?0p#KIyuZZ+2k=EVDBT@|78n4Hwl-4ax6lhhK1;__9%a%j~oI zqglsK+!&H+{@$4~?^k8-|h6rc{AuJQX zkeUIe_h*>J%uO-QDZLxmKAZgQa(R1CIee(a|7|LOf?I3=esvvTvzu{f?NGmXcV?=q zl8QdQ4l}pNJi(c#^5939x!i5ZGLKJoRT#0*T5!QwBV44YjnmO27af{Ct-K{yR{g4h zkKUo@Z2>~C$KAWD<0~$^x|sLO79fcy!<%qgHz{Mm02gImRoddq7tYe$f%_-vaqEX; zeO^jDGY=v^53CSoq1rU7W85y2Yv>C-Ug7*svE%svH1bo-lrPV?hmd+Q?LZ6Kt0^P* z6X=8Uf=-ON;ONV+EZ3f&O>gC?afhdWVtIUF7JGK+{MtgmPV5dRglbhi8&==I>6^!YL+oDKnL!&qIZ-8#$mVL!^x3|7 zw0B7l%tcX_WMJ-wuhD64XxUWv=tk{E3&!dr)zM^X%vIE+j9`29gn#-r_eitUNo`&m431Btsma*Qhk|N&vJXap&KXaLZyODYQy#VbwU_hE#giwu^khU`$i7tc}VMT)_2pl(-ztK+a|w%GzdMp`iR2K z%?h})hn`;7-a!)XPw<*h+OOK6&ExMcsblip9!Vb9d+q#;UIUr-`VGL1<~~<+quP|b zQttw%@>y($uY+@M4FPY;-y7yGa>F~?Cl`9;=e)k-T#&Y-1V3p$8B36Cfe=|wl_Vbv zd4wd0Vox3;jLf`HB}tE|?|!NG zx?hWGttxn;cJt$cme`ERS;X?xXAS`kZyyS9YAW~;tK>e4eXOP=W3$cLeY*UeV=t1G z6vFYSgpVy_+}(1=t13UNA-CK{{(3*#rawSXjCQnt`uV%{#Of2C=O(A>R=8dcpz)(h zvcxo_Xkw-_V(SsWD`GbZeOU-x{@9-jVAyQbVIM8^9mZvkYF|1py>24Pmq)o?o>2pe z`SFKdIy^XD=FzZ-Q}rj`uP0BLN0`trR6rZwIgwT#)<-Ggl=xO?yc`=Mj*+ON3Wv<> zA*M3cN_OQRT!7wu*z1iZ42V|N&Nzdi^IY6yI3BD~0ff8wj$6ptYT&QzheVgL+ z%C*j1_{5(YZ(hSFgf!pU)^=40avhXCHW*70v+4Wk=kPfM-2n60CIVBvPxM-o0s$Ql zI$fZh)z$M;gY$jii(}aJCCC2s@xiL5+o|T$W2np1kGmn(kS4i@im|KxA!JPpljcodh+ihwE>C;@b`RHNUrLRfn+65It?KFzE@o>k zM)~dSekxbGKeEbu&;Bjt#uKh)y~Ol;B-D`g-Yd&nfu(^oWK`d5@e@ODmtEX2_BKp= zUzRO+%pn*64%@-PdGDh4IN~(rPR>ky8oEE-a^Sl^ndTkZCB&pHt*0{?)uHbO-i=yY zegN9n#VBqMtZbup9oWYE|LCq)5dM@FTL|$wzdldC`I9_$c#vQ?qazexZa=)eHwEeoSX^>1R8`H-19G#(UaY!;Kho zRRPD_>$bDrb{~r*Ijc=)K=9er*qKc+yy2>4*Lt@ZGY*{syw4Q+>Ug90*LCe?6%L9v zBE%;scEskMHG-M7APQ9#FUn&P$mUe0_euRD?)dfl&c>>^ZAuO&w^sb3pNqu57qqMv zWB6xisRyxtyROUCE|aYq*e7m5(_XmyA5o-L;sIT{Y4uj)oh7cEy|j&LJcSe_SHH)2 zdD0XGOVjvdI%@#cb6A`2TQ^P`hGLCtl|FeN z!MVU%h7^Ht4?T2p*b+4>oa$GLTY9)O(;~*d zcff>S<=JM3h=)yIPq%G&Yx?x}dXxu6nkyQ-^vuwVnRnZ-CJFe2y(^3x{LzhRXgmXk z3rp%3;{kR^#7Jc)aCZncbmTJMeNTpRT>7!Eo+$}$jpBYgr24_M_EUj>b**1K0$x`w z-q7k_@xU0aE>Xr0smsoi^CDC4t=&N4Y?3gv#C-qs7D*F9;?7*{5m(zatpe>UU3Z4t zYOTgQ@)f`wf9J$1Bbd~CRxR?)i7-*{)lIMAt=2QMwg8hI|Dni-Ls(^-_mJRJ@_SV&qe+d&%E*_?%tWiS{z67mzqG8;QYU)hkJu(@J%wkh zf|+H-!xtW0+&LHP(A0v|8S41mlO^V`%rs{++lyZnq8}Tqz1Z6yZimteT>NLK4qgFt zXCb@0rv73nzBWqRI9FU6b`%fwkm=~%3A}-fIN1KTZGV5eRJZWwsp;cGi=VQe$xM^t zCv_cd0^%sxM@qKdpS<|#Q9qO@^UO66);XK_5iF3DhI@8bM2yT1$f&2+Phm;}PYr<> z0)lR;)fE3YEM8m_i&Mq5>M6eaZY1hjcXpNdfs*FU-r3r!ERUJw4E{<;vCUd^cg%MML4PRhS=US+VoCya#s4}f zWat3H`Oct*@x~m4E~?aclULCaJFzOu%X;Ww-m%wNo}3Gk`meb+S^{s@I@TGS%w}0V z+NteO8dM|~Y*g!i^fv@FEWV!((@Lyp^b9J47S$u*7BmlZ?&qWR5xA`b{Rh z*jG(&;xuS+12u?{_qO}zN7^dAi>N?JA3V#pIEI<9Y2{^PA$aCl` zma=~~+gGYA!UU){z6uj;b-0L$zHc{2Ow>P0(QdZ%7982OC|$Y;vO5VZh8VQAL8X+e zWMNIgpp4x`2Ww?wsmT(klk3vRz2pKL0h)6rgQ-}+yhD8I#YFYQGen-5qP zQ@8jnNDvoLH~b2f5`taG-sVzR#KEl7MD5`6NO3G1Ink^ET*o=StMEPB)uAl=%a zVpx)&XE+_=Ypn;2+~v?%9UiwHUV*wfBztbFk3k43hBf`dMeT-GW?9}}RVH&K9D;9v z@xm0n!7V)t0Q#!x>J>+5Mu1hW5uRZz09k>6(@NJni@N1{50xYT}_ieGZcP zU&@W9j@l)9mJ*dcd1mO?rSh#a;`J07NK;)SD{$TmNIG;%H_a9k8-7m=tCFhg>{Tp@@8z(U2=tw&D+&x1WTBi% z+7Ehv+~)1OaC6j>Eu>DIjSpS33<{1@DYrujXNn5tT0gy+`dKKc?$jCGBdw(AjF){F zhu$lN$bKo5I6cUAKh91vu#$&|LBD+|=&oMHlHdZyc-Oh5p3}TBB0b(AD5P}ER@quo zAGM^|ORdzp$T@fZtHYZ7jStVSeUAN#5>)+q>!d=g0{=3diMNxWLv=l5O)mMHL~O)P zi-tiJ@2>#^rdNv)={yxp+94oqc2ft2tWUJOAnMdg=mF=8aTNKaLq)==5pJO=Eko<# za>$#O4Q+)Hzo&qr#H68hU`0{jnP}O0!cziKRkz%gK@vfPA{hswC^4Za(uM z>06rfhG0Wj4)K@68~fMnp}x#d12^<|q2p$|dmSA!aV~BUm}v0{TKHm%{B7rOjg#Y+ zDy%h4EOc>net|W3mhSjY*xr!Jt4v1-&B5PM?jhTmaT=^P zx1KPG8+&ZZvg5?ResU*Gvy1oBmP2dZ)<>_l&#!;AED||Q)uQatseNO?>3T&$gqy4SYXrA}#?b(L?47Aaz zKjJ+o(OnYZI<87^s2|<}5kSSym>-qwBbE?yFDc~| z!gu#?J#ln64kP^YvnkJY#3w#wrJRVapy;>-SC|^#YDU7O#w|it1Bw$iDoA3-#@Mg^ z$ssY7ApRpepmko)pJy{_7TWB0j?uX4Zg7V9N%U8=$QS!N0sUeDnabP#BLNrcQ%t8| zx*D>L`I6bxiJB`UCC;&mq9u>rH|QjgIOtThyeZnN>>Ar5m72?wbWaz&*(TzNcA`0R5t>F#p_h+7Dklc zl*8n<^fOp9j$g16Gj3*r zdiTWg?U6@o0gQC|FuMt{jR1#z`BGkaAUEEBEFRqdJxL!sU59Ac-|?5Ky6Ujo3y)^{ z@uqbRssYneoD@ebD*2wg_@6gR(b}VC>8iZ8=>zGwh+Ul9iRK2a#|xmjmq>@G#8+b{ zmu$X^d7(2R3*4>lir03*#-Bxfo`t=d`M2vJZs1F*dh2Xk8dOBzEii~$ECqg3{wG3% zP)d{E@Y|bs9amsD+Bb@j*go@>NW$aeJvY6?^sXLWk;N_b4?I4c*FMIs?Uki2Hc7;5 z(?)^6g(>PZoE`+3f9lh1XJewjjBsAz!AQN>WYqdq_tgA1OpxzOhe086@C9<~KE53+ ze|unz4v7I?t0q@i_SAfAw(Y30_JOBqa1=iEGi7OZf5+A_z#15PHN+brUVA40J*YSy z9F|cJ5nvm#x;(rM*^;OZj!4z~aL7#57<}o4}1^ z7@3;$LB3VWrG7L}0yuP@H_Aw&&RcW7m}?V;SzK;bnXv$Azr;4P6=A>ryZW(+Bwth~ zW;T&Me`d^=@!XZ~*7LJkwYBK5f?;7QzPuuaxfSW{$sOz?(d^ZhE|X1M>4yPVFW2>; zV$%%L+2O^_O_!Edqm?s_Nm6coN+<1JK8C|d)XB1o8fjv0+^M)Uld*2e1^_#US#YBQ z(XH1zYgnNh;loZt-%P=H`X~MTarEkI>Mg?E0+wQY0g@G-{(H~NENAC`vo>sG?}%dF z4zF_PdmHG~R3b)}KsA&yP{4la24yM6a%uaN+|FSpw6r!_8`f2B%rdm&xUG_t=Dz18 zVw$`zbj$>^Phaeq6b$blXJj^9r}~P=SSwfNWi!EaW5;`6V0xYcR3=-|HD}-&!3Z-szmSf+D*BXq=Yi?m ztI)&&$vbu-3%cjeQ({67=9~x)6GB}YIkzlOdFOF%`~j$Nce9D^vIUvsRhZbb_eD||ff^L_96|G)FwGw0sjdvb1e=g#cx?#vue z-1`z1GruCr><^4R&NM!BQj#URn6V%5XkO~7nyhEsn-(m5|GROnrRL&|q;u0VjjvCC z2K`Pxd(yl1G5+DzQxSJ{_Pk(w7#Bp3Z7^ZD^~XyHBmHt zMfDkqNJ~gi=8UfJKd{qPTJZF>t{fCUWC zH9E;7Ih@`M#bn%~nW~gq!%1x#U3F0lz0qoSJ${|AoGtWsdwX-7No4m)n!d4n3&)#ebSa1A*UMkF7CPn*&P|YP zzqmBn)I3!kr(R>tC!c6J^vnRvf{4_$rl5iHZN18k#M)br>icsJg`a`>z5y$ztx zn@{ZzidD!IzL_7 ziQ_zG%E8)u24XS+4sT?NF6{gBuU4TBT+&T%ABu824bDrQ_LqG` zzH`*7Bd5-MIAT(Rp3}>9*Gv3fIdLNTpx?H(mqtRvMbz1}=A9wL<=$4YSWn9T=@4)? zQXz(&@*~?JOeSVp$xBc~J#BRByLD|v!$D!AcGO1eOXPmiSlXee{zna!v?O95*0=94 zttpu)wF;WjkxJ-TPIj)4ofY8tp~CKDf71hzoqxmoTvjGVeu~*!>(Ita%6_KxO5I7f za@G(V^&V4Vty>@_IxKpOmhgz3nD|?EpLneS0L-b!n|eV=Hg2x8H(GE$yb4gH?XU zUgd4~&)JC$rDtTWQ53IbR~YQaey-3toYxaKCfs*eT87OG7})!^OCdmI5AFEI2&V>M z2+DKx(c9iP4Az(Z*pfxQ@MDaEunrSg07Aa*P7dahS8c9JpsqTEo+SnrA^29SBsyb& z1a7!M9b^h7p;O7@7=4buS*jALPCU~7e%vBOO}uw@1@Cc5sQg8IB&@{V#}*M~(fo5u=t_bRW2i|u zR7su|YC=`3e{mn3)FbiUTMb{pA8JBzej&3$QgxuA`mUAL?%w-?!+=hlRw0%(VU^k7MLX{wv zOoZm6XNl3PF2C3vv^_qL*tK>v#@}&T1G*;mvBz8ePw2Wj7+c2uET@SPPDY8rToH+5(r7Bm&T~nPFY9%BSHClCLCZ@ad#vD77?T%dhzYnfTiu z{{)7(`}+=yGfb_VUV0-$u-j=dqiEM|-lQHBWC8(>+E?(UKYmi?#nRqKDVCSr;OLXc zAbpCyC_!zA${HUq*P9DZsY@;N{F?n6j7(YW(%ipAxJHC5z0Q%2SlX(-kbNF2260+A zXKZ&r#vJFPa2pns#iVg@UiF_Fr!zG-FkQnFr7+6aKO1q8M4><(OR)TH;`uMABkg>m z)Osh;bxqvdK-l3NESR52K7c0Q85Zl@Ibv79SUr}vH7AEzFxwS=Sj*@icqC81M+KIn z=8{w0=kKkKQ28EjB)|T}8*~-(;v=Iw35!fa;j2g#o4ovsY9;iM+TFeU0^_7Svi ztb}2HDtF@7t1m6jPbi8;&5WD=w%>zQR3@{f|D`n4D{QrQZM^PS%b9(J3U2%JKK7r%%o3`#93$&>Fpve8_8c4CK-YY`3tPn`CqCO%b zu-qF+@yJe>z+)1&+hXqKdDG3r%NZ8a?;j`tdPVaaXpG&iB4=E!bj;H?zq4<3Y&mvW zF9kPaW`M{J?WceT*YY(j7|taNx=Ei>q5VP2%ml3&V0$9*aFp~m|MmmOFUlZ7ba&q2 z@q>rd1`Lph;LhoXvJL>c>z0euP(pEE8X~m3G-C6m$?-68pzV1Vc2J~p-l=fXFba~? z!E-})$^?$5(9*%fX{RT`;dCQig>JxhS;K*%n=bqyAf1&?X#Nkd?Bp>(`<3X?5kOch zR!7yo1(@MSTHV?S)09jAW9)C3kFG=N>^o(!0!gj3Bc#{>-B61NcL41J{Ga{Xx}{8-7OAcv^MTl*Aglyj6c}3?KzXdb3hGrp;t)B9Nh<^uk%H|r zl4>ott%#+LI|@}h#yO_1*R5}J^a*0C`s@IaXi)oV`A065!oiLjs_>5myI_&sdO92cL0639pp!I+)O=;#>sC&8X&*y7P{h#MNH34ldlc4hX&HQr9*lAcke)r5!0_WV_j{78ydIuWtsQ zG%pCYta30@Jvob7&|;?r0Zk_7enm)NUkW@q&HY<)_}*L7_1y~Hlc!tZMK<7{St7TG zslt|#@w1U{9!gB2KaECMs>@L=%%|7A>TfG+oSeJ1r?8j)$&}}{SLamgWW+aLzxhPt zGRB*5B}D((fiVvYo)ZK2r!k)k^UKg5hZWw5eoxBW;cHd>_JZt^EBA2$| z(O(~t`S-8u^qZ5~GyOJj>x8A)jh>YVMa}kl1OuJB9mU|jFuE8qb+hIDQIjj&ezsUg zV;avyn|dBZjuFO;@iS+!07+ghMAX^9yz3b|^ZDjTFk`3`anP4!@6;0PFN9wRMZFlx zM9>zAd4cj;pQS2zz-1&U8VlHqFj~kEqR2LY6Pw^YG1>S*e(e2yu=5`P>dN(=+}Ogb z>aG!gfQQ)2xUFDcCO6IiEfg9+y@Y#qUHTIx>wsHRS(YAX7#8YwABB zmnN4+9Js)S8laX7qnxb&c%F8S^K4#oqK%7@;pl|yN4I?~E zh^cuViMK)zTPxB2v8IH?O*uvgLbUp^hkRve!JKPA8_B%b`^qs{F!AYq3*C-f!yo2m zf4dJ`ALiMjIzqUX0dK*_BL3SzYe~-jWzx$Kp=Ht|C`Oh69JvN`mmF+@touh#Ku8CA z5VF)tSPU^!gg{&@KPU!@>0|;A6;k`bgNlGU2qekN(pEe-qEy`a(XiOPmvxe{52u*e z0u#nh_)Q>6!##F>G*7^V8~-$<;hKd8$ALs~M$~|~(sIcApS_r(z*=EB&P@rB`>Lo}`WrXx%%YbDT!*HB1c>v8__Ko3B* zHEx~d3>{bm)rq8JmHUe8tSbA0d<+G0l&k?Z0#VIi{iO)OSkM>je<11*su2zPhk5VW zmtW8w=mW%EX6MB~{sY-aP;!=K0XdO(C{S%|rwG>jyAu}y1`KGi|9im%kOl?fi5gG^uWXR=VYeb7S)dC%e+P05E9Yw! zfGxMB&q3|x^M*eAC-OI z2^aq`7x2FrnPz% zk?0SXo*<1fpzWRj?BV18&(XsEN3{Hp(UJx@0cHW!KuhdS90W05Pa~`og#ZUw{W)g5 zpU3xZ{fB>wTYwMw$OXR)Vpzgrh99${=Z09w=x#P|6lq4J#&1GxE7{c z0i&_lo|h%0Z|5gKuKq*9;HDp(oU^*`fOoiNxA|j2b^^^b!^*~Q?#@e^)s2?OV&y)! zm?uhgYNDCvyrBOS=JL@coLAM(o%Rb2Kor1s0kM!c7JxvP+5ry$_W+sOsN*g^_!kUT zVf*qYA-$F`yc#LEI_7r+Zq5U_-t(hMl&e%AA^z;a$^xW)|DFsf@%{RT!NEzCp7* zdY2$jJiSPQhRTwWK6Jt(^hQVm*|pa3omEpgA54T2+jo&@!{J}anG`SRCqfwWW#KrM z5%596uYgu6{BSwJYB586ZZ$3A&_i;)w7e|PPYzBVAOkXkl6swrDzqXA9V+jwLMosM zzuCGsL2=+f@*=tCLU0yxOokmUE8!3dB+4-_H=1G1)+sPf!ZF{aAaUP7v2R%beZmYR zaqj8@Nn}{!(uIZLdrL;=Xi+ni5|Y@?b`eSBI0>_gIecoe382Lq%m`=_L4Q)fMr~k~=DVY`Fl-NLAr89)Kl%*b+<^jR{h6|aZLWR@) zU%0PIai_97xW->5eCYp=4j@Ys_jBUMwRTM`1B9m9g3A&=Fadx5x)GTHjC*aZXvE||67 zajd7l!n@$t76OK9kYf%3m)PrIw2bU6v$lyno+w*6C`q3j3vv$Y6|E?07|Irni-fF`oLC&1NUd+X|2CcIT;0O&l0zNNOfvu%;`L}#eY ztbRv?|9x;Eyk}y@0&nFLz3$p(L(Xrsl=Kj)fe?hXG;SJL``PffDA|o*s)_Z4|zc{tsb$!IZ@JiiQnEpANra zIszP7c1raGKCNKE=jFnm$50554aeIBdN_$YVyGVuqrqeFNd#D~OnAJ>CPyjNqsl0r z!u!yNtq^R?9RDKYW)W4s8l&&g6}tT4#%LRbEibE#0-pLcvnbrkictX4z4vK~p5jEs zqVg}mLL$4Yxm;<)$ANdvwLVhF*k{j2IG*9#@*REoJDhDh_o~Dx#}#sIUhk77NIXr# zyZkkc2S*$(WtYAr#3;`NDM>wk7X{*V@vGyvTI515knKAzt7?iy_6Mo%JDRPwk5E;) zy}foy7um|?b-nZQyB=`&+xr`5wtQ=Q;1cd*dUN;UP_UI@Vx-tEtv$Ur) z{iv{^qcfL)tL%&JUvhStf!;kVN&kh5$$QeqoknWwf)4{=)z+ll>ryW);lj4;|$D z(#IU`)J;M(o{+Cb)*oK98d^v!1s9dNy7|KlkW)ym7se3spF(W|Xawo69yo-7Xz?av zUr>4;vA8QN5)BTA@@`P)(W&8lW06Zctrix=GIIc4fY4Y`cd&_<>RkwV0%>b?pb}qX zptNOnbs0cE1kK#!g_k!d9|H0Kl>^I|FX5!7M(W$zf?e`TC|PebX9nhN8i^F?$M3kW zK5WwzoRTs|8F@?O6LL)Woj_1D7^3PQYK6BhTC+^txvd;wu zdKrlLf)G3=bj1OMG-69Zxpd#r^jkg=X!3HGo*oeA^s%fMjsRIx_p98@dHy^ zpD8^W!y#f8-9htGSjKC>2}K}_=wOPLp;pG18wxPD=ebT4b+tcO7oOX#_lGe-i%;_b zVW2Y{T zfscLgq6s$&a+98g;D+RYIZY&9>5_ zhPep9fQ>&-0E4_sO$J2OIgvrp$+(Q80UjovIZgS{gpU4WX$41xO#uNHf>MuS^Z*uF zLOPt{Mb4!|IiaOAQ_N{)HYPJ625h(rzaTK42(Mh6_IY~(FOFp537t~Q4dyvI2cK6bXrHkN5Y4)wC*dNmq@8K@ytaVVu)r}7d^`N>!)3gaR3wvHTB7_FX zyzE?Std~3rXHpOzX8!~N6*;o;{lv3?zvT6qUaxe4Ek~!crVbmkSkI|nmZ4*G2&5Wl zqRp!bsD~khgmgSM%xoR%C$tC`VmQG?Xhf>~QB-wlO&;tWG0S65&U0yYDt_0ST~=bx zD4efKETFRnxNwhItz5Ux;R3v>^2XST*Fkw$*eK7=d%Hiyz1m62@T<6LbInIWlq5fO zo@8Dwx%ZI|%O-X!oV>#F1KUkr6d7CrSx|`Nz<#_s)n}r{*`Y-zcXGe9Q<0ieSPZVB z2jg=K?m{A%p)Z|4WECJwGmO>OFBVV~+jA9Od)Xn`6Z99Iz@mIIaqhj)Z#SeII8!_P z!^c$@L|$^PN5j}s+tGRYx0?Y1fm=0fd8|C9T)C{RME27qm~kfW>$>1S`DE9Z52^Tz*OCz{V=ep8G zF!40R@GOSkNd6*q;sproE~|q-MMt#59*RpzGZ9D?${5i*&d)HxhcqaG`Zykq(R1fo zl3Lu*O?YC1GjLl5;s$^;vxpLo)?;6XG5Uyj+(l2xv4GrLJL$h8I%DptjwGY7)5ABo zi=@CrM)8)5X-~#ex(@UlHePNENzs#=?jA%QP!{?VDRk{Nl>KsSz<1S9l>nFMK_z6& zNGMWn)IO)n4Cj}0a7g&6o%Rm!s}3D};ywVR+zp+9)>cKRL~c08UNsDjD->tB+_%3k|Ia|JaO>1b?A-#8{Lm zvSKi?#F!~%zYCdga-3g#um*(582cp7Az6AxJ8^xbW?w}@I_9TP-x_tDkkUpc#(Pfg zMwR)cb^n!C>Q&nTdSBIVrWc!i3k%UOwq`+XOGyqTXA3s8B_iksOb(~@VU#vR(g%8M&sz^y&;b)$(bJ}6V^x4 zmUD3o@*e7;HxP!>xSmYh<#apy!74}XyK0}8LAXsh%feD%Nxk2KkBlu;%dq<%0P(s7t zwK3WfGV;HWh?Fwumk+1e;ji{Ra~a>$b%#&?9(Y4Ld>M=*6$- z$C(i!=^Sw8_N5F1U)42U9V~xb_b-~mVtv0u5>T9SSO&xSwr+r2oxnBgsr3pug_9-z(6-1qP21z5 z1p1RcLp+2lB;auYBLE$NxL^?NfO{sp&|b$MT@R-#NJVmveLL%A2gJNd0!_j12EzOQCXX0rigo(smKyzu!mV z_?*EKJI!CdWQMUh+D03sdPcrR_UxzrZCif%HpYeDlYaBrI@?RbZH8 z1q@sbv6SlcS5dvxLuX*4QZvt&hAiV!>G1@jcn5Bn!g^UL4$udm;TdzhxdM~IuUkyH zFlNUV!GoV&WaUiONBj|Ecy-mj$>c*qYYc=%$Y z+?amtH}UU10!GJ;x7u9?9tMrkqkns<8&RJ1S%p#=$>WF9cYlrOKIUq690)pkhFD*G zBh$3|EdnTifra-Iy^XPBaa7zywts+vcE~Zk_J#73^0wImwurwC~x$sJ2HK#bD zUx)pzLX*4n{STaQX-|(DMc8&dFAcsJC+P7%b8>#B_M6xgrfT5U0B4lk4R~X5uKI)z z(zU*tFQhW?hMBjzUF|PUFGU97OS&PVQDt~fRV{=)rD-Qp!IKP-QRAZeNC&0iC*=m0 z?nR$d?exuerq09`{?BcA6S!bj+6OWJXEwG4+}Nd4+PBrF*Hy>s~FlQeb${fyf!Q#A(x` zji;1avAsPGiE)&_f%*f1k;mvG=t>ckX*4uvEAn+SlNK&86LJI`LFMd_wAHUyBeP1p zcX$_lQa0!S3$Rt7Ur`kyi8j;zP|u zjIKtSmvWzu0oD#BATmd-fM!i3?vdJ+wP+BxEX`{-1GjOg-XocUn-yL82XDi@AM~q4 zh!r7KYp`;ychO_LV=)Ze#TU=KSmu#6H(AJchFH??iN<3=qi|#Dl2AAjmBNs^iUUrW z^i@=eA>oqb9{Jp^Kz3!KG}hM)Zy1INT_{S>WNUVY=cye;@3q0KKd;HL0SqSU@oRzg zLhZyYUM0)LM@n3N)FV6_0ukm3w*(OEOJD8W$Ee$PUc1F$X0QQqqO93Ynt+?Uolj7i zFD$2{KsS;Oi+|eO-6t-D2Ay8LsIB`#!4wn7WXC?>5YC|6)$f541;k@{C$MXr=W6}d z;3xZv0Q(k7a&X7os#ac|M1ME*FPf>d7&c3{m8z11chzD=$%jiAk-}vK@TxqJkK7pR z9f4CZ8HiUkVaPzOMaB_!ku8K1^KXwxlwC};nTFK5-2i*{7kpA$f?&SxyS$N$RPi7J z&r^Me0tQaD;-301%B~ye$E*rqc@Iv@Laek$`QjIsd4(%q(QD>42JPabAIn+tq||?Q zlkZHt;-TVJ6ioW$!aOLe1tJxS5>~_uY4RVGuO5xH z3wHgf!TC!AHtKeX+}ObqGk-VF)J^FBk|`?YY3LLQsF(XpPV*~AUfzVx&wjq{ly`?! zPci=Mux$)*-UUzb;LpqZv|J@xC4b?;sW-{G3ANEPTXnd>K@+79Jwbg)+=ixFu`hz%|oKhf8T)tWmsdXJL zoaS}A7p~Bu)hv#{8)dhYt}4*^-dSmeoGvi!6zAeCso)|urP}WKDKVhyLEPE`2yE|a z`0e^k;3d)8Y(jo`h=FC4PY|C%bhE6Lf0)+uhpuS7lt|#%D?q**V4dM~`)`Oh@z^Zz zv=aEY8n-hJSZ`k!h!@Kc`j}+ga{F)H7gn*lkg(nH{je=!L{<-JsNG<;p(HGm!Q(Y^ zx5R-qiFGRmvca!Jg06+0UOu_OmJ5D1*%qnd!w_8vV0N<=9 zt_29L!-1UYEIE=9+X3a&qArNsEuV zxIg0{M3}&uH-i|U?R?vfxD0u7`o5n}QsEUzMhYnfd4VSMin3M{%E7)~gxuDHQ-<7x zt$(G(a%*>4KWfFg_1>U_O~s8R!@gBoVX6Lfj)gxS|HGkTS#zOONW2Q(g%KV)Cz4VVS zUy(xDCGmjFwgSLq7`?K53F0j)>#H#kYckS{B2*`4T!lXepAKzFnnc52k&lccjr)Op zcQAW5iiyw@X0NX+y+Veh_G$t1eoo; ztT3BagQI;k6oLwEiK^mmDrjm(PnB5&ghdz0M><{@(#c-~k@DUsZB z8m+7kPq8+x&~v_YT*X~6ADBOKyj+BeXh(O`+i{Ynno0U{F76duO%SzZIN+``YEf94 z5HvC3k3}*m?Ep>!n4$)F0flkTl;Sf2H?~qs(3aOH4Xxvq}aVoJ*?ri(yWGFy`122g3jGf~r^Am^DiNrtcoo|@c?q|j5WZqv^kQbn>4Ka>eFsuFVd>3nA!PLivV z})9Tqd2R-UZe=vJHW7cysPpM0omVq*H9qyzN zmx)VHcGAajISLYypwCVC>_?x)as+N=s(LVpJ@qqg)0JNNsy$bowmV3&&36f*`|fQ$ z0UWmy#42Q37qXLk*S3hg=++iLy%G1xv@d?iSz5iK&)^vPVBD4M(_q+B0llPdi#1w0x9*v3r4b_g@ zsd4YGQg~|s6Pj=Ts#9&4au-G14Y-z#4W0zN z&?OsDcI~$!Ww|VzdR5igp#if8fJqAy?bI(bRq(JjX zkOs{#aa`!oUrw)M$GFK+nOe)xmddi7t8zK>#m&IOW|C0v(TC^1kD$4X%1<1KpCy%Q zu}*J0R7un7*Y|~g-kY2LWhN=ZU^hV$HnNo;>V?c3!u>t&E4V_s;ethVG^!|#6ra+u zYc(ssXgk#0li|$;8pG(T(Jl2VEdIQS`wZEX_%6t zP?dC!cfQQKSMqw?1lcWoN^}NKNN)ZR#X!2|&M&jH zu_EwepV*;_ZRoSAWEoD&P_9-sCH>|j>t1`e=^dJ8QWEbzl#v(xG3z&QdnCn6PL%nO z0Gp{4L0>7vknGI=Y^LTa^y$PI4kQdY=sdb>3x11M z28@aDoXGd>K9tL9>#=I18Kq)Rj$|Z%oP>;#6I(a3*@zlL6()*pQTteQ=Px>B2=}L$NPxn!(sz}AB?Nc z_@%Y!2k?9FiT#w-DhLPW@94^%Xe3mihzR5 zCPwNNNS5lCD?+6=pkx*c%sb}57jy?CPnt8o*|H3m;-ymoS2gF}`<+`Lb)woSpYgT* zp*cA0BD-xR`1^N~hWi;OKeyd-m+7~QQOcxmzM0w6@~|`X700qJU&5tOZ!0+98+An5 zjuPA*Qd~|ZV|(vE{+2%E11GHxE^37=ms20LbY`4;f_o?ZPTq2zhB8D$nlHoI%k{B1 z)tON@df5tQH`yKeylc~^evXMeG<&hI! zqz7?I^gI5sA0F42K@+!ae^jom5`Ltg2~}}b5y^Q6`Ku639NW^as*v0X@FPhiO~1;t z`@@poaFM$_EnqU=pjGxUy7TVRR5$xU@T+AUAgT<+rRceu^prWke(|3jzJE)byEyYHG$m8<@-m3<)#)-=lO$EzD4$E|jwjDr zKZiH<4z6{%=L|iM#xQc9xRJSi5tR736klSfcUc4WVqV+cg9UY>|IGjuQ#p1_F` zceii(nSK)FKV}IF*4F#I-3~99&e*DoZ(B8d%+ANBOda!sZw^9%{RQhz;F@r@ZA>!i zX4pts|Lm`_iHObP=Zp3fKZ~r6Aurqe)okc>+z)Bpv~tO-Hd{0A_1SQf14U+n0$&Vy zRGZFM@f-^)=fMg7#A*o5V4(9W9dSiHwn#$}Bhn^g)dKs7zLlS<-xj_)i3R`tyDdK@ z;J-5%g>uNb^kpkA7Zq7je}hqK;>=TJ3J&!Z$TY`u{TP0F?r^yrTXGogP~UrI;C@-g zWNBZTstsN+|9+mV`-l<m0Gp->YAv z%)i_8@`f?z1cXiZxwF>5i*ZY{JkB&hPg5sk-u{H|esMkAzB>zI4cG7Z(~y``_#^xa z@40(Ni5I~|{ogApv_q1)jc!v=zH z;r@w5!7*@Xr@n48GacBpr!f5*76kQSm^P&!{U;y84F?V^dooh^U8HMYL4}o}3^~ud zBlG%RQrnE-X0^#N@%67VhWZ+I^S$#dlg-@&8c!kzv7rb80W~4j(gTW_l{Z}l(iFSb zCf1_|md_l+zD{9&-US$oRy7uK{c5UztWH(fR;jPYFsA0K^{HwUU~#Bv^C^LLH(bxz zU+8u^rgR>XS!ki8Qu{%~)A~8#xKj7=bQil^;R5FB=W`y8hqk5ET9Z^Q#BC%`b<;BX zE*r%TO#<_##>`IV4f4&r9dl>Gqm{1TnV32w>21&a$%f7^u6`;Rey#=9zWZ2{x-xV9 z(nBvjbk44n?_~4#)e~H}5Z*&PRnN)OXOyA%0)E=d(v|t@>hCK;90?4pXZPkqmKZ+2 zdsEjg>_Fc&O5ot2i2by@mIbWpB=$(~aRSUI2=?I(EpH@=qyoo3U8;?%tGkv}up)D4kN=u$e zaBRBE%BF300bx0>RyF>*_wjxAgg!IXxMn#rZKQq^jd9oA>k?G>8z4~o^N~Pyb{tm* zw-3JclvA?o&|pQw9NlHDz3``I8J#AbZ&+_?aGZ<1p4_UkEVVZK72c&J1lE+yNW6IS zQctX}El=8UF9N^7wHQ#pF(&(zz%%)Hp(4w$iGNC450gIybs{ra8B>k&=6YO~p~f6&$U$zL!4s z%q6dx|HDZ|sqQROl|D~_8l3dQ>5snx64~a@2W&M`nUu0mxZl3CnqH?H+9KYLw_+3D zbO~D@k#3FOD*R(zGrL2|MywLq{B=)ZrJizTt>opWaM~9(Q-u~C%?#${%V&}F#5Hx| zZpCx^d%i}`+=)j6p6ci)TZ<8|)S6h@K;G=IknCzHt9Y_+>&M&>sCaoZ;(io{487ky z8zv*ugFi1f)eq>J3h**3zLJ&6quzBSc^ej_$88!nwEkEFM(UhRmQT=EpdDgEC-k9@ zF+V=-SrWC1MjN&63+Rs$whg?`@|bcRlQq6^G~XUhNvf53RD;8ZL~)Am&l;mc6D1ZZ zGGpkT8E9z7#osM-blj395p9ryB6jWS$W zmtdlxT_0ldq>`HzR?jp4zFecFY++$3&3u11*wL`Tcn`_t<39B$aW}dAK|pn;W1aFG zEH>l&nyMF%9m(8#diyW#?2e!6Vu|~6Yn?6AQckFoRQ!r6w>S5^o7jFDS;+MmqZ;f6 zF)(fmiy_pIae;F!cTZOZM}yAO^29vP8zah5ibY`;NWJTw;|;aPnT!pSFE6G{q22RC z3res5W+C-Z2xTUc$_m7${P0K0)ahm2ZtE#Jq zBB!*@c~|(pTD3Zv)vkMAZ61s5n9tO`uXBYwQ>@_`*%8ql8h@t!)fXm=v_3d7PxrZ` z<9NSWWtx3T>790xB)E)>o333p$MSa$a&)h+dQm*lpI(~QvGaL?`HBj6!#`+VQoCHu zm8Y@PWqQBD-+Y7kggc)0L+CIWFp{ygqciEJ*XEl-<*5>XKyLZRoGFgO=z|6f-W< zof||ixgw`Jkb#=Fe62GT!ux8q-6Qii3buOLjdtj18EfN@6`yLO80?biV$%)GQ8_%u z{H{^nz7`+r|JnAvg@z>!aRy6)8pkQxmH25B&%nE-lKBgAayYp zg5O88dtKfRP!m(u_s?@_lWT4fWRO>9@5R;|8Qfk;d=a zo5^ySS?s+5*L^8vrYDoAAnLR-E8+e{)2-ig)35iRn|$6`Z>VYFqzb(3s=NCkLQVMU zdg*)d#_6GD+*3=}N|i1k)Zh-64uikJDP*I9FZo!N~lPsOxpBQLQtpA?;W=!r{5}WPyJ~^a0dC$nt zj885nW$SnXp519}-2UF-PtMrEm6z19c5bdeT*^OVr&4g?Q1C+82XJP37)LxGf56^z zz`UP!XrJmxzINlS;7L;S;d{u~r@}yz^&eUOG4vmnr}SfZ!0pAcPBwQ+2Pf)=enq8y zy36Ttt;?UJc}PXR6AXqYrWRs#Oyu&pT>RdVcx2f0`||wfmM{ZzVN z(!hSs`Z$56$A;`}d6r}0LtImxnhb$2G7C@L_k(uy8+kt^P~MGZ4XiDiXPLGxO*#Hy zT+4({?AKCcE}y))-rUu`4awh%PeMM}VsBrPmi02y^C5ZUG0J(!*uHhoL7m3+dWR73 z#0_cr{u^4lGN!rKYqR*#g13t+#P7b<693Tn@oT2}61X&Nk?p_rY`uQ?uX$7CbV5*3 z=?*+QcgcLeT-r_?*&wP(jfx@sp!HrOKZo&%z+kT0%Ma-3YWQMmeiFCYrcj61c(djg zb3N_)C`mGe&vDxDF;B;}#es|KQ}OqVm&dzdb^flTxsN)|x}J$KgCE2gX=ho*_-ZRQ z24}@xciEFai~p?n1V!IWLe5b$?55igGX%vvez&^edV?Zu@chJp&}@2J-gWmafR2 zNq>>@G9eFD-tLzTqf%GCJ(E86 z#h9yO@4FA- zr}j19Whyh2>&v+H_5b1%hA~jA=MT5IbWtTDm?`tPLbOR`ap>23IdZ$o8aIT9G0fQw zqx3xhA3Fqq;TKo|#I?>#DAL_X$JZd6!?z-IsXN^K}LpwEDi0xXHr z6*=zX(Se@3VV(roVIcZ-J2$lH6ajINW$&*gTp)KyK{}>Cpa4hd|JCc`%CrPWf{CVg z!yL~DbV@?pFbu+xtvTM|Azv~)(`-W$2oVwjn_=h#TX7~8x7?$N;!s|7@yKga9BI61 z_~@piUv?xI=-xu3|0rpw9T=s0j3d+cIx$Gmi;s*_bpDm_Tfz-MbUN)XAVA(Ij}_-7 zyUp`;4lVp&;(Z`DqC2G@M8e=l&mY*~^$+O-tXCA=Kko)_`y!w}K$n<+Z?fp-ibsHVfH1NI&j90RBsj;4 z6;LGAIba+d$s8mS#HA#>gG5b}8leH{KkSsSkoc`vmv7Lgd0gI7xm;fN+v5kpSSeQUt_gjC*sMNf@^n4i-R?IS{l#9pNAz zKpZNgAXXAUj;xXZ;JMNRe~=nFL4aI=OyP3yARX)&Tqt=SPAY`zPJ)BkW8Sj5EHww} z#+C{EKprt0QsGTTmTDIw2noQ%Jn%5~GvN)cLnCnRp(tJA!kq`+@QA3Dy;^k%60$KA zHKoUVM}9lDroh~_CnSBeXmGt2!vkU_*)N5|Y{MrSy>|dWCDPq{ON`U;YA4(p1#AWX z7hRR0u=QWkctS4mf7JWJ@9|*)!6#z>a8xms6AYDrdkLLH5Gw?j5&=KI_QeVP%Tf`V zi5ILY{$OMr8@Ppx2?i>(Kafe2_A}V!f$9lBL4Tl zxo1J14}t(+cv=ubBZPZCk}1Fcfxnq2Kn>g}_WuKHMx@S#0w>s!{6kU!1e?GxAQ`@* z1<`=vK;9D8EBvUDNce=K!bqYx1%n8#fKGtGC|AIpgB)T&Fgl<#0Fn0o4*~y=lz)yY zf>Q(t$M<#~9RI&E0Bpg3>mK;ADDxP;0q?l4-w2c@heQvLQ@e1H+j#{DTUj6Gzrw zM~)m(K7e0<$G7`Rg*X-DwA%u6>`m(dz!4^-!EG7{UP#$lc(z&SQAB#l z1i%k$+d8DEtg)dAU$GK(G>b22jV~jEVsB2(nlOlNMmC zC3$j2^2b2y9Oh2}_(fm0ibZ*_r7Oe#WLj}$st=VQLSAnS=x`&xozUq{76J{94d4Vx z6OHn&Hc)%FFrQr-!1efXQ`_8@(&B1|kW<~A!+Hw1e&J)VN)$+p4a1^P1V|vf5y*67 zFjbgQNg&pj4JCA9Frf?ooLBysp~-42OjVgH0Ku@|9-Sz@9#s>66!k(bL3!>2#PM#& zfbl#Bh~Yhs7*C+E&I$v6T7-#tX_Vlr!o%IX{HokjZrSHXgLD1}uHVkt!do1{Ci?#% zRV46TVc@z$$=FqZ;B1Dj#DH)%_W`nak1+HgI96fd%YOu?Zv#~I{xKm56Nk803YEK~NNTDHcqA8?+qY9o1ygU_n|AATQ%V;1u{x7gKeEvR3g>L2<0|5v4L~!6az+^5W z(Wq0Vm0V>=^nf4VG6LmCh!y}m?j_KKmrw&vQheS3PVxuvr_OY%@`F{GG(ncXY)?FM zRF%+~N|WGQT0B%mmPlhJ0qz2VM@kA1A<;a5yz2rz(FBGJ8r(wCM}pLm!R`GgA^eCz z%pf>_I`W59N&XFrqcOrQN_b7cIK#P@@eQJ!WuS!wV;i(DIX4VqWcLqO#UYXoQX~yD zPa1dzr1%3){%@)kE|To-zpU~9%6~xCAEJr_j12SN!YjbPz)oYsEi`?&2j-q>Ksq2F z)U9GbJdh6x03N`9P@*5Ms*(y4@U%eu2PhIYkSAy$N8CebLxQ?S{FmnZFQzkL@L$6` zB^8t?%fJQcl~IriNhN!0m~{KBp3Qie2p|vmZ!*sFDkvB;_#Q!`2Gf|*l_GY&V5;k9 z96w3Z!0J$rv6pIgHVhk%C}mkK7uH&O67V9; zR_uk|`cpQ+@n_F}m3c*-L`>r{J*J+=%EAW^ zAM5hpD+Gx5li(8BgHW&qkzxsC#ZWT-gS`Id+8GbDExVpcY-?thl|iVuAwj1E57~sM za@QwLO>Ia?BK03Q`9HSj-v=zn)qm*v*Z)Pl{@Cdie1wr|Xn-Fi_cHQr#a*Wa4=JB; zpR;glWbc6vpvIoW#32zdX4*Y*P!tRub4!Jd&&TDrxcL8>fwTZZI{eSZ0(~ODxVYD| zi1`1`eAx!Vr_LTmRAeZC@nJC_kns!LslF9UV5i#J=nww}`~{}_8%BnpG-sq}3mx)^ zpMGfitW^{j&9D)QuzY;3q*V*nOWzgp^s)ZP!Vif&J=3&Ge=ZsGh@B851w;XKD$XPm07 z|MF7%uerY+u`#Z!5{v}o=XxB|75QNc8k*UTE-sUMF4;`s%yJnVo2Ux zef1Dht1m}0ydP&My=-1al#-=vcZB>p=2;3Lw>j?Z^u}!M^};0<8th zruGD=)N{WbExJBEMvlw>I;7{Xa1>LG{n~Jdg1-f#60gy@fmDGj&e&zY-Q#eaj>c;V zPUvheBz-T_57}j&2ab7(hYbFBfzhs=Jv(*$w8b6G-~Whp${f98XY_iqe4T|{(vO_& zpO_sD$=APHDJE+9f~({0p*3)oxp)@^YB@*!<{e7i;SoNZHnxL9Xvc$Oze+KBkMf7l z)_S;^Cp=CmmfxRA=DsQE;~Q@uQ3cn}j0V5&$ecDv^(^uA1(6e-rQtqq2~q9)`whci zGpb;+w@iOKNLkcU=Qx6hdT2Pq0sk;aS(hcL{;~I43-=Hgj!WQaV-g1oj(hkC4&HfQ z(|vp>I1VmygMC)czQCwwas>x_BRPjZD`%zKj`o#+>~=L5J84KD-#Km=2j`tpduOU# z#WEGCS`JXNncaU}F1?8To~D_Vd$keR{APrw5Qy}KO#5tzZS_JW&knqL5}PT%cQ>hr z+iAlb+!kXxom-8Kw>l>|Q<}LZKIx_4aai!YIr!iZxTO1DGegY3Y{h~Pf4k|p%KY-{ z(a5lOJne=V=Kc~4>Tubnv4w2?O=$*2(6&d%2!iaenlb+MS_5WOBZY*uqEJ)ghEY__ z&q8Y1G4`3ZgaRh}_j|*P*yKFkk~8&TCqC7<6Pd+?vWTec8)ZfIdG@>s3$JKmjR3e` ziqMjQzA4Y&kD<;%T3%3vfcl#F`jU9}%j(j+%5eIo`OinEde-vCFYWIMY~xsy*Qvlt zYgDr0FK1RGeznmnXDAMy{1`g4QMHM`B%h=o-A-c99s+VSw9OB|e~yg)3DeubTbcG1 zJcTfkCs_iL@@*St*_peo0iB1;)88rwGTe6x*n(VnMxvb)SH}#d%F+1f{-((ks)P?* zG?qv16ZUz2ex>Ylb>AO7JD0qyZ2NR&zl<)4fh?uVQ^zij^W8eO z{M4x)U-3Cgj7IRrDCG!vdye0f$G*KGFE4hNSG`|+vHasx|EtYq6n_EG&(EdB<1^<< zIbT|SB>UodepF*$lo@W0yf+{-+T+*XQWHLiz6v_33*DGd&uC9d=mA->XpoT5-EHVy^u< zGT)xHta0_xj@nv_I9Wbo*20HbD<03el%+ui{07@}lHqn`i!{V#lvtE!ti72sKd}Yj z-R}ETsx{(Fr#3e?KP+}}aeY56IHp#@b2n$ir}^yK`FT3Ky&+b7Nt(7QNt>Z&$x1ki zA@^*^o1irQdiE6eQ(}1yn0CA&EKy6b9Y)8YDsQnWFXmt_h8P9ezDfI^pVNEOMr>3d z4{0o|?`lRKOmnHj`zh|txfHF&VbrG`F1EKvt<0&&@fmEVk$+TveV#9t&pe#Y=6B8Z zmiL~*6OrdAiwfHP`8|h*G=%iFN5#~r&x@y>yp)Gp6jK%O$5*_u6xWh@yx#~NHBe08 zQ|J5d&NAPvRf>=L9S)8o8}lQwOW2DIqxb5wdOSkFga zO0@`RRVP82?k-K@!)*s#=S-PXLJscPN&pd44-r)z5Lp4M?3_u9#<#$D11^nFF^V>D zjNpzIph(6|gi7m6kdQ4vj5;K|2$EOYO&Y}`by=PAM3qS?QN7rL)d>-|d?UKEvfvJx zhkcSPy+C8Wwi_|If0XleyGT!;%DJjQ51aQH+!bE;qcM}y3Y*? z4enSdH2cxj)v6$E-62iIP?-iahZRE~>a5cc;}6X`;~P`_CgowA+b6j^@ZeesrZAkP zF9+a7*EQZ1YD?a}Q<37BYfn}vaT#9M8hQxnKciVxHSbu5FE^TQxz>h71k}fAh1^-h zYAjFj{xr+mTt2CvQG%NC`Kf(MH(LF+F0o2$$!2}r)Y$<$H57$B4b@N@+{_>Gwduvj z$GR^a(@Q7$W;6=)APZ))UU0s8%3Bjwi*%$jP<8fgK#K1t=1 z*Dt+P!|c4n4h~UCQ814rDLka(h&DHH?*B~lVE5LZc-Ra#+X&Jzr~#UQG^3I3+ZPJG zNPMQhx9=7$qY$I7oaKap`g!x^(WjVNCDA%hLM!|^vL|1D$Za`5dslYezp#9D1$BofMC_tK*O-qHOLpvQFDeWM-} zO*4R2*@2M?E~D`#9=YVb${syQ%Q)90L1p*QJ8S|ISg5lhS4ngROfBdt<}|CY+GT?8 zFIjyhRW04*2?@z{tfmIgUpG91-nv%V(ow>aa@(bBX9{}zN9)p0F?w4nI(j5UB*F<> zy1u`l^-rdIZ|Do$k2m$2ir%u1+CtpV#MD}jnGHu<;#6xaC3JqZIEg|hOH*lEhlo5r ztl*0DpB)PDyKhz+(j0YBdz*7UDw~}ua>$c=b7K#l{OqXmku4%Khm5J;dkx0gis9yt z9^-Xs*v|5khAkzbIyJ^t_sz1sEPW(xCt7!!o*$a8&D`&zycsD}$?Pc=Q8R4oE4{<) z?7JhIZM0&Oy_uq~O;F-bv#t)j*;KfSYEDo#{+J^3~fyB!MdJ7#PDKNi)%rf+AWr;9%ip~7Bn9zHJbDSo(kH1Ya4eq7vz(&zMI z;$!Nn9XC9D;eFb$Efn>|_LulJKEEw49E+`OeLf*UFc9c#*LR`OLKG)?JK=o0A@$HtlI7*$C-PpXRIdcKtZ&&nB8vg>?~O z=9JB=cSTR|YPLiB8_6QJuAcl56@y(1!?;vs^8_gYyhBIDxzC~r4s>JDMYcom78`J7WFD72qFMv_xmJo7%Ic0dD*WT= zZNYbOHS#s04!5^c`v%q9oDHrv!?$%$UzJ}%C2&8uLD%j8+yLC-`ElK@jClxy!*;JU zvhmrt$-3<@_+CNRy{K-8Q`aw1n$x2MZ8x@qcO04@L~gVf;`9<9f2UPDUyX(5^6G}Z znIRV-_0~>A9P`TZeiNP0JcgMCU&WXAq)geMUjG%Eu`wwrp6RnnNW{F*wkOl$XD=e$o zKTJc4qL05Z8amc2u30Vsgf>?dU76Ims<^GBhVLMcnd4#%94)Z}@jT2tAwdi?vJQ*! zmlF7W6{R!P3bEYxPZmz-*;*H=b4jYeAygK+NW89{FXpM2RPt3)+vULM8HMFa1SbJmM z{Q5pl@9pgskC)?`W|Ewm!(L$K-2e|=2&uz*Q|zn@+I!HgGo$t*TM}ghiNC?K*tZZj z;mtj+WcHvqDkUP1LvOu9dGt}LJY>oaaOhL*_9q$6IgKeI6h#$|6WkVPAt;!m4%R+3 zMb%bS69X7Ro0y?D<%*sXGuPr(kl(mq$X||&iE7d-vx^@vz+0DqONu^Xtq5)7Xb?mB z95bt(@~gs<^uBcBt43BAjm;3Oj@ex`=|b%WJeblZHY_VhP5Zr!4tYxy;+*i-?31bW zh~lwitL;JyCf;_Q*jog>;*EePYALdSZ^=VIr#EHJzIs)=3@rXP@7@GIP4m%F`eEWs zkk7ZHSN9DBbOQUk@xa-10EeF4GF?%rjm1TLyyL;$3Op%+_YXMF%x*k-CRZk{cCzSh zrnxC8aqARIQ{6aqM{to6JGLq~q6STU(xbXZy_hRc~C3t~;rZQaUTho0Fo?vZh`tLt==

O3km*mm9@4c&UXy0*;xiKnVb9BMjoFlg;Ld)K$pJ9Z7@u1+Y$soD2fRJNWB z$m4iDCYBnym6nq;2?Y;r^q|xG4l2l7@na3rFCSOYZMwQVOve++;@eROF@1o z{3s=Tsa8MG;dfrfb7sa0-$O~UId6<6mBbP*s`#G6S;06hW0ôO74ix~}8bhM}| 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%0A-TM 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 w2s+xwNH+|L^~)Slcm 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 diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip new file mode 100644 index 0000000000000000000000000000000000000000..39ed5322850505f8d22004fbbb1a8c0ad421d1fc GIT binary patch literal 1437108 zcmbTe1CVTOlQr75dD^yZ+qP}ncK2!9wr!iIZJ)O7zUTes&Ye5+&-;Bde?`=e9Z?lo z``J(C%FMNLm%J1(2o%6yFFF1P)qkA)zXxytYyew3V-rg!Iu&I|0ASR!HsilOa&d>mgDzcqmJ9|r!iqi17h>|$;5e`^i>Z>-t;YlA3%t`*`R>$AYb-|z+k0ATrZ z=>&go(AvVt#Ma4#*2eh%TlrtB|1T@oQIv{Zr$^{{SBqx9l>GJNaFWlKm^N$~PBcng z+#2^|pK^$tRpkAe3t7Kai$amP_L{+HK|@^vxZUakftp+YW=#D|uC|cN84))_?B(rs zlI_JrN17jQ8ri5ACzclE7~CF^lWTp83VXyeyhTQzPZQb~UPdhzJd^)H9=_JT!Ke?g zH>w$H)7~Ewv&di-gDV))7mx1IyuLkz6J)0i^EU5s`qey4U2K1&a~sS(yv$2=i_|n0 zS;Fc(rya1&m9BqycqW%9nsw+GOK`kDR>s$6La0}}o0ywX-tD-TK7=RSiN7LfHy0&%3BF%~2R0%BjHxqt ze4Gvem$L`{Nv;_dJT=yaA2yld7?wNlJKFpA}Rs%(lry>P*dZC(<|xJIR-zS zLI%{RZ(j+^6!?SL$SEj+v>>x-84jJ&r5a^c1v3Ka(ItVy60C?8TxM93taK_Q@qI$; zLa5O&HHIWnjvzG{!1qCc%Tl;!BO-5EDprc%6;*7Ty>&6wE4Y!V(K;aQeg^shVXB*P z_NEP`JyEXtEVj5#aBwoHm3-5;>Op%QC-2_q^z%cm{f5h(S}>0c?QIIp3Y@N2T`LbZ z5g$gpK!9c(njF032LHx_wutr<412UdhaeTWfs4w=L?#O=O1M0)>Zn~a`0bpq+A)2s zcXGfJ$WS94)P%J!j;O2=dq4^v6DT=j$rYNe6Ed>w&R0n?=~v}$w1j^n%NB;tq_1e=Y2w70Zizj5jfI0c01IDiP}WBn&_)Of=30D41{pnfZ{uR zo1sh_$sNI944&YgUs+GQl|DPzMa?%VL|&w%6*f}A)tmjyGC(iSrk`|RgQhJzt|a{t zt?jSE5#dja7J+qZ(MoPLSz4&Xj-tj(*ChE$aM`|AOOh^_6E^)7P_YepUTyq@eiA1v zat9xN*jek&bs5mtAJDydgTC0qu9QU5lg|8JF7S-Kf)^G` zu*8v~VpD8j0$&d!JruZMLyiVFZ@M~?F3o~1s#M7d%W}m*pqn-8Nl9}B9dQ=@c_FK& zU?*f2iNTH7dd4NLdk{Y0gjL@}Ygbnue1w>^lbLZqH`7O7f;(j6$`*)!}U!XHe=+sT+4M+2==%fFsD}s^p z8Gr0kW8sEK^kO;m2aAxwY6QBlzmFmM8D9U=^otcoMD2MZJ(!>1BrwPXsMy2frm>XM zZ_4)chn`i9P%h~2nKhgqFfTDBOO6lovjtJtZa={P3>y4&;X7J@008}e@*&aRgND6< zk(Gg&$sgFTv;AklA*0x?I7p9hd5?;joUT3tDxzslelpKMfo)}kMm;Wmj*vLsTR5n8 zaO?H%x`W$6_v4^Lz7IZ{YE%tSub-2dQ(mhcabrl*zIZtFZ4A+66lIx(lRPG6%I{5h z8EIKuXQFZLN0_lS`urCF1zxmrKz+)Xg4CZt31nfP^>yDhhz_S4<>3|)up|<{l9*TD z2~ZTzSB=SF6cYhuTsDe;BCy|!U2>mEy@=-2gM$J>N1aH@1%)1aOo=s5XVi=C(Pw!b zh~bxFOXe*S<>p8a>iLObup%0&lW1eWV!xZ?MadZZ%awQXqyr`!_8bxwYuLI{Bg?Vs z)J-s0Un7NMQ3ZBQ&I*G2qgk9Dl8RVWe4L1Px=Lz}mN)9T_234mrgkp))H#Bli$89EmdN5_!Ot3FfD5;Ki2qFEij-aYehFLB=nEq0jiKlbgf z8qFen=C14y*gt{;0O0@qzB!s07~A}-5++7v!*)Xy!RJ^_`XWp{L|jwRgbXY)4>E&Q z#7)E#nyWc+OH%q7kS6tC;1 z|I>HLeW$&X`&rexSV}4#L+jWt|DoM6ePg+HS@ophRTA>}m+Tjj;Q+)AR(U@gM6m*; z`RTJhv-e5e18bR5X!b)4mRw_o?f_>Zsa{mY$X+U>aGcn217c5D7V)?p9HcboiEuk2 zOZN}{J>yO??{1NE1F9;X5)Na2l6<$h1WY1knEWP#(9w>%4|Hx zM+Ile$okOK8`GrEeoRn4QB1Llr*zQ*`$I1VC3NfTL3I10{^eJFl7VB>mXfG`ZWO2( z$f~=;w6~6Sc88B-tv#C^D0{o&=dy*|AU-qpkluWjjvnAMu3$gj{jufEH`xvShc`UP2$AN zs$tlLsipl#^^bypy0E zhU}+?enYKeS66w?FQmnI0DKUMHxxX{EsrIxt6x2@LdivbFj|-DKA~2tl1N&~O2(eY zvYPh%+M4P3*kuYp*#_S_=U80F1BPrqQpvef#cEl>LOcrv30TSZO(t%HQC-~6M3xM) zNfnVF@YI;^n3Twsp;U~@9w!^*{QWKKY4q%!NsOM{y>L_guoJ=(-oPASX_hYj!!jq~ z4gMP(}>@Hw1W?h6J@Yk{Ii{Y*d(kMHnZ)fOr?z?Ola@=)*Zn=I15K>#N^BP%Bwdq+EW51K#lZR`9m zo4Ehzk|J~VW3&Eb1#U0^0LK5Z{r@9T{M9o3H*Hh0vVz?LJ%aB}ZQTU4cypt(RTya+ zYdryM0%U-9JL}m?WB*o;ntM@B!x1P>YWI@sdHTrg9Zt_i0&S4Ni`uqH%F&XKI_26l5M`f{{pn|Q2-uFo42i7u9Qs;cU>n0p5?VU<+* zy?8E04JsMlYSkUc)O0@TputG!YYOBMQ9;u>SkKPNkf~_~a~eteJ~ii;=0n*=z|CD1kk1+NL~CYrXup3g_4IGPd(NN1%_5B4USL)hVAK z4`Q-+*A3mTKEqtkcYd<9$gh)xLZWCV;C=LNV8nstKerzvhvx-@U4Twfe`?m-K&~TcruWu4XZ!(zgvbSquna_oA~4 zHqu_ga51`_Iau&GjLfXA&AlESD15KfP)R$VRDf#VY#VSJU7^Q1@R2Y#*`R!x>#%zK z7)dke`lc^yXUzj<+GYaAWEJglFE1@mu!>irbtXi%^L8-bs<$_+LfuQaCt}v7V^3ty z5KV5YIN=?mt$GO&5wB%&E?TR{*IMpgQ^XzhRYtddVl%^ZKl9OPBYd{oMHhR&YW(aB z%eUWi!JNjkC}`06e&AuNqO9c`+~&Y>nJ~TbH>hnnQ?sg%VKho5pKnqIBe(8I-mXdT zNuIm+UbV(&C^blQk#T;^q2|6kd_9E!&zV-T@)j`VPYi4#0szqckK;g5L_k_SD%qK&|?_b9FQjZ^N@L~l7;>8JPCqh&Of|UW*QVV$efScFi!l;o{85Y zwcY@x=z)u-g*!GjK3$(TmZ}qOv0T(u?=A-ky~^xZ_JwS()26sv@Xqx zKJN3~`qZ1IP^yd@Wr}}b1s=*o`mlvc;2TFaqvP{DlpDd48ZhpgIHsLQS}AW}2-~#KN1C%o)=a&U z;vkD(xn~!V*f+yH!t)U`SXNK-g#FuA1Z;%JgMU3v`Am*GJ;Lym4<7>!ip4=GXC0H` zUew(;ZdDLWM>?`_nOL)C_GeX+yo1<-{#s$YE{+7jFse3aQF_lJ$K**OjIOL&#J5B& z)T9cfNJs`l=2BO71Woa1(QVP{1@fpZF`ha^-DU~A&hHaKAu2{Z5gfqyn8=|no-fs( zu0$VoC8#{?p$_*|&E@G2R@M#7gm=`zLGvc*ky7KH-1tnO3RxtApjdVb*`1<6;d$asoz##ld#HJ^%=N+2PVZ2Ax^`EA^~N=P)LwKy|p1HE_U&mB@Y4?B=#5rVpkR&D{9p33s%in(AFAL zk$axK<7+h^Q_scwI>9^OH(EL>riZ8DLb}ecVU>(}TF4nHcTGQLTHJ5wnMap)VcqnOK-tUd&ESa5~s#gQ(MMdafKd!!&7p1xFZ1!VkeL~RQ! zwtAsD_hD0JlP1&Yqu%6GeRPW(QEk?yxgY2bwvUU-Jq+=IYFf!BXVW}u^T^l!?Y{{k zh2roiZyCQ@o)@09b@5RErkDT!87Z)8`32QvznSw<;^h*#huRJyux z!U@SA9Ya#YRVSGS#qRz{SP(j2#~DVRQArL{X0P(d&`ad)b6C2NOzrr^#?mn2`0=+L zOkk$&B4N09ff@!*1Dy1tNc~P33gJwbDSIR>WM_sQ6Vh;R{`Ut6S6#lJ19)q2~29P|Ora2Q@=+7*TFA8~C>&!lJfi+wtlWrlxaBm>di> zPS{=1bS_WO<%pKB0Z8&!4eQqBB(Ty>{b&A5MEKWjO7R|+2ayY2V>eiI9a-99{zw4_Vy*P;0HeJj*F1iUW>>KbeXv4l zAiFv;qd8n>LC5f;D@3z?pvUerx%i_z#+;Nfr2Jr5DmhWdw5!QjFm$&|9M2=V&KqIS zbaxWRpp-89XCU!xUASC;(zQXS#LmAyAeP>8{1Ed{pC=xPGCg=}0^Wgp_}x#VM@N#J zVordA?AX({!L}uh(P zMp}2e`KG@kOFbKk@auEU zeVk;)o8h&m=>-Ot1d=-Y)LecFgme7~9{73@yT36;`8=jrUOc{2Niace=zWb($T5#) z#z2KUcke;H;H*ifx|X7-S6j0-Vjn!$-fip9$XJk{(~)=i@LN$@{kSnwKM1d5unl}q zj0c%DFJxt(YNwzCZ6d^Mvu|X285EEP#Pz!wU=F0q85Wj(jDMKR88JjY{gM3ItIjN# z-o|-X_;jbAe^!PYF#V2 zN(sFU;v;HbAyHg>BVV5b^Xd8*|(;9-&*Q&E!0o;^r z%j_M4)i7RxP(QlK;VV&#)TZ{ae~PVwZN)KSs+(!T34z_R7wwXgM;stGpRkp{dL7y) zBB&1ncyJX@tPnXjDM)K|0VGJoA3TB;PFY=unnSz3BC4!szg60t#_QYSl7)#YDrLtNy@o|1&q zP4Q4((Ag7LaTY&!WI5BdBY)Svt1Q8zIH2958!`g*V&xHa_*`=W%k+N^om9-;;O zLc{Mr_T?`vt3>isd*u(cnT`Ix4u^kB2>(LgQn#@?U`6`M(PL1!rsSBL7-s?Wgmdf` zS;s|dy#$+nS|AKJiD+q$7fCKkfK~i{&Lp5XTk4DgBEzp|!G_EAz~d}K1uiC;b+-3- zNRw>qmCIGENe`w9e@LNvdD6<89jcw$o#ivoNlia0Xp*k|O&a>HYht{4l`=V!| zDx$klWSoon8v@d}e5M6~ql%c9ksfDk8^iTeO3WMLK{c{;_o^1xXefWiB|jVVRx2SY zA%7gpi?c$g!Cv=V0lC}6th@AA#FkP;UsWb-9iO*R*69Pj{?P(so_)*DT@8} zWWEDJxuYU@hPTEkB8c!Fm9GWpaidzXD461*{0%!KBll zGy>eL*ONa~sin$W^)d7e-ATYCn6)x4m#2p!2qBf`#q)_DLA=n`9^1|pJf%OGWPM`$ zd=nJM$Ujv0`J)9^)d!*RUm%9VTO{>#1k{&1Q4Ken%E}$5{IH+UR&D+xxOq2YS z&c?38_b!^ik!aqSLdia!?pd-v@9}m#iAGVClPXlq$6y$x@YQfPPfZn5j`_;mG+^;zh_4X^zH5;dZvQ2_Ou z4kd^tRIouc`$YEp)!*A`bmY$>GOt#Q#EB~-nT-_MAdDae*XY@pf`M8pvcjSi_FuL0 zEVpL4gVl>A)7h)oHi8rvAnR$9XXwPJsK)2RCWQuQzvvJKK^;inAEsZ=lHp!KfaXD_(VvF^goNnYCvB&1WyPtE zILI4m0m_t(j9Ukm$viLid=~|(4sZGMwFx$l!elQiX@OehMJ-pTF*1VB(4+3^htRBL z&yD6BEXKHX>!Rz33aA>2b}mUz{-N8whZ>#JESu$-t5BJNt4myNo=uEK1A+Pvb7`jsW4jH@1N@cyoj^zr7KMRbw0ZDV?y=NRNyA26quPyMzZTZc!hvThsFoNoHSNOl z*b9z9wv)7-vSjE{vcAIWotY3>i8FA!Dv;44u>|C_ekKBr%AoYfhGRy>S(7n0Dp8~- zS7oph#86`muF6i4tSB6_(mLd57Ow&8BpCkSTp@}5h8)&bF>*)Y4qJF?#MqR>$DF1d z5h}bWT#hYxgH4{_9bR_S8Wgz4DQvgChBD9fa~#4QHRdwyJaOu-M>qe}w<^+FRN8lV zX`^M=K}Ma$_;@+5?!H-kVne^M>i5vcM$!hcO>64t3=kn9O20C_ozjShuMNo+T5r$m zX{6vDv5LA3&tfX}NJlymnSH9mV=^;r6^cPa=&*+w<(@I}X&P*YydG6>k3mMw=|06M zl}Q2p(9svW(S)U*8$zvS!opv+y~@c+gVNVYGImDkd}=5ZQp9Q6;G9fTJkPkobanCt zIHC{zp!Y||>QeboK1$yGZ5(U}p>SM}bcr(xA(E({QhM`sX`_U4V_#MoBkjaWGV_oUfRymJhRDX{l{#BXNj>d4^xm*$SgkZ;?s};{CgwUG3Cn zqPOxmZS@!Uf7B3vNu=(&teWY6M!eSH|JQxVzt<4|sxQe_({sY)fcd6<*OU`aY_S+j zywHL8J)h)gBV>C8=okzT0GeXT=;pNZN$g?c5#uzS6oxaI;FnO!wrE?<%bz5yMmr^TMZEEnh zW!Ku&3R6*o>jC(S(lso9v4hS6q+<#wB78^&kpj}MEtE5)UBySh zw~8n%OQ;(if}OHtFm;R05_k%03>J_d>+nvV0EMpbQ{dG#05#!PYsq}(<3O=mCS3(` zUjCt&ETrAkW7gmsje*h)7Sa=uh@$#4P03GLPtrlJNd7L}Ks}>BrewT+wssni%LTND zB_K04AZv$WxbMZ@;Yt}i+8wl=pWMK2 zvFlJrbB?(2%}Bhs*cu2U*S_=t=p*n)EM%9EAvK;_iIl5DdvzDei{~v3jw?MN<>+b zVAZwMai8$6Uw68sV@Au^EI$$DSdcgvOU1j!CP-$L(n1{7J6`H=DesKOekOb-Q!YV1 zJt9|#9Vu5RjuMLeCXSvgpzYL7-VA5+5nV0KCZ@oPKe{3!cFu1jOt77zeP%4V(Q2v9 z+aU?P9{&*lQMY&k)xltx+7Uxb!O9t)pxlMcnw$bRp=C(|=x*PpUK)mXMznVxz9A*k z!YVe(BZPCv5uja(TBDYtjxLZ@r)|`A#iB6VB!Vh{3yfi5#xrxiQv}a*4vfaV6hP%| z9ZHXxWe*4Y&R7m7CKD%zf2$~te> za>p`|^1+pl$nQrjdGs@e#uKu}x}ob6u(b_--@tz%;eS8Si}5$)g0+dO?f+06{;NT2$;dM3{L?t+{%M>^ z{+Y@DLlFL(k;4$BN!yJ-4Ba~wM6P0AiSOcls9>E z(8Gq5Vo`Naz&3l~+EzNrBd>rtr3CbX6Eo`E7zG>`I8H-({cN+;G771f7~Pz zf!L$)_7w4llJ;hNvv5j@_5h5APPj7+Pt=<*HK0%h>E^k3(olnC*P||SOxyIzz}$kh zt0?mu~%!VMV36=b2{>$yKr zw|X1_jVik)*71HnUX~19=D&Phm3X^T$2QaKIXt%Am<-4DIL5rrWHHB`USLvz#G7N@9OttgX~$RL^g+aNObp?UIdSl0Jlc$_W0Ce-XB}Z zw4k<2!E-fh7Os(L1r{(lo?f2CcP#SICIKP(pR zpVa$zlS%(@HfaeV5m_aXf6DtQXxXjPqxe48vhSBC7hL(+kuvDh48zd-e!q=ZvE6J4R4G^+?4roL4#20V_y>W1B2G( zpgI;4*XYOe@D$7`x5qQ$!;y<S()jYDD|QSXdiv?MOwo%?5qQZVR{1cMfcqwx9iL(>3;+gY;Rx~xk*RoD{HiS>Z zf%&yLEJf+Iu-F$D0hHL~ub$JS*N>(|SaO#X1ian1$BNi^ymg1*LQ*IFv8daTeCm-miD>SG4$L!jefX8Z$2b>S#I2iRaWf&8IRsA;0EnRvu zN_0y2($GO~s@@phf36%8&VM?h!2tjqk^=w`{xfjYKI1p^Pb9 zHS^*!(RwQ3rwLNE>Dp03^wX#uN$#ZMsZ*1xogR1Ir>1BnBw7-69X}WQ>c^KZF1mWF zf2vq6r)PYcKB;6E#e1rqRJ2wAaIN~`x&`9(oh*eFSJr?|#WM^&umk*%Wo8ya#Js2<~lBJ~l9>%x8$S=70qL70v;B!cBsRAeM@pq&GMIS^VUz0N2xeTQ7=%HL_12ZptQIIeC21n@G~1v%#5(uucG^8Yr@i zT(VL2ZoPsq>?_PtWl&nx!=kGxA18~M4fZzfOpz?TI;lE}P$r9kKc>EA*V5uDP0y5B zCeI^V6A{pWah-H-H*3kD0b;|BKn8WWWkM~`vTEB@TIZ+UAK?KJ!c2>5!n@{}Uq4^N zdn6%7fDdMzvQeGbK=AHYoDgIU^bcYTH>gHNok?OXY>rldZP4@_nTEOWqT9sZs8$VS zlRzziCgdNJk;#Nt2Ab5*y4P6dU9{mk2@G^U7p>zPFRNjyRa%Rp8xGzZc4@>%JEW&F zsC(SJtG;yq@L(NX3zb0DkDdYuAI4r*I-IFKkPP3IvXV?E3l^VyX)Ci{A7*oYO0`EN z7qQCUReaoPA9joiW?%Pi7dPO!2bTzfaO`dfAFdEZOPd6Q_@4LldcXgW;lz0rRj@*U zp*dc-N3{qzfY`Y_d^|jRxkf-BoBq5?uODQ>*?YX+(Ax+v_#g159v*6QKgXqWKfFPo zADx+@!|IAHjEUOFiqqZe)HIr@c$ebuYA_djRj9~=HAgY{cmX|@Zx#u&AU9Ecc)4)0 zV|2AIk>`qs0$#R&1$Y%@$%F)%!V}{)`-GJ?NeMQrg@p(1mcpC`T@~lC*S?jR@P%;XA}QM|Xy8;FJ+-+{x8}6?iH_3db0t3u5 zChDH0Cn}Lq!Vdt za_p0Ft=C}qWwd%UUX29l_4kP+D;J(MF>@ARqHrb@`q3N&PyvbM%LI4n#2JmmMY|rc`sXSCEspr67X=h!5_S1# zITw$)u9`7SAS+`?dqT^e;kg&7_lqB0%|$yiI|xHbcYL0i#ztx3R(fta=q0&pvr6196{4JA6C zU`!|+A4Qz}rnA7VveF;72!#v(3^Vg7l;mGp!A+Ldgv5E=@PIZGHr!kfod6)U4}q;MNtilSZp)-Z|EA4 z5Aab?GRg-@!KC=)Q8o=F9LZ0>3ECL2(Dv%1X9;OeTM_ohdLzPPyNH6JIdK)Hd~brm zF!n#uHmC3V5JP54{7_-itKP91IkFQ5jc{hoK49iY4sMqdNew=j%$;aPM-aty7R%4` zf`_tE2`>mY$|lrvTM9PE9!v!!$+Y6@N{(OGA#LF4r>K2$OgtZF6`l%sm z0`(C<2JzeA18oqbgY<(r@h#r5%xZdhc(@eql}Bg7GM>BXAKW4C_VkPGV7ilNSDnQi z56KuiCsW0L%J2v^$4skrmIF$!5dV-Fq-N_Cp?l_e)6;Jl@%D|kmN_Xc>owM#sKQCW zCXyT=)?R)N>VK{$FdOkZYN}Eys~a>rb0R64auSJHfxV*u6(b)AL zaOp6Ds~JWuhDo57wvq+JBt5Ann~lbiEX&P|8x!`f{7@aw;01xXY865U{CW6$47|3G z-J!lsF4l+Dg)}=%n=9C9{(MR%@Stzj<{lN*B%b&^JHM(hKW0`=^y~4wM{Y{bP$iZ9eg%X6oM8NTQgR=9K!|| zLnwI7TE8MJsHw%K6<U3i((&`>C@bxgaeuQ~d78nF?6730aS!3o2b0 zdBKWE6!?s*8>3anTNyjV%Ta>W9vl{LoR+{i)ZjT(!7mdbv>{0Y5)u(&jj$ozYdi+Q z92({}} zUK=>Y*IVw~J;}$@Tte>F-NLk#rOH2ARM0l)$$Y7=_qW>L+#disSo_1~N!&b%hg{X& ztY2E>6XXWmma0W4Q84ois(h2;ZmD-~xllm~o|T*#x{kQIvVG>;u2RW~L{L{oL$Q14 z9W#=!WEEMejtQ+u86i}|39yF9hUz^ESHzelh#>hmJ<6}VDx%ybpe1!`WR7xCCqFL@ zD>7U+s^8<7ZK7piuR^C;e}j>q$$rXam#5O{RU98*HCB%b7+f2@Uq=97f73vOn0n~a zC+A$Ns2WVR2yEQm}75P`W_|cS$0^ji&T$)4v>uXJ^4J z+3AbrWYTT}J9z->$P2Hwgjr{jkzIxga#&IaPjf?|E48R?b>hSdCN;(aR^ou%q>*qR z8Gy)Tu&Mk4AK6!5W3mT4kWvQ9u2|`yWx3`rzYDwUQGxDq?DGk|YTc#fc8#W5l~4>% zVjdUzwr!8!#|#=eJu`T=fwM^5pc@`TDHb8*@Ob`dPdxb43XM7Bj{NuuqoH+U&+USf zwL^WA{W+}Ly8hWPR@zhv#&F{Ur3g ze-Q2cak%rD43Ad#+r1r>B_gjU-+%_%;1VCIl@OI+c3 zJJ>-q#J>YyD40SX*G%bT(_%_@5X9J#TogQ0YMj#DA}igJvFHqy#Jr`7qU$Dv^P)cQ zx*ZYt@*-YpSnmOriP9e5fiL!GzUSVj$vrl~2)@sd@X zU(axK1+?)C*8Z@&;+T#{Q@`!Se~zB8Wy}+%I7i@8IuGKW>L}J}7fjxi-Yh_BBwG+_ zq#*hE1s4xGAL>hW>)l{i4tifSiGzm?Y`m1$xiN zP(`+yBp+8)usyYrZ6ZO;qh2wGs7GxWcr69Zm^QV9NM`^gnIvR+Awjy5- zmSK zJ;ln81r}SiR8*z*WMFzWBa}vZoMTu2tDf=zz>V;;h8ttHBVyi~o>n$?@!LsZD4B^-+0)82oX&|m zj3fZv{g)aKn48{FRuA4!a`x{_`(DP0)O{81g*s1TxH&e>?w~67*s%5vzOMAj7yq51 z#f6&vd#Bh6{ZbL-aB%$UQNNKc>k5CeRR$;gqUAD3Gq@JCnEC_n?|5gmUp{PWoepe2 zTRgQX^iV8A=M$W=?_FQDL-@t~dUR`}q_%3ZL*k01Iy!Y&F1u7{Ozym0o8mj|t2>42 zap|G}5#^*wGnZ`@3&|LoB-K|FuSytK>5LVYc}C0Pi7dBVz6EXkgsWS9wLGOdBJ<}5 zEl1Bj-c;Rlf3rQr-+|Rkly3(tR@wHd$4t>^zE@wt-fuaEz_6`&!_p-<8jSZ zh$?CIFF}|WGCZi3Z$IRlvp{*3Sk)t|?{jb;wgJ@>*Aqo)DwZyP$6YzjAdx=Sl;~Tz zQtIkj`X(w}f_8C|>$#vAW+~~2AOoDc9vHX6pN)ZCmh>_N>Q&<}F1qt?r8Py0+pGj> zpJRLZ=k+Y4Jt!0vXc^U;G>Q$?$jmpCSK%5Ms9EehjH=dWMy?X;J)$3ZAqlxgGTG!@ ziW;P6faNO|fW9#UbvArinnfu4JXRFTCJCxkz8^tLa$2}7p&uXFjs^6Mom_f*i;jo5Y(>usuVhfy%KL25sQBX9(XM^UU^oLVr))=Sl=u(+}Xs z(1#Pj+|{GT3UGq$x#Q}6yua?(4r9RhLd^2^8T~ZSs_EtkJBUf}i6Q)zYNfSrZGW)| z9%Z>$XOu}JCA)+)1y!C>*~zj-YIFrDG+k1nlRw-qrE>gTpj z@v$Gcce)YlfN^ET5sNH25_irZyn9;Z^;Qtn?RsglRXK$kTa=Ey6dwlk(HQ*;wMK4| z@*-5@d!)&AZKb~nDGrPNP0|fxc!~y^y{#STtWZ>ldFK}>4L+`KuN$`6v)z<+|FjTRP z)ywX+hrrMM-aHpGYA4B@wi^v`rCsyr3cq6q-cNiQ&tAVVlf$rSe<7Z@#-rPx) z96LAK4PECxhtx5TqbM$`z$<5<%?KL)*lDg+iqcB|bS`$ct<%Dv?O-ELl5_B zm?ca=npaM_5V-5Xz*HbSN}%$cx=oF0JIiWOSjbd1zq#;l8br%;UJNG8u=8L$hgSRd zHrloWt8>8{`8TZ<j__JCXlcTPny(r z=G!T6WMc^}O}Qr@gDWapmcTsk5i-~pr70Bp@>X_AxouFQfS(!9xNx4 zWfHhp5qXp!nvRURB*ak>QQEUJ;f*zMf;~P&mXEAPOn1u**6!T)B=AuM!K85>HtKrD z-oNZqwls&X41|<~UmQpYqRbe`yV$MaP4^s*0K$&zM3?*r(FjIjnISbUnj}(D!|EK1 z==%>m0DhYMy6U4jaxG4t@EPHPm5>~uqwte_I+j4=EeGI+f@33GrMVRulOiL+zri^> z-@QL9=E^}ytUQfi^H{^;zb%eGQ}|hh`5=38{G_n_;v5;G%CipT0jqkCZC*NxE8i@3 zWMDJ|ltJj@3^4HjkoJyImUUScXxPrMGQ+lQ+qP}nj>rt#wr$(CZ989NwW{m&*H!)A z8RP!E=bUl(x@*t1=G=4LzH>1P2CxfWvzm-~xV{$|5Ggq+1$ttXvizQsCDTw35@qBH zA;?GedrXPIS;MhMg&$eYJq|NIs-N$+OiiG#Epd-$K8hr+>#dyZJM`sTNnDYLM~Rzg zgOO#Srr!s}r7vCLz=U3F>2|G#*^xhh`1>o^2ZT)0lzWW{X%F)L-|5{*jNZHNONX z4pe-20F2m;qy(qsY@5+mF*7bBcAtLm41^Ozjj{_P-Lg~8o30T4peemN6W&t)Ic-{z z6V3LD%J!Z%Gn#ysbu0(8Z(%7GDN}PD{CB}dHS19XA}!$+$Ux}*Tlo=FZjmPGAgZ0s zxO*yu{0N-#nf}h=lS#u^6~5d?;pqm}H%6j5DA3AQPslE7$sd|kDv(?NAS1IR<6HJ= zsp~(Ad_cd;Gf|ns2oQaL8j$WO5qciI`GvvCs74n%!_P2ess7TBU7^Yuz-gIT5`s5D zAJ{1VGc-fvpmA%-D*#B2%!t4Z{NS>>>B6c!-byfAtr7QoClzfeaE+GQEB}>O$!6ZK zBCsF7XJ!fSB;2tX6Xs;|2>osX3k0hKqx=axw1U)sG|poga#ik7tgo2*KT7&C&#}|b z38NMp3$u%e4o0s{J{h8o1suRS*~o2|rkF;NF1J7{a+7T{?OG|2nW%6w<_i zwgfVWc`Q($`w5wa*{9!wLm{sgI~vRhRBkANt%russQ^-uy#Mnmh~AHstIzx}D5)-0 zorZ-*oQ<9J8Gq_hu<8SEs&4%vm(&-5WC5a5;&pbJ`vh#Gf<3RPx?9st<>YEf_qyCE z7rRnLn%?9%$1B*{LIZOKo2l8BbNO6zoWTY@NmY@MBdx;R=pfHYkC+h}I4uY^rQB{Y zv8YP4&Y~tefp;y81igvlP~7|@d2UidU`<_33P@tuAE1C zKv~grf(E@;gsal41G!M8pw16#rKWt_`0x%}a3-r>d+ee|VLUlhHU>=zs0$N8q|P-? zNI#Yx*Dd&M5|u~omo08B^6W~jTz~JJJpvI;-3oh-tHqSP_HlvB{EF-CGB6MR=O@sA zr+e@$4>_5?xNPKq#%2Ej-~VxB;eVqoz2s-4189-Gwp7-O8Wv0aK{+P61E+jVDsYbEkwpNF;Od%>Zt2WkK#BeG7TzJ znr#sEU!=K2-CPe;@0w&meKe$IWIUWwC;rr4-+BIRmep8Rrkrh6q&!%0=sDD;`PMa& zGwIC531kSRJ>`d27(qr6^uu_}>YnDmFG?<^^De?y>B0p2PXq>k7UgfH%Rkwx8&v+y z({iva~WvGr|Pb>W?iK&tIfu_S0ad03wUO zT&6Z|TK3o=rn4A}I1?R%GR+-_GEbHQ>*RAKeyjYR!w@Uu{8c_2*2E)l%yt+$=VOL{ zBpT1CXU8m3`z(C-r({v79-z##c)rycU?pnaXDm~`Pm2rh_qRdK%wH6=D}Q?Pcu@wb2Vw`QYZ zO*qa!+b%OqiOR#4RV z8aEimaA!uaG5GN9#Wez#R zt2b-zcKcPxTfmGZ(PqB`c3PfIy*K#GHEztDg^y>N_I`VaA6y9F-Zi2J97a2Ep1}a~ z=>kww*b+UF@f1bSbNMatiS8NT-`#!`hSkd@$y)oE9J)w2wu`QTq`J^A9@n z{Xq4simLfXl6kQ5v*QX=Oo3tGhVLg?@Ir1PS!RdjOGFnAY#EqjnxOz003e=JtQtJ3 z3Bi|SV|(WjUMqgeTphJXandLY@n*v{bVW4Nj;HXFEW66OlB}FVY7lr~YY-0$xd^G@ zvQ1+JmCz>G;{NEiN^q~}HI;G7&cE|3ZHnXcM8MXgg-4;}hSd!^+YD5!Du6m-sRF1Q}iY7JT$+XOQ`WcL5e*cD6?X)Dn=2yP%J zQqQj9Yeu}+V3EkjEnUKK%0)gE-e9n?&5zjp;7QJT#p_yF)SPl(2+R;sKF-LT`5f6J zIo_}3H5%{v^{ZqoWiAelTt05D22e`H+K2lL-1JR=WYXKA8kh#;yP#fur071*Q-s@g zMDA`_r63DbAGK?5GUQ6;&orTDRyADw=QP*4Fqa>Qi@gw7W`P|To^bmCJZ}Io0Llrh ztbs8-vuU6^sa9tPFp2yye2kr%-JIEmF>-{#x6tsC5h-{VjjBo*4=0tB&5ByNIOkH~ z+D(mx5V!h9ZIPDjkr=xhHo(Lkd`MF%iXiZ~1a@?=o??2{zFN#VtvP_jG^3Gfx5wp7 zeQCXpgd8(LS_T{{Z(F*t-lnL4#Tb`S!0xqI6K7T+Qp>bT*jzke48B{mL9hSdrxW)L z9+2>>G9bVJ0Qf66jlZc@{-hfN8zXyzKW0e(+a|D}CgJc^8+4wjSfWh)tj8dqBr{kD z;f|GN!0;$^_K=ImNCl!|WGsoz{=RqI<$?x4hTu=sYR^>x&kT9#-4^lTd~@vz(^Z|G zP^0V6+#VwH9-Ki!qyzPJeofd0%v=2^Y+L9O93I#=tvS$0Q`yqnuFH^zO7)fr#4iTr zlWbCGP-4s+*|UtUT9O9mfd$s$spl8h9Y0coY8}i88J7$m0C) zX}zMdsz2(i$MLpSfU-bkwr6E*QQJm@3XC@NV>A^bOSvc27Iq7HR(z(I$gl0)73vv^ zgoI>!fl6n4jb%EI1vIO#t^4}ug+r%NAjWD0e19*F~`ZmP_CiIUFa>j3Ua;P{sgh&j><#Vus5PYumc0VJt)w zhCQ)9NXOv@``TW_S2b|E{tk~~_o$9=2Dd>dB2Z79JXn_Uq{4h+7FUc?e@2q?SKy}I zH-^vKmxS*)AXz$5gNSVgVZ9KKmiXt&t%u)ZQ%+_gUn{*GA0C)o8qVbEsPFF#pod<+ zIl0i<`|`^<)CbI%%Wbl77^Gy>@O11hJ=Fzlx6I|Y-#gj!CloaOo}xTabvF{R_HR@! zSxpsZv#`+2AEI@7cGeAKwul7F@K;(Z!FA@bO`Md^m!j32=~al$+TQV-V|S#+7qDXeqV~Z3fQPLNz=qV&LKX*nLQjx zFR800_Rk0G%q+ljAE;ET#Ms#eCTl~_frCFAakmt!8=j`r2oT<<9N?T5P|QC~3))Xb z=E7S<;k~N>;f6va9@xSdJ8%d(nhT%&J-3pNA{Bw;BF6YCEVdgb-==C5wU`6%)wSUm0^pee zYJC~AW&*ivpBRxeAPy>ixXOT$2(+hmcp*mYDHI-IO; zu-=LuT(cIrP=ep9rse}>8WOqUt(a^n$sEP^l=R6Hlmam5a3)z&EZ1x~uPVu<791XW^43sE$}}|(m!AL2lLAR!jXS&3d3bp_wWVowZE|B zUm4u}`%V8FwEqj4YKDST#FtF9<4i@8+Ja<^-7H7e6gWrE_Q>CGW}x# zw95qKlH!ZIg`Xi##_?w?$1{!c1jAsQa=hF3o^(vg@NoE#;v*t~sUC3Qp}E3o;A$;L zxO4f$raJ{Q)q9r|30B41#CsCEQSBLh48Y3{9;brw@|BnZMu;IO4#LZWs-y;fgxjY$ z9h)+$r1KhGdB+Dv=CF2A_8^`~JmeD^fe-GmK{F*+z97}d0Snt!-Q4zuH+lxSJEM3U z(fVFz4Zz&A!Go!&&GNE&ck*}5-ZWD3AsW4$X>Z`jpRDuktl4snjPo~uM;Q1qLVla2rV~ETbDRg|#ikj{ z(dGO+n?|v<1N0Ha;zGdOAdV!Ci&P#Xm*`+|>^i=bdg8Jx1!1GKSSWKa?D{)_>z{~n z#7P41|B5J}uX2&(e-G1tRs5VGHzN*Ahv0do66o=0-ynoAlUol8t(;R4`bEq&T?`z? z5{#fooOHE`xvM|${q$gUHg+*~uCqXlB~|9P=ZjTW%JtvxH(*n>7CZ=4&UA-C*6U{n zE+>@8ljzMSTs{ia@0=POfkpR7W-qW>jV3MA%83F8Z`Bqv7VDzzW!FN{9gh2{Oktlw z;9}(jS&3kNKr!mH5`iRdE6YrX6Jw0XAZtdE&a44HWNUUIOa0b4VGMv$jE#(@TjLT! zi|dpQmFAt=XV0u55o=Jai_pY`pRRzO8REJY67QmmhBrc^4}%trP57#L{!_FxPTG5| zYSUAw{6=?!r^{4JmojK3%fib(=t5}tH5wExA9`M@_f1Va>K0qCe`jg%XNh}#`ZN;0 zG|cK>N#m~sp#PpU{$9oW7dhk0BKl9x_(Fo?RBgJm;P>+4CHfRtazpgBwPw-L75(JV zD3mRFzr94no$IL3BZV2ZEbg<}VJ#|uutededlM2i93{c-jm61e{c8mhrkow_~j zMMT&hO%yiXzj+n#f5~QJ{RF-NwQYgN`n$(8#fIj34sdve4E<{Rxt}Idv zq#S=~(+pLWDv;tWIY@0h(2hVlD;_??B+7X>QZ8KS$eM69QS-9mc_onnqewY9Oqb49 z`ujiFPuPaC_P>1PwB4_O|0`nT-vj=?Yo7li{5)!01>hLm*t!Wx|0h24UiRzUX_dE$UE(QU!Q z83z@q$sf$RS%mD(%oX)o>?5yAYSPbSvq{xgA98-c>=bUGUF9Xdw?9I~%r1wqg(Im@ zs~3++=R(leESXiSn|Qqdm<;*1NEgsN-Bh2NscI87vVth8Z)NhzH8Wv<)hQLLx{lk^ z)S7|kEFhPqmmIk|QA@^bj?D!|2t-X}qtUUowtt&||5N~#7G86O6T z)O2Ip3$d0Sb;q6{YZ&pX#!d6?oMpz1lOug#4l2-%46)Fe^pucvm#Oz#=!$2c3=~YU ztLc>6o?;k7L%>KDt0%2O$00?-`LR?wBQ21OM{-wTm|3I?=VQa`)Kucxm#CkW-E3th z>t-qqWnp~a-Q^_)`t$GXHU8w$&DHQisxO4b@%8zuQ$qh9R-$4GiZb$Q|KXVT7jeZf z&oIp(JFP-XPs_N#L_5dCxKld-ps5K3r4E(pmO_*g#s(!+!d4PCP@?&_oc=#cEdFZS zHq>*}qjIu0qjI#N(swd8HnRUeh%FXRS4%CvHjVbLHo{+7xcm^tp*1P7RO6G&A5yAAWFhcdcDSGV*`!v3Pk?iK}? ztex^3lT{;8f-7fiC3+$nsr$a9GR_`Q8ctr(&r37i+MmkFr_>$LTt|1#jI#`U!`}=j zr~eIsXGHg#weVpTK&X=YutA_97jw{(BQrcEH@xbRR>h>n2rJ99*>hA$khMJuoIw0H_A*5!40d9-w#Vw_}8<>TL@%!)rdx!_*(T5Z&b}MFu z0dJ^G`5deV_c@r%I>MZ-)+xctwSD0;tQE$sV z1^P?3l|Ajo-<7Iq(ifxENuUFPTqZZ?C!H8^AGEWjHwV4&ph&UU-`$n{V)wP(1sL+^k>H=Sh7%d|dZB*b9xxC4HpZ$`9 z4?dsawM{S8cdo*?-W7`R(``Ce`f%3~L<)YdWeu6eqFpP{;Jw_{6$cI4I21kJ^j&DluRx~2p%8L&c|bkPDLe$Dwm=t zMqY^sG99idekQM(*jBp-eGkB;FEg7$WHsjO&1h-?K|7q`cDI?fqGh~({aKmlmG@ev zl^Kzm!TDxDquuVyAQzsB1&A$e^{KbpJV&;r{=nNN|ff<`$$yV(# z>eL6`8|1un*)ii-aR^vlZ4x&O2uT$ z!Y5X%XicW;rK{bOWAJZEyxkvP|6Iy2?hO#SwUTsp#v_nKXCYJ(w&xH zHAKrf=ks#Uuc;ix;1ltD`Xtj{+@+C9($4fMQrJntH<9yflCk<_qkW8vi0~y(ifhkl z@R-m#lKz-E*s7Yt5&X-xo8hOcgl+~RtK%eS45qN(2^TRX`m7e|=I#*+ze7Jv0BGg( z)V&BAc;yDPhy2|Y@|CI_U4;^DeXwpNdYZhq;S zdL;{(`w1X+=gT3^_CU=Jk>Gpj&l50hl*8uwDsOu6nUx3`eOahGbF1sX^ayu~hC*C? zNJf=%YrQCzgdEiU284Ny+)h+DvfTr!ZDcd^*U@Y>M+JM)Ut$cPhVi2lup)Mj8@3fn z;dlH)Y2q##^Hw(S!$x?F_ofJ~c4;$Q)k5?=&_5^QH>p-Ug!H~y@O2gi?sR`V>bZ;s zt&cVW6=--^(l}$HAjpJROQ+2F=ou-sDd9Z~>ZK5xrXzcnoD?vvYNrWci$o3K;fd~V zNWbH>9hx(RD;XA>QPn!xFhBpg5rtHb-$RKc5;8s@uOC-#Mp7#b6=9;7Xgc)aCeV@fCr=oY>2+*q12 zoK2yB_yI>U5`^WpJwzMR`}DbtC9o8A(-N^1lqK0G1cZ**!e)7P$Z z^b2hWL3lfB%A}LUxf@=%ZeSUHavS;1AHigONK9m!5QKc0{{{C@YPkh1s_^+Z^Ob?8 z#Zh;c1W->JVLqq@i|Eso&VeAACf5z!L)AO7+V8t0e)(>O2Oqtzx9?TAM+`iI%*M)i zqCMI$ckR3I&O80>R3W5f-^y}dQV}k_gN%u`0(rAxUdmY(2d(qe2E&wbP$<$$b>har zd|g#_W<;0VZU~?oJyZZ;uSf`yUi^BI_H)gVFV+hk27MTRAPEN@LH&^6MN0iEzp-TplTZ|eTkp5(v`2;;h+~a-ZlMJ7dtRuxHJh2J6;uHjR?oLSmvfu{ zYO(#v<$u~`|8f15AoPF8<^PhMTqUw@B*b5sE8xqZne$)Y zoBs1j|IzaMXGR}Ric&Vav}O1@HsUUtI5u-_K=kG8d$@6ZGj5^^>{`_3>|S@!nWG%>$989+bCCy2?&Nox5!M z_oZP%2;P|9jGUJ6&f*tag{cUlNY83|M(V>FMJ5~ zL#1&$&i?1S$aWJzlXU}#syx+`2s6Jxwg?qCn6576>@X{?g|8D2_L@3^m+4wwJ6m`9 zhF<{5_S<5SSKb?nhKCX#}71Hu;03HBYni z_I}~*{-ds-l7Qgx6w!a z@W@I~-%x{tWV{Yx>Mldp2%d1SI%L31u=2A7=@68Xx~_h`fW{>hq+xh7H5 z%(()aoqX!a6gU#`3X>c7-UyRYQ|3(v14w$>Gsnm8ZT7$iG#eu1Sm$*)+%d#ptQ`m& zTziRKF8X{!;@W%lRVO*`h{V^!eIxm#4y$jxo@Wo08WkIDSe$RWXa7Jcj>OhM(0=s@ zS-yPiSpR>-=Kn@A2K^b`K@0OG#I{|b<>*+Zn1&VT(0u{~RfaKLD$>#&DEtQ7Xees` zHSXr>8<9@@xt_PEVc0$!C*grx5n{buJMEoiA};p$HURaEqqwQ=PoLvbC?z;e(>_5z zS+W)1l^^9Vuu!BadbVC}aBfAenW{EW*Of-$OxLzXz!49q=NO)tlu;m1HUg_Cz%jHy ztS$!--2psnmus#_0=!2(>Tp&~rEYpUb7~7=y|yPWS`?pJuLw0pwZ0)3%ONTVJYqg^ z18Sq+0#=*%cG7X{e+P><%U@EJ~GpV-jrX$|?Aj>TeW2K8`P4J;%Sxz75w@JM9;SK#jSv`%L z-Vkqti`2mdWkd^8po*>qY!U_@2+qYk!xWmk3^((1GH0PswipM(HejfI19{pTph3c? zcQujMprZDNFnlT~v#^km@X-bJO_nYhB}w`4*uy7c3U63hj_T`^6-C;@yU~$;8NLhW z$8r~L6?Wp9&!^xrty{jsfW)Q7o66+6XIty%#dANDU&M&?SOQHaMnp-A!>yw}?Li|pC|IWsF(sECK zRd1fn9}nvWD?1~|a2(e$_v;+6U)$mNSLciU|MNfepILw!$#BVh%|zPxpvYwB3wF05<%htdt43}eB1~G8-&Hli zLJ@koTCS0wx1C$Lx-*o6KxX|3Z;6dudNkeGk5X@^osv3zJKdKBN%A2D7Ih0X)Q45t z-MT95MDJP~t`u|ASI1lgiP$&Rdk-AzRUetgFWn3_Zl4LQJHA|hxQ`UEQ!cCA7hEO1 zbVC*tj|49%C-^l#kFw=s5C+!j$9EwCry|x@5CspeeTL|Ao{)4$H0Z1C!^fvKrdF>d zu7ielb&Q3$I`ZI(WpvQpev7cRz~3c&XflO%&3c7mK}kRd6IT|;t-nRRl+TB^fZ~!t zw9dP6-<-jQ zfWNY+{<|Chs|}YZ#Vwhyw!QaJ)%9y{aHxPd*|$}MxX0QMtJ(P`GYFEFLgO%;7wl~Q z_p7$LIl>CwRSAnNm#vRm7dLJsePc!7Itn@k6!ffpC_U%VM{wKX3O!S@seMj$iSFK$ z#i!v?2Vv5hOUWMMoTw/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

U+QJih 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

#Okm?@v|YVAm~iq`c@n2&?6(S8+C- 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�r*$W_SB=K(;N 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%0DiD1G#<2})Nj>W!ZP1lYrP{B*&LYT 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¨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�>%x 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

oK^GLrcC$f^Q%F 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%0AfX}!N#RVBpLRxn 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

t#I)tT*!5!`d)}sdvM*ug^;q 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 Zj><5Yl!Git;6BxT){ZV?Dzk#=^?%BQ1=0Wj literal 0 HcmV?d00001 diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/.dockerignore b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/.dockerignore similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/.dockerignore rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/.dockerignore diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/Dockerfile b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/Dockerfile similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/Dockerfile rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/Dockerfile diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/package-lock.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/package-lock.json similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/package-lock.json rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/package-lock.json diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/package.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/package.json similarity index 79% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/package.json rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/package.json index bc90600cf28d0..240e9a6af7eeb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/package.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/package.json @@ -2,6 +2,6 @@ "name": "eks-service-account-sdk-call-integ-test", "private": "true", "dependencies": { - "aws-sdk": "^2.1417.0" + "aws-sdk": "^2.1432.0" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/sdk-call.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/sdk-call.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14/sdk-call.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b/sdk-call.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js deleted file mode 100644 index 1edead6dd3913..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631/external.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.external = void 0; -const tls = require("tls"); -const url = require("url"); -// eslint-disable-next-line import/no-extraneous-dependencies -const aws = require("aws-sdk"); -let client; -function iam() { - if (!client) { - client = new aws.IAM(); - } - return client; -} -function defaultLogger(fmt, ...args) { - // eslint-disable-next-line no-console - console.log(fmt, ...args); -} -/** - * Downloads the CA thumbprint from the issuer URL - */ -async function downloadThumbprint(issuerUrl) { - return new Promise((ok, ko) => { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6QixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDaEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUMvRTtZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUM3QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQjtZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxNQUFNLG1CQUFtQixHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTVELElBQUksbUJBQW1CLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFGO1lBRUQsbUVBQW1FO1lBQ25FLElBQUksbUJBQW1CLEdBQUcsR0FBRyxFQUFFO2dCQUM3Qix5Q0FBeUM7Z0JBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaURBQWlELG1CQUFtQixRQUFRLENBQUMsQ0FBQzthQUM1RjtZQUVELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUViLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNDLGdCQUFRLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxTQUFTLE9BQU8sVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVuRixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLElBQXFCO0lBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLElBQXFCO0lBQzdDLGdCQUFRLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDeEQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQixnQkFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2pGO0lBQ0QsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLGdCQUFRLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFFBQWM7SUFDNUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUUvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.assets.json index 1131b37361b9d..b16bb82835336 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "c475180f5b1bbabac165414da13a9b843b111cd3b6d5fae9c954c006640c4064": { "source": { @@ -14,15 +14,15 @@ } } }, - "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b": { + "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c": { "source": { - "path": "asset.25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "path": "asset.3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "packaging": "file" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip", + "objectKey": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -79,15 +79,15 @@ } } }, - "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -118,7 +118,7 @@ } } }, - "94cf94a2860df09befc13ff93aff19347688c348ef40686ad71e19b47417db03": { + "2943b40bb9c544c5846912c9d002545dba57f14bc7cd3ebdd5d83b53b8845c74": { "source": { "path": "awseksserviceaccountsdkcallstestawscdkawseksClusterResourceProvider7862DD6A.nested.template.json", "packaging": "file" @@ -126,7 +126,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "94cf94a2860df09befc13ff93aff19347688c348ef40686ad71e19b47417db03.json", + "objectKey": "2943b40bb9c544c5846912c9d002545dba57f14bc7cd3ebdd5d83b53b8845c74.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -144,7 +144,7 @@ } } }, - "7c29424ecd64e26e7ddbd649a7051f039effe5d61e0ee75fee5413e7c35c41f5": { + "6bb9e76d4db9ffddca4748e5b7973504aa6fc864153da45e7cd32bc775413f0d": { "source": { "path": "aws-eks-service-account-sdk-calls-test.template.json", "packaging": "file" @@ -152,21 +152,21 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "7c29424ecd64e26e7ddbd649a7051f039effe5d61e0ee75fee5413e7c35c41f5.json", + "objectKey": "6bb9e76d4db9ffddca4748e5b7973504aa6fc864153da45e7cd32bc775413f0d.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } } }, "dockerImages": { - "e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14": { + "ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b": { "source": { - "directory": "asset.e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14" + "directory": "asset.ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b" }, "destinations": { "current_account-current_region": { "repositoryName": "cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}", - "imageTag": "e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14", + "imageTag": "ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-image-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.template.json index f14350953fc12..7ef43dbed28a3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/aws-eks-service-account-sdk-calls-test.template.json @@ -1107,7 +1107,7 @@ "OpenIdConnectIssuerUrl" ] }, - "CodeHash": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -1139,7 +1139,7 @@ }, "\"}],\"image\":\"", { - "Fn::Sub": "${AWS::AccountId}.dkr.ecr.${AWS::Region}.${AWS::URLSuffix}/cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}:e97cf0d3cdb1f35a828c944dee8af681c86f96c983e136801416e3e37b036e14" + "Fn::Sub": "${AWS::AccountId}.dkr.ecr.${AWS::Region}.${AWS::URLSuffix}/cdk-hnb659fds-container-assets-${AWS::AccountId}-${AWS::Region}:ed62a9158e1037f6dd894ad6052eb1b5a133645caf799d7f186bd250f3df951b" }, "\",\"imagePullPolicy\":\"Always\",\"name\":\"main\",\"resources\":{\"limits\":{\"cpu\":\"1500m\",\"memory\":\"2048Mi\"},\"requests\":{\"cpu\":\"1000m\",\"memory\":\"512Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"privileged\":false,\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000}}],\"dnsPolicy\":\"ClusterFirst\",\"hostNetwork\":false,\"restartPolicy\":\"Always\",\"securityContext\":{\"fsGroupChangePolicy\":\"Always\",\"runAsNonRoot\":true},\"serviceAccountName\":\"awseksserviceaccountsdkcallstestclustermyserviceaccount6d090a02\",\"setHostnameAsFQDN\":false,\"terminationGracePeriodSeconds\":30}}}}]" ] @@ -1185,7 +1185,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/94cf94a2860df09befc13ff93aff19347688c348ef40686ad71e19b47417db03.json" + "/2943b40bb9c544c5846912c9d002545dba57f14bc7cd3ebdd5d83b53b8845c74.json" ] ] } @@ -1301,7 +1301,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ffa3d5f3876afed62c60735ced8dafb4db2ccbd70a8b2f6b0d9e6eaa5823d631.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -1312,7 +1312,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awscdkeksserviceaccountsdkcallDefaultTestDeployAssertC5196707.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awscdkeksserviceaccountsdkcallDefaultTestDeployAssertC5196707.assets.json index e57d6c735d447..0fa149fc3b879 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awscdkeksserviceaccountsdkcallDefaultTestDeployAssertC5196707.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awscdkeksserviceaccountsdkcallDefaultTestDeployAssertC5196707.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awseksserviceaccountsdkcallstestawscdkawseksClusterResourceProvider7862DD6A.nested.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awseksserviceaccountsdkcallstestawscdkawseksClusterResourceProvider7862DD6A.nested.template.json index 36fd4677baaf1..edc0c31a452cc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awseksserviceaccountsdkcallstestawscdkawseksClusterResourceProvider7862DD6A.nested.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/awseksserviceaccountsdkcallstestawscdkawseksClusterResourceProvider7862DD6A.nested.template.json @@ -7,7 +7,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "S3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "Description": "/opt/nodejs/node_modules/proxy-agent" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/integ.json index 5b9848e61c7cb..6e3efbadf6bfc 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/integ.json @@ -1,11 +1,11 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "aws-cdk-eks-service-account-sdk-call/DefaultTest": { "stacks": [ "aws-eks-service-account-sdk-calls-test" ], - "diffAssets": true, + "diffAssets": false, "assertionStack": "aws-cdk-eks-service-account-sdk-call/DefaultTest/DeployAssert", "assertionStackName": "awscdkeksserviceaccountsdkcallDefaultTestDeployAssertC5196707" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/manifest.json index bd8bad5d9c1d8..16e945eaceee2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "aws-eks-service-account-sdk-calls-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/7c29424ecd64e26e7ddbd649a7051f039effe5d61e0ee75fee5413e7c35c41f5.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/6bb9e76d4db9ffddca4748e5b7973504aa6fc864153da45e7cd32bc775413f0d.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/tree.json index 5cf395718580e..e8f92996e4259 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-service-account-sdk-call.js.snapshot/tree.json @@ -1620,7 +1620,7 @@ "s3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "s3Key": "25f7dc8c7a6d65604d70050f2d9d19d6bfc5060a3d74662fc86589f4385e3a1b.zip" + "s3Key": "3f579d6c1ab146cac713730c96809dd4a9c5d9750440fb835ab20fd6925e528c.zip" }, "description": "/opt/nodejs/node_modules/proxy-agent" } @@ -2771,7 +2771,7 @@ { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "/94cf94a2860df09befc13ff93aff19347688c348ef40686ad71e19b47417db03.json" + "/2943b40bb9c544c5846912c9d002545dba57f14bc7cd3ebdd5d83b53b8845c74.json" ] ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js index c031312159a9d..f995c420af68c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js @@ -10396,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10416,8 +10416,8 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.387.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/client-sts": "3.388.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -10535,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10557,7 +10557,7 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -16184,9 +16184,9 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js -var require_dist_node = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js +var require_client_sso_oidc_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; @@ -16208,102 +16208,7 @@ var require_dist_node = __commonJS({ defaultSigningName: "awsssooidc" }; }; - var package_default = { - name: "@aws-sdk/client-sso-oidc", - description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.386.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "*", - "@aws-sdk/middleware-logger": "*", - "@aws-sdk/middleware-recursion-detection": "*", - "@aws-sdk/middleware-user-agent": "*", - "@aws-sdk/types": "*", - "@aws-sdk/util-endpoints": "*", - "@aws-sdk/util-user-agent-browser": "*", - "@aws-sdk/util-user-agent-node": "*", - "@smithy/config-resolver": "^2.0.2", - "@smithy/fetch-http-handler": "^2.0.2", - "@smithy/hash-node": "^2.0.2", - "@smithy/invalid-dependency": "^2.0.2", - "@smithy/middleware-content-length": "^2.0.2", - "@smithy/middleware-endpoint": "^2.0.2", - "@smithy/middleware-retry": "^2.0.2", - "@smithy/middleware-serde": "^2.0.2", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.2", - "@smithy/node-http-handler": "^2.0.2", - "@smithy/protocol-http": "^2.0.2", - "@smithy/smithy-client": "^2.0.2", - "@smithy/types": "^2.1.0", - "@smithy/url-parser": "^2.0.2", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.2", - "@smithy/util-defaults-mode-node": "^2.0.2", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso-oidc" - } - }; + var package_default = { version: "3.387.0" }; var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_2 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -16411,13 +16316,14 @@ var require_dist_node = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; + var smithy_client_5 = require_dist_cjs35(); var middleware_endpoint_2 = require_dist_cjs26(); var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_5 = require_dist_cjs35(); - var protocol_http_1 = require_dist_cjs2(); var smithy_client_6 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); var smithy_client_7 = require_dist_cjs35(); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { + var smithy_client_8 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_8.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); @@ -16587,6 +16493,20 @@ var require_dist_node = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; + var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientMetadataException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientMetadataException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { @@ -16594,7 +16514,7 @@ var require_dist_node = __commonJS({ }; const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_6.take)(input, { + body = JSON.stringify((0, smithy_client_7.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16602,7 +16522,51 @@ var require_dist_node = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_6._json)(_) + scope: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_RegisterClientCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/client/register`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientName: [], + clientType: [], + scopes: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_StartDeviceAuthorizationCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientId: [], + clientSecret: [], + startUrl: [] })); return new protocol_http_1.HttpRequest({ protocol, @@ -16618,16 +16582,16 @@ var require_dist_node = __commonJS({ if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_6.map)({ + const contents = (0, smithy_client_7.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_6.take)(data, { - accessToken: smithy_client_6.expectString, - expiresIn: smithy_client_6.expectInt32, - idToken: smithy_client_6.expectString, - refreshToken: smithy_client_6.expectString, - tokenType: smithy_client_6.expectString + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + accessToken: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + idToken: smithy_client_7.expectString, + refreshToken: smithy_client_7.expectString, + tokenType: smithy_client_7.expectString }); Object.assign(contents, doc); return contents; @@ -16681,160 +16645,271 @@ var require_dist_node = __commonJS({ }); } }; - var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_RegisterClientCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_RegisterClientCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + authorizationEndpoint: smithy_client_7.expectString, + clientId: smithy_client_7.expectString, + clientIdIssuedAt: smithy_client_7.expectLong, + clientSecret: smithy_client_7.expectString, + clientSecretExpiresAt: smithy_client_7.expectLong, + tokenEndpoint: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_RegisterClientCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientMetadataException": + case "com.amazonaws.ssooidc#InvalidClientMetadataException": + throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartDeviceAuthorizationCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_StartDeviceAuthorizationCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + deviceCode: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + interval: smithy_client_7.expectInt32, + userCode: smithy_client_7.expectString, + verificationUri: smithy_client_7.expectString, + verificationUriComplete: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_StartDeviceAuthorizationCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_7.withBaseException)(SSOOIDCServiceException); var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AccessDeniedException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AuthorizationPendingException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientMetadataException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var deserializeMetadata = (output) => { var _a, _b; @@ -16845,7 +16920,7 @@ var require_dist_node = __commonJS({ cfId: output.headers["x-amz-cf-id"] }; }; - var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var collectBodyString = (streamBody, context) => (0, smithy_client_7.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -16887,7 +16962,7 @@ var require_dist_node = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_6.Command { constructor(input) { super(); this.input = input; @@ -16925,6 +17000,94 @@ var require_dist_node = __commonJS({ } }; exports.CreateTokenCommand = CreateTokenCommand; + var middleware_endpoint_3 = require_dist_cjs26(); + var middleware_serde_2 = require_dist_cjs25(); + var smithy_client_9 = require_dist_cjs35(); + var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_9.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_2.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_3.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "RegisterClientCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_RegisterClientCommand(input, context); + } + deserialize(output, context) { + return de_RegisterClientCommand(output, context); + } + }; + var middleware_endpoint_4 = require_dist_cjs26(); + var middleware_serde_3 = require_dist_cjs25(); + var smithy_client_10 = require_dist_cjs35(); + var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_10.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_3.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_4.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "StartDeviceAuthorizationCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_StartDeviceAuthorizationCommand(input, context); + } + deserialize(output, context) { + return de_StartDeviceAuthorizationCommand(output, context); + } + }; + var commands = { + CreateTokenCommand, + RegisterClientCommand, + StartDeviceAuthorizationCommand + }; + var SSOOIDC = class extends SSOOIDCClient { + }; + (0, smithy_client_5.createAggregatedClient)(commands, SSOOIDC); } }); @@ -16945,13 +17108,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -16965,11 +17128,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ + return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17154,7 +17317,7 @@ var require_dist_cjs47 = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_dist_node(), exports); + tslib_1.__exportStar(require_client_sso_oidc_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json index 8d0698c189ae9..88f76a975a0f5 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { + "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907": { "source": { - "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", + "path": "asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", + "objectKey": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33": { + "3134b7cc7efa6bcf89ff590b3730d4c7664b45d5057f072ee873fa976a3e18a7": { "source": { "path": "integtestcognitoDefaultTestDeployAssert6F2623C9.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33.json", + "objectKey": "3134b7cc7efa6bcf89ff590b3730d4c7664b45d5057f072ee873fa976a3e18a7.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json index e5b02b43cd732..0d364b7ceab46 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/integtestcognitoDefaultTestDeployAssert6F2623C9.template.json @@ -27,7 +27,7 @@ } }, "flattenResponse": "false", - "salt": "1691687466127" + "salt": "1691773610689" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -127,7 +127,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" + "S3Key": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip" }, "Timeout": 120, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json index da113a5c6f440..491cf0fd6b8e8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2-actions/test/integ.cognito.js.snapshot/manifest.json @@ -316,7 +316,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0957a5dceffc938fc80a8e6efb2b9e6202048736e1388e08d65cd56d5ee9dc33.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3134b7cc7efa6bcf89ff590b3730d4c7664b45d5057f072ee873fa976a3e18a7.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json index 2caf1f2b53cc1..e2fae9c6d4330 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.assets.json @@ -1,15 +1,15 @@ { "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } @@ -40,7 +40,7 @@ } } }, - "32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf": { + "9b0301b4bf2179ca19a22b4c4906f23b2b6af34d2c5961ccfbfb4cdfc56b9105": { "source": { "path": "IntegAlbOidc.template.json", "packaging": "file" @@ -48,7 +48,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf.json", + "objectKey": "9b0301b4bf2179ca19a22b4c4906f23b2b6af34d2c5961ccfbfb4cdfc56b9105.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json index 8cccb0e4ebc30..5c1d8e93a2a6e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegAlbOidc.template.json @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json index 24dd912974267..d323ca7f1e8fe 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { + "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907": { "source": { - "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", + "path": "asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", + "objectKey": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4": { + "e54ace7f676f0ee0c00fbb0f491d9c2e7317dce04bcaca7717fb9e983caf6e1d": { "source": { "path": "IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4.json", + "objectKey": "e54ace7f676f0ee0c00fbb0f491d9c2e7317dce04bcaca7717fb9e983caf6e1d.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json index 1b02a16d4e08a..137906401097d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/IntegTestAlbOidcDefaultTestDeployAssert2476ECB6.template.json @@ -27,7 +27,7 @@ } }, "flattenResponse": "false", - "salt": "1691687466534" + "salt": "1691773610714" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -127,7 +127,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" + "S3Key": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip" }, "Timeout": 120, "Handler": "index.handler", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js index c031312159a9d..f995c420af68c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js @@ -10396,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10416,8 +10416,8 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.387.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/client-sts": "3.388.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -10535,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10557,7 +10557,7 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -16184,9 +16184,9 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js -var require_dist_node = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js +var require_client_sso_oidc_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; @@ -16208,102 +16208,7 @@ var require_dist_node = __commonJS({ defaultSigningName: "awsssooidc" }; }; - var package_default = { - name: "@aws-sdk/client-sso-oidc", - description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.386.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "*", - "@aws-sdk/middleware-logger": "*", - "@aws-sdk/middleware-recursion-detection": "*", - "@aws-sdk/middleware-user-agent": "*", - "@aws-sdk/types": "*", - "@aws-sdk/util-endpoints": "*", - "@aws-sdk/util-user-agent-browser": "*", - "@aws-sdk/util-user-agent-node": "*", - "@smithy/config-resolver": "^2.0.2", - "@smithy/fetch-http-handler": "^2.0.2", - "@smithy/hash-node": "^2.0.2", - "@smithy/invalid-dependency": "^2.0.2", - "@smithy/middleware-content-length": "^2.0.2", - "@smithy/middleware-endpoint": "^2.0.2", - "@smithy/middleware-retry": "^2.0.2", - "@smithy/middleware-serde": "^2.0.2", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.2", - "@smithy/node-http-handler": "^2.0.2", - "@smithy/protocol-http": "^2.0.2", - "@smithy/smithy-client": "^2.0.2", - "@smithy/types": "^2.1.0", - "@smithy/url-parser": "^2.0.2", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.2", - "@smithy/util-defaults-mode-node": "^2.0.2", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso-oidc" - } - }; + var package_default = { version: "3.387.0" }; var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_2 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -16411,13 +16316,14 @@ var require_dist_node = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; + var smithy_client_5 = require_dist_cjs35(); var middleware_endpoint_2 = require_dist_cjs26(); var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_5 = require_dist_cjs35(); - var protocol_http_1 = require_dist_cjs2(); var smithy_client_6 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); var smithy_client_7 = require_dist_cjs35(); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { + var smithy_client_8 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_8.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); @@ -16587,6 +16493,20 @@ var require_dist_node = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; + var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientMetadataException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientMetadataException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { @@ -16594,7 +16514,7 @@ var require_dist_node = __commonJS({ }; const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_6.take)(input, { + body = JSON.stringify((0, smithy_client_7.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16602,7 +16522,51 @@ var require_dist_node = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_6._json)(_) + scope: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_RegisterClientCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/client/register`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientName: [], + clientType: [], + scopes: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_StartDeviceAuthorizationCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientId: [], + clientSecret: [], + startUrl: [] })); return new protocol_http_1.HttpRequest({ protocol, @@ -16618,16 +16582,16 @@ var require_dist_node = __commonJS({ if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_6.map)({ + const contents = (0, smithy_client_7.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_6.take)(data, { - accessToken: smithy_client_6.expectString, - expiresIn: smithy_client_6.expectInt32, - idToken: smithy_client_6.expectString, - refreshToken: smithy_client_6.expectString, - tokenType: smithy_client_6.expectString + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + accessToken: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + idToken: smithy_client_7.expectString, + refreshToken: smithy_client_7.expectString, + tokenType: smithy_client_7.expectString }); Object.assign(contents, doc); return contents; @@ -16681,160 +16645,271 @@ var require_dist_node = __commonJS({ }); } }; - var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_RegisterClientCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_RegisterClientCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + authorizationEndpoint: smithy_client_7.expectString, + clientId: smithy_client_7.expectString, + clientIdIssuedAt: smithy_client_7.expectLong, + clientSecret: smithy_client_7.expectString, + clientSecretExpiresAt: smithy_client_7.expectLong, + tokenEndpoint: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_RegisterClientCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientMetadataException": + case "com.amazonaws.ssooidc#InvalidClientMetadataException": + throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartDeviceAuthorizationCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_StartDeviceAuthorizationCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + deviceCode: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + interval: smithy_client_7.expectInt32, + userCode: smithy_client_7.expectString, + verificationUri: smithy_client_7.expectString, + verificationUriComplete: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_StartDeviceAuthorizationCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_7.withBaseException)(SSOOIDCServiceException); var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AccessDeniedException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AuthorizationPendingException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientMetadataException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var deserializeMetadata = (output) => { var _a, _b; @@ -16845,7 +16920,7 @@ var require_dist_node = __commonJS({ cfId: output.headers["x-amz-cf-id"] }; }; - var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var collectBodyString = (streamBody, context) => (0, smithy_client_7.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -16887,7 +16962,7 @@ var require_dist_node = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_6.Command { constructor(input) { super(); this.input = input; @@ -16925,6 +17000,94 @@ var require_dist_node = __commonJS({ } }; exports.CreateTokenCommand = CreateTokenCommand; + var middleware_endpoint_3 = require_dist_cjs26(); + var middleware_serde_2 = require_dist_cjs25(); + var smithy_client_9 = require_dist_cjs35(); + var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_9.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_2.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_3.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "RegisterClientCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_RegisterClientCommand(input, context); + } + deserialize(output, context) { + return de_RegisterClientCommand(output, context); + } + }; + var middleware_endpoint_4 = require_dist_cjs26(); + var middleware_serde_3 = require_dist_cjs25(); + var smithy_client_10 = require_dist_cjs35(); + var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_10.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_3.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_4.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "StartDeviceAuthorizationCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_StartDeviceAuthorizationCommand(input, context); + } + deserialize(output, context) { + return de_StartDeviceAuthorizationCommand(output, context); + } + }; + var commands = { + CreateTokenCommand, + RegisterClientCommand, + StartDeviceAuthorizationCommand + }; + var SSOOIDC = class extends SSOOIDCClient { + }; + (0, smithy_client_5.createAggregatedClient)(commands, SSOOIDC); } }); @@ -16945,13 +17108,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -16965,11 +17128,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ + return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17154,7 +17317,7 @@ var require_dist_cjs47 = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_dist_node(), exports); + tslib_1.__exportStar(require_client_sso_oidc_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json index 70bcab734c7e4..4c670cd8ac6c4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-elasticloadbalancingv2/test/integ.alb.oidc.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/32841e4337506dff1451184c84427123ec9b82df74fa77d60d68208058124edf.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9b0301b4bf2179ca19a22b4c4906f23b2b6af34d2c5961ccfbfb4cdfc56b9105.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -334,7 +334,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/5bc46ac37b1ef45ef4bff3806660d788ce864014c4f0bdd6e74afda5a64740d4.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e54ace7f676f0ee0c00fbb0f491d9c2e7317dce04bcaca7717fb9e983caf6e1d.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json index b638f4eec9779..2b1d8fc4fda6c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { + "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907": { "source": { - "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", + "path": "asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", + "objectKey": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6": { + "52d728c85f35a58bbfdfd2b6dbdad511312ae00ed2707bd69ad2bf8dfc772400": { "source": { "path": "LogGroupDefaultTestDeployAssert353EE07A.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6.json", + "objectKey": "52d728c85f35a58bbfdfd2b6dbdad511312ae00ed2707bd69ad2bf8dfc772400.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json index 160155ff9baea..87a6e46bcd2e2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/LogGroupDefaultTestDeployAssert353EE07A.template.json @@ -1,6 +1,6 @@ { "Resources": { - "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793": { + "AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31": { "Type": "Custom::DeployAssert@SdkCallEventBridgeputEvents", "Properties": { "ServiceToken": { @@ -12,10 +12,10 @@ "service": "EventBridge", "api": "putEvents", "parameters": { - "Entries": "[{\"Detail\":\"{\\\"date\\\":\\\"abc1691687464813\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-integ\"}]" + "Entries": "[{\"Detail\":\"{\\\"date\\\":\\\"abc1691773608972\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-integ\"}]" }, "flattenResponse": "false", - "salt": "1691687464822" + "salt": "1691773608988" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -87,7 +87,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" + "S3Key": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -99,7 +99,7 @@ } } }, - "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { + "AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593": { "Type": "Custom::DeployAssert@SdkCallCloudWatchLogsfilterLogEvents", "Properties": { "ServiceToken": { @@ -110,7 +110,7 @@ }, "service": "CloudWatchLogs", "api": "filterLogEvents", - "expected": "{\"$StringLike\":\"abc1691687464813\"}", + "expected": "{\"$StringLike\":\"abc1691773608972\"}", "actualPath": "events.0.message", "parameters": { "logGroupName": { @@ -125,27 +125,27 @@ ] ] }, - "startTime": "1691687464813", + "startTime": "1691773608972", "limit": "1" }, "flattenResponse": "true", "outputPaths": [ "events.0.message" ], - "salt": "1691687464823" + "salt": "1691773608989" }, "DependsOn": [ - "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793" + "AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31" ], "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" } }, "Outputs": { - "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { + "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593": { "Value": { "Fn::GetAtt": [ - "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", + "AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593", "assertion" ] } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js similarity index 99% rename from packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js index c031312159a9d..f995c420af68c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js @@ -10396,7 +10396,7 @@ var require_package = __commonJS({ module2.exports = { name: "@aws-sdk/client-sfn", description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10416,8 +10416,8 @@ var require_package = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.387.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/client-sts": "3.388.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -10535,7 +10535,7 @@ var require_package2 = __commonJS({ module2.exports = { name: "@aws-sdk/client-sts", description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", - version: "3.387.0", + version: "3.388.0", scripts: { build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", "build:cjs": "tsc -p tsconfig.cjs.json", @@ -10557,7 +10557,7 @@ var require_package2 = __commonJS({ dependencies: { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.387.0", + "@aws-sdk/credential-provider-node": "3.388.0", "@aws-sdk/middleware-host-header": "3.387.0", "@aws-sdk/middleware-logger": "3.387.0", "@aws-sdk/middleware-recursion-detection": "3.387.0", @@ -16184,9 +16184,9 @@ var require_dist_cjs46 = __commonJS({ } }); -// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js -var require_dist_node = __commonJS({ - "../../../node_modules/@aws-sdk/token-providers/dist-cjs/client-sso-oidc-bundle/dist-node.js"(exports) { +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js +var require_client_sso_oidc_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; @@ -16208,102 +16208,7 @@ var require_dist_node = __commonJS({ defaultSigningName: "awsssooidc" }; }; - var package_default = { - name: "@aws-sdk/client-sso-oidc", - description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native", - version: "3.386.0", - scripts: { - build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:docs": "typedoc", - "build:es": "tsc -p tsconfig.es.json", - "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", - "build:types": "tsc -p tsconfig.types.json", - "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", - clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", - "extract:docs": "api-extractor run --local", - "generate:client": "node ../../scripts/generate-clients/single-service --solo sso-oidc" - }, - main: "./dist-cjs/index.js", - types: "./dist-types/index.d.ts", - module: "./dist-es/index.js", - sideEffects: false, - dependencies: { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "*", - "@aws-sdk/middleware-logger": "*", - "@aws-sdk/middleware-recursion-detection": "*", - "@aws-sdk/middleware-user-agent": "*", - "@aws-sdk/types": "*", - "@aws-sdk/util-endpoints": "*", - "@aws-sdk/util-user-agent-browser": "*", - "@aws-sdk/util-user-agent-node": "*", - "@smithy/config-resolver": "^2.0.2", - "@smithy/fetch-http-handler": "^2.0.2", - "@smithy/hash-node": "^2.0.2", - "@smithy/invalid-dependency": "^2.0.2", - "@smithy/middleware-content-length": "^2.0.2", - "@smithy/middleware-endpoint": "^2.0.2", - "@smithy/middleware-retry": "^2.0.2", - "@smithy/middleware-serde": "^2.0.2", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.2", - "@smithy/node-http-handler": "^2.0.2", - "@smithy/protocol-http": "^2.0.2", - "@smithy/smithy-client": "^2.0.2", - "@smithy/types": "^2.1.0", - "@smithy/url-parser": "^2.0.2", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.2", - "@smithy/util-defaults-mode-node": "^2.0.2", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - tslib: "^2.5.0" - }, - devDependencies: { - "@smithy/service-client-documentation-generator": "^2.0.0", - "@tsconfig/node14": "1.0.3", - "@types/node": "^14.14.31", - concurrently: "7.0.0", - "downlevel-dts": "0.10.1", - rimraf: "3.0.2", - typedoc: "0.23.23", - typescript: "~4.9.5" - }, - engines: { - node: ">=14.0.0" - }, - typesVersions: { - "<4.0": { - "dist-types/*": [ - "dist-types/ts3.4/*" - ] - } - }, - files: [ - "dist-*/**" - ], - author: { - name: "AWS SDK for JavaScript Team", - url: "https://aws.amazon.com/javascript/" - }, - license: "Apache-2.0", - browser: { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" - }, - "react-native": { - "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" - }, - homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc", - repository: { - type: "git", - url: "https://github.com/aws/aws-sdk-js-v3.git", - directory: "clients/client-sso-oidc" - } - }; + var package_default = { version: "3.387.0" }; var util_user_agent_node_1 = require_dist_cjs42(); var config_resolver_2 = require_dist_cjs21(); var hash_node_1 = require_dist_cjs43(); @@ -16411,13 +16316,14 @@ var require_dist_node = __commonJS({ } }; exports.SSOOIDCClient = SSOOIDCClient; + var smithy_client_5 = require_dist_cjs35(); var middleware_endpoint_2 = require_dist_cjs26(); var middleware_serde_1 = require_dist_cjs25(); - var smithy_client_5 = require_dist_cjs35(); - var protocol_http_1 = require_dist_cjs2(); var smithy_client_6 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); var smithy_client_7 = require_dist_cjs35(); - var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_7.ServiceException { + var smithy_client_8 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_8.ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); @@ -16587,6 +16493,20 @@ var require_dist_node = __commonJS({ } }; exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; + var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientMetadataException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientMetadataException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; var se_CreateTokenCommand = async (input, context) => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers = { @@ -16594,7 +16514,7 @@ var require_dist_node = __commonJS({ }; const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; let body; - body = JSON.stringify((0, smithy_client_6.take)(input, { + body = JSON.stringify((0, smithy_client_7.take)(input, { clientId: [], clientSecret: [], code: [], @@ -16602,7 +16522,51 @@ var require_dist_node = __commonJS({ grantType: [], redirectUri: [], refreshToken: [], - scope: (_) => (0, smithy_client_6._json)(_) + scope: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_RegisterClientCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/client/register`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientName: [], + clientType: [], + scopes: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_StartDeviceAuthorizationCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientId: [], + clientSecret: [], + startUrl: [] })); return new protocol_http_1.HttpRequest({ protocol, @@ -16618,16 +16582,16 @@ var require_dist_node = __commonJS({ if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CreateTokenCommandError(output, context); } - const contents = (0, smithy_client_6.map)({ + const contents = (0, smithy_client_7.map)({ $metadata: deserializeMetadata(output) }); - const data = (0, smithy_client_6.expectNonNull)((0, smithy_client_6.expectObject)(await parseBody(output.body, context)), "body"); - const doc = (0, smithy_client_6.take)(data, { - accessToken: smithy_client_6.expectString, - expiresIn: smithy_client_6.expectInt32, - idToken: smithy_client_6.expectString, - refreshToken: smithy_client_6.expectString, - tokenType: smithy_client_6.expectString + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + accessToken: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + idToken: smithy_client_7.expectString, + refreshToken: smithy_client_7.expectString, + tokenType: smithy_client_7.expectString }); Object.assign(contents, doc); return contents; @@ -16681,160 +16645,271 @@ var require_dist_node = __commonJS({ }); } }; - var throwDefaultError = (0, smithy_client_6.withBaseException)(SSOOIDCServiceException); + var de_RegisterClientCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_RegisterClientCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + authorizationEndpoint: smithy_client_7.expectString, + clientId: smithy_client_7.expectString, + clientIdIssuedAt: smithy_client_7.expectLong, + clientSecret: smithy_client_7.expectString, + clientSecretExpiresAt: smithy_client_7.expectLong, + tokenEndpoint: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_RegisterClientCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientMetadataException": + case "com.amazonaws.ssooidc#InvalidClientMetadataException": + throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartDeviceAuthorizationCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_StartDeviceAuthorizationCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + deviceCode: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + interval: smithy_client_7.expectInt32, + userCode: smithy_client_7.expectString, + verificationUri: smithy_client_7.expectString, + verificationUriComplete: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_StartDeviceAuthorizationCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_7.withBaseException)(SSOOIDCServiceException); var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AccessDeniedException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new AuthorizationPendingException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new ExpiredTokenException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InternalServerExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InternalServerException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientMetadataException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidGrantException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidRequestException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new InvalidScopeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_SlowDownExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new SlowDownException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnauthorizedClientException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { - const contents = (0, smithy_client_6.map)({}); + const contents = (0, smithy_client_7.map)({}); const data = parsedOutput.body; - const doc = (0, smithy_client_6.take)(data, { - error: smithy_client_6.expectString, - error_description: smithy_client_6.expectString + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString }); Object.assign(contents, doc); const exception = new UnsupportedGrantTypeException({ $metadata: deserializeMetadata(parsedOutput), ...contents }); - return (0, smithy_client_6.decorateServiceException)(exception, parsedOutput.body); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); }; var deserializeMetadata = (output) => { var _a, _b; @@ -16845,7 +16920,7 @@ var require_dist_node = __commonJS({ cfId: output.headers["x-amz-cf-id"] }; }; - var collectBodyString = (streamBody, context) => (0, smithy_client_6.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var collectBodyString = (streamBody, context) => (0, smithy_client_7.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { if (encoded.length) { return JSON.parse(encoded); @@ -16887,7 +16962,7 @@ var require_dist_node = __commonJS({ return sanitizeErrorCode(data["__type"]); } }; - var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_5.Command { + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_6.Command { constructor(input) { super(); this.input = input; @@ -16925,6 +17000,94 @@ var require_dist_node = __commonJS({ } }; exports.CreateTokenCommand = CreateTokenCommand; + var middleware_endpoint_3 = require_dist_cjs26(); + var middleware_serde_2 = require_dist_cjs25(); + var smithy_client_9 = require_dist_cjs35(); + var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_9.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_2.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_3.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "RegisterClientCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_RegisterClientCommand(input, context); + } + deserialize(output, context) { + return de_RegisterClientCommand(output, context); + } + }; + var middleware_endpoint_4 = require_dist_cjs26(); + var middleware_serde_3 = require_dist_cjs25(); + var smithy_client_10 = require_dist_cjs35(); + var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_10.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_3.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_4.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "StartDeviceAuthorizationCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_StartDeviceAuthorizationCommand(input, context); + } + deserialize(output, context) { + return de_StartDeviceAuthorizationCommand(output, context); + } + }; + var commands = { + CreateTokenCommand, + RegisterClientCommand, + StartDeviceAuthorizationCommand + }; + var SSOOIDC = class extends SSOOIDCClient { + }; + (0, smithy_client_5.createAggregatedClient)(commands, SSOOIDC); } }); @@ -16945,13 +17108,13 @@ var require_getSsoOidcClient = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSsoOidcClient = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var ssoOidcClientsHash = {}; var getSsoOidcClient = (ssoRegion) => { if (ssoOidcClientsHash[ssoRegion]) { return ssoOidcClientsHash[ssoRegion]; } - const ssoOidcClient = new dist_node_1.SSOOIDCClient({ region: ssoRegion }); + const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion }); ssoOidcClientsHash[ssoRegion] = ssoOidcClient; return ssoOidcClient; }; @@ -16965,11 +17128,11 @@ var require_getNewSsoOidcToken = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNewSsoOidcToken = void 0; - var dist_node_1 = require_dist_node(); + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); var getSsoOidcClient_1 = require_getSsoOidcClient(); var getNewSsoOidcToken = (ssoToken, ssoRegion) => { const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); - return ssoOidcClient.send(new dist_node_1.CreateTokenCommand({ + return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({ clientId: ssoToken.clientId, clientSecret: ssoToken.clientSecret, refreshToken: ssoToken.refreshToken, @@ -17154,7 +17317,7 @@ var require_dist_cjs47 = __commonJS({ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_dist_node(), exports); + tslib_1.__exportStar(require_client_sso_oidc_node(), exports); tslib_1.__exportStar(require_fromSso(), exports); tslib_1.__exportStar(require_fromStatic3(), exports); tslib_1.__exportStar(require_nodeProvider(), exports); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json index 2721434f2b47c..efc5a9707e128 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/manifest.json @@ -160,7 +160,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/bdb6f8f98bd23a6151a89c69c5e8d8b942ecc0859a2d03a89e30e5efc579a3b6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/52d728c85f35a58bbfdfd2b6dbdad511312ae00ed2707bd69ad2bf8dfc772400.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -177,10 +177,10 @@ "LogGroupDefaultTestDeployAssert353EE07A.assets" ], "metadata": { - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default/Default": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31/Default/Default": [ { "type": "aws:cdk:logicalId", - "data": "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793" + "data": "AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31" } ], "/LogGroup/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role": [ @@ -195,16 +195,16 @@ "data": "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F" } ], - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default/Default": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/Default/Default": [ { "type": "aws:cdk:logicalId", - "data": "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30" + "data": "AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593" } ], - "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/AssertionResults": [ + "/LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/AssertionResults": [ { "type": "aws:cdk:logicalId", - "data": "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30" + "data": "AssertionResultsAwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593" } ], "/LogGroup/DefaultTest/DeployAssert/BootstrapVersion": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json index 8de41711b1cc1..67949aa42f57c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-events-targets/test/logs/integ.log-group.js.snapshot/tree.json @@ -708,17 +708,17 @@ "id": "DeployAssert", "path": "LogGroup/DefaultTest/DeployAssert", "children": { - "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793": { - "id": "AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793", + "AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31": { + "id": "AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31", "children": { "SdkProvider": { "id": "SdkProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/SdkProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31/SdkProvider", "children": { "AssertionsProvider": { "id": "AssertionsProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/SdkProvider/AssertionsProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31/SdkProvider/AssertionsProvider", "constructInfo": { "fqn": "constructs.Construct", "version": "10.2.69" @@ -732,11 +732,11 @@ }, "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31/Default", "children": { "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents2143303f4c04ed4bc04aaa282b6bf793/Default/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallEventBridgeputEvents86d1feecd8251713d5bdf1c558f2aa31/Default/Default", "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" @@ -788,17 +788,17 @@ "version": "10.2.69" } }, - "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30": { - "id": "AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30", + "AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593": { + "id": "AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593", "children": { "SdkProvider": { "id": "SdkProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/SdkProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/SdkProvider", "children": { "AssertionsProvider": { "id": "AssertionsProvider", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/SdkProvider/AssertionsProvider", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/SdkProvider/AssertionsProvider", "constructInfo": { "fqn": "constructs.Construct", "version": "10.2.69" @@ -812,11 +812,11 @@ }, "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/Default", "children": { "Default": { "id": "Default", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/Default/Default", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/Default/Default", "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" @@ -830,7 +830,7 @@ }, "AssertionResults": { "id": "AssertionResults", - "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEventse324f67db1806bc477e46470d77afc30/AssertionResults", + "path": "LogGroup/DefaultTest/DeployAssert/AwsApiCallCloudWatchLogsfilterLogEvents5769f20437ecc1683899ac2c8e798593/AssertionResults", "constructInfo": { "fqn": "aws-cdk-lib.CfnOutput", "version": "0.0.0" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/diff.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/diff.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/diff.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js new file mode 100644 index 0000000000000..6be5164045e20 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/external.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.external = void 0; +const tls = require("tls"); +const url = require("url"); +// eslint-disable-next-line import/no-extraneous-dependencies +const sdk = require("@aws-sdk/client-iam"); +let client; +function iam() { + if (!client) { + client = new sdk.IAM({}); + } + return client; +} +function defaultLogger(fmt, ...args) { + // eslint-disable-next-line no-console + console.log(fmt, ...args); +} +/** + * Downloads the CA thumbprint from the issuer URL + */ +async function downloadThumbprint(issuerUrl) { + return new Promise((ok, ko) => { + const purl = url.parse(issuerUrl); + const port = purl.port ? parseInt(purl.port, 10) : 443; + if (!purl.host) { + return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); + } + exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); + const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); + socket.once('error', ko); + socket.once('secureConnect', () => { + let cert = socket.getPeerX509Certificate(); + if (!cert) { + throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); + } + while (cert.issuerCertificate) { + printCertificate(cert); + cert = cert.issuerCertificate; + } + const validTo = new Date(cert.validTo); + const certificateValidity = getCertificateValidity(validTo); + if (certificateValidity < 0) { + return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); + } + // Warning user if certificate validity is expiring within 6 months + if (certificateValidity < 180) { + /* eslint-disable-next-line no-console */ + console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); + } + socket.end(); + const thumbprint = extractThumbprint(cert); + exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); + ok(thumbprint); + }); + }); +} +function extractThumbprint(cert) { + return cert.fingerprint.split(':').join(''); +} +function printCertificate(cert) { + exports.external.log('-------------BEGIN CERT----------------'); + exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); + exports.external.log(`Valid To: ${cert.validTo}`); + if (cert.issuerCertificate) { + exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); + } + exports.external.log(`Issuer: ${cert.issuer}`); + exports.external.log(`Subject: ${cert.subject}`); + exports.external.log('-------------END CERT------------------'); +} +/** + * To get the validity timeline for the certificate + * @param certDate The valid to date for the certificate + * @returns The number of days the certificate is valid wrt current date + */ +function getCertificateValidity(certDate) { + const millisecondsInDay = 24 * 60 * 60 * 1000; + const currentDate = new Date(); + const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); + return validity; +} +// allows unit test to replace with mocks +/* eslint-disable max-len */ +exports.external = { + downloadThumbprint, + log: defaultLogger, + createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwyQ0FBMkM7QUFFM0MsSUFBSSxNQUFlLENBQUM7QUFDcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUMxQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUNoRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsU0FBaUI7SUFFakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDL0U7WUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDN0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7WUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU1RCxJQUFJLG1CQUFtQixHQUFHLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkNBQTJDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRjtZQUVELG1FQUFtRTtZQUNuRSxJQUFJLG1CQUFtQixHQUFHLEdBQUcsRUFBRTtnQkFDN0IseUNBQXlDO2dCQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxtQkFBbUIsUUFBUSxDQUFDLENBQUM7YUFDNUY7WUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFYixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsU0FBUyxPQUFPLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFFbkYsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFxQjtJQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFxQjtJQUM3QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3hELGdCQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELGdCQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDMUIsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRjtJQUNELGdCQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkMsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxRQUFjO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFFL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTlGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQ2YsUUFBQSxRQUFRLEdBQUc7SUFDdEIsa0JBQWtCO0lBQ2xCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILDJCQUEyQixFQUFFLENBQUMsR0FBZ0QsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDO0lBQ3pILHFDQUFxQyxFQUFFLENBQUMsR0FBMEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZKLGtDQUFrQyxFQUFFLENBQUMsR0FBdUQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDO0lBQzlJLHVDQUF1QyxFQUFFLENBQUMsR0FBNEQsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDO0NBQzlKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLy8gdGhlIFg1MDkgY2VydGlmaWNhdGUgQVBJIGlzIGF2YWlsYWJsZSBvbmx5IGluIG5vZGUxNi5cbi8vIHNpbmNlIHdlIGNvbXBpbGUgdGhlIHJlcG8gYWdhaW5zdCBub2RlIDE0LCB0eXBlY2hlY2tpbmcgaXQgd2lsbCBmYWlsLlxuLy8gaXRzIGN1cnJlbnRseSB0b28gY29tcGxleCB0byBjb25maWd1cmUgbm9kZTE2IG9ubHkgb24gdGhpc1xuLy8gZmlsZSAoanNpaSBkb2Vzbid0IHN1cHBvcnQgY3VzdG9tIHRzY29uZmlnKVxuLy8gc28gd2UgZGlzYWJsZSB0eXBlY2hlY2tpbmcuIGRvbid0IHdvcnJ5LCB3ZSBoYXZlIHN1ZmZpY2llbnQgaW50ZWcgdGVzdHMgdGhhdFxuLy8gdmFsaWRhdGUgdGhpcyBjb2RlIGRvZXNuJ3QgYnJlYWsuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgWDUwOUNlcnRpZmljYXRlIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAYXdzLXNkay9jbGllbnQtaWFtJztcblxubGV0IGNsaWVudDogc2RrLklBTTtcbmZ1bmN0aW9uIGlhbSgpOiBzZGsuSUFNIHtcbiAgaWYgKCFjbGllbnQpIHsgY2xpZW50ID0gbmV3IHNkay5JQU0oe30pOyB9XG4gIHJldHVybiBjbGllbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRMb2dnZXIoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4uYXJncyk7XG59XG5cbi8qKlxuICogRG93bmxvYWRzIHRoZSBDQSB0aHVtYnByaW50IGZyb20gdGhlIGlzc3VlciBVUkxcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybDogc3RyaW5nKSB7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IHB1cmwgPSB1cmwucGFyc2UoaXNzdWVyVXJsKTtcbiAgICBjb25zdCBwb3J0ID0gcHVybC5wb3J0ID8gcGFyc2VJbnQocHVybC5wb3J0LCAxMCkgOiA0NDM7XG5cbiAgICBpZiAoIXB1cmwuaG9zdCkge1xuICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgdW5hYmxlIHRvIGRldGVybWluZSBob3N0IGZyb20gaXNzdWVyIHVybCAke2lzc3VlclVybH1gKSk7XG4gICAgfVxuXG4gICAgZXh0ZXJuYWwubG9nKGBGZXRjaGluZyB4NTA5IGNlcnRpZmljYXRlIGNoYWluIGZyb20gaXNzdWVyICR7aXNzdWVyVXJsfWApO1xuXG4gICAgY29uc3Qgc29ja2V0ID0gdGxzLmNvbm5lY3QocG9ydCwgcHVybC5ob3N0LCB7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsIHNlcnZlcm5hbWU6IHB1cmwuaG9zdCB9KTtcbiAgICBzb2NrZXQub25jZSgnZXJyb3InLCBrbyk7XG5cbiAgICBzb2NrZXQub25jZSgnc2VjdXJlQ29ubmVjdCcsICgpID0+IHtcbiAgICAgIGxldCBjZXJ0ID0gc29ja2V0LmdldFBlZXJYNTA5Q2VydGlmaWNhdGUoKTtcbiAgICAgIGlmICghY2VydCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXRyaWV2ZSBYNTA5IGNlcnRpZmljYXRlIGZyb20gaG9zdCAke3B1cmwuaG9zdH1gKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgICAgIHByaW50Q2VydGlmaWNhdGUoY2VydCk7XG4gICAgICAgIGNlcnQgPSBjZXJ0Lmlzc3VlckNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWRUbyA9IG5ldyBEYXRlKGNlcnQudmFsaWRUbyk7XG4gICAgICBjb25zdCBjZXJ0aWZpY2F0ZVZhbGlkaXR5ID0gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eSh2YWxpZFRvKTtcblxuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAwKSB7XG4gICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IoYFRoZSBjZXJ0aWZpY2F0ZSBoYXMgYWxyZWFkeSBleHBpcmVkIG9uOiAke3ZhbGlkVG8udG9VVENTdHJpbmcoKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhcm5pbmcgdXNlciBpZiBjZXJ0aWZpY2F0ZSB2YWxpZGl0eSBpcyBleHBpcmluZyB3aXRoaW4gNiBtb250aHNcbiAgICAgIGlmIChjZXJ0aWZpY2F0ZVZhbGlkaXR5IDwgMTgwKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGhlIHJvb3QgY2VydGlmaWNhdGUgb2J0YWluZWQgd291bGQgZXhwaXJlIGluICR7Y2VydGlmaWNhdGVWYWxpZGl0eX0gZGF5cyFgKTtcbiAgICAgIH1cblxuICAgICAgc29ja2V0LmVuZCgpO1xuXG4gICAgICBjb25zdCB0aHVtYnByaW50ID0gZXh0cmFjdFRodW1icHJpbnQoY2VydCk7XG4gICAgICBleHRlcm5hbC5sb2coYENlcnRpZmljYXRlIEF1dGhvcml0eSB0aHVtYnByaW50IGZvciAke2lzc3VlclVybH0gaXMgJHt0aHVtYnByaW50fWApO1xuXG4gICAgICBvayh0aHVtYnByaW50KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaHVtYnByaW50KGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICByZXR1cm4gY2VydC5maW5nZXJwcmludC5zcGxpdCgnOicpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBwcmludENlcnRpZmljYXRlKGNlcnQ6IFg1MDlDZXJ0aWZpY2F0ZSkge1xuICBleHRlcm5hbC5sb2coJy0tLS0tLS0tLS0tLS1CRUdJTiBDRVJULS0tLS0tLS0tLS0tLS0tLScpO1xuICBleHRlcm5hbC5sb2coYFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydCl9YCk7XG4gIGV4dGVybmFsLmxvZyhgVmFsaWQgVG86ICR7Y2VydC52YWxpZFRvfWApO1xuICBpZiAoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSkge1xuICAgIGV4dGVybmFsLmxvZyhgSXNzdWVyIFRodW1icHJpbnQ6ICR7ZXh0cmFjdFRodW1icHJpbnQoY2VydC5pc3N1ZXJDZXJ0aWZpY2F0ZSl9YCk7XG4gIH1cbiAgZXh0ZXJuYWwubG9nKGBJc3N1ZXI6ICR7Y2VydC5pc3N1ZXJ9YCk7XG4gIGV4dGVybmFsLmxvZyhgU3ViamVjdDogJHtjZXJ0LnN1YmplY3R9YCk7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUVORCBDRVJULS0tLS0tLS0tLS0tLS0tLS0tJyk7XG59XG5cbi8qKlxuICogVG8gZ2V0IHRoZSB2YWxpZGl0eSB0aW1lbGluZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcGFyYW0gY2VydERhdGUgVGhlIHZhbGlkIHRvIGRhdGUgZm9yIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBkYXlzIHRoZSBjZXJ0aWZpY2F0ZSBpcyB2YWxpZCB3cnQgY3VycmVudCBkYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENlcnRpZmljYXRlVmFsaWRpdHkoY2VydERhdGU6IERhdGUpOiBOdW1iZXIge1xuICBjb25zdCBtaWxsaXNlY29uZHNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdCB2YWxpZGl0eSA9IE1hdGgucm91bmQoKGNlcnREYXRlLmdldFRpbWUoKSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG5cbiAgcmV0dXJuIHZhbGlkaXR5O1xufVxuXG4vLyBhbGxvd3MgdW5pdCB0ZXN0IHRvIHJlcGxhY2Ugd2l0aCBtb2Nrc1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBkb3dubG9hZFRodW1icHJpbnQsXG4gIGxvZzogZGVmYXVsdExvZ2dlcixcbiAgY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5kZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgdXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludDogKHJlcTogc2RrLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQpID0+IGlhbSgpLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQocmVxKSxcbiAgYWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlcjogKHJlcTogc2RrLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQpID0+IGlhbSgpLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBzZGsuUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0KSA9PiBpYW0oKS5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIocmVxKSxcbn07XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js similarity index 51% rename from packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/index.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js index 8c411a856cf49..557a20fd8951c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/index.js +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56/index.js @@ -57,7 +57,7 @@ async function onUpdate(event) { }); // if client ID list has changed, determine "diff" because the API is add/remove const oldClients = (event.OldResourceProperties.ClientIDList || []).sort(); - const diff = diff_1.arrayDiff(oldClients, clients); + const diff = (0, diff_1.arrayDiff)(oldClients, clients); external_1.external.log(`client ID diff: ${JSON.stringify(diff)}`); for (const addClient of diff.adds) { external_1.external.log(`adding client id "${addClient}" to provider ${providerArn}`); @@ -84,4 +84,4 @@ async function onDelete(deleteEvent) { OpenIDConnectProviderArn: deleteEvent.PhysicalResourceId, }); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBbUM7QUFDbkMseUNBQXNDO0FBRS9CLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFMRCwwQkFLQztBQUVELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztJQUMvQyxNQUFNLFdBQVcsR0FBYSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx5QkFBeUI7SUFDL0csTUFBTSxPQUFPLEdBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRS9FLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDNUIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLG1CQUFRLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUNoRTtJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sbUJBQVEsQ0FBQywyQkFBMkIsQ0FB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QkFBMkIsQ0FBQztRQUN6Qyx3QkFBd0IsRUFBRSxXQUFXLENBQUMsa0JBQWtCO0tBQ3pELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcnJheURpZmYgfSBmcm9tICcuL2RpZmYnO1xuaW1wb3J0IHsgZXh0ZXJuYWwgfSBmcm9tICcuL2V4dGVybmFsJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQpIHtcbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnQ3JlYXRlJykgeyByZXR1cm4gb25DcmVhdGUoZXZlbnQpOyB9XG4gIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ1VwZGF0ZScpIHsgcmV0dXJuIG9uVXBkYXRlKGV2ZW50KTsgfVxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnKSB7IHJldHVybiBvbkRlbGV0ZShldmVudCk7IH1cbiAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHJlcXVlc3QgdHlwZScpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBvbkNyZWF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VDcmVhdGVFdmVudCkge1xuICBjb25zdCBpc3N1ZXJVcmwgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVXJsO1xuICBjb25zdCB0aHVtYnByaW50czogc3RyaW5nW10gPSAoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlRodW1icHJpbnRMaXN0ID8/IFtdKS5zb3J0KCk7IC8vIGtlZXAgc29ydGVkIGZvciBVUERBVEVcbiAgY29uc3QgY2xpZW50czogc3RyaW5nW10gPSAoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkNsaWVudElETGlzdCA/PyBbXSkuc29ydCgpO1xuXG4gIGlmICh0aHVtYnByaW50cy5sZW5ndGggPT09IDApIHtcbiAgICB0aHVtYnByaW50cy5wdXNoKGF3YWl0IGV4dGVybmFsLmRvd25sb2FkVGh1bWJwcmludChpc3N1ZXJVcmwpKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3AgPSBhd2FpdCBleHRlcm5hbC5jcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXIoe1xuICAgIFVybDogaXNzdWVyVXJsLFxuICAgIENsaWVudElETGlzdDogY2xpZW50cyxcbiAgICBUaHVtYnByaW50TGlzdDogdGh1bWJwcmludHMsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiByZXNwLk9wZW5JRENvbm5lY3RQcm92aWRlckFybixcbiAgICBEYXRhOiB7XG4gICAgICBUaHVtYnByaW50czogSlNPTi5zdHJpbmdpZnkodGh1bWJwcmludHMpLFxuICAgIH0sXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG9uVXBkYXRlKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KSB7XG4gIGNvbnN0IGlzc3VlclVybCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Vcmw7XG4gIGNvbnN0IHRodW1icHJpbnRzOiBzdHJpbmdbXSA9IChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVGh1bWJwcmludExpc3QgPz8gW10pLnNvcnQoKTsgLy8ga2VlcCBzb3J0ZWQgZm9yIFVQREFURVxuICBjb25zdCBjbGllbnRzOiBzdHJpbmdbXSA9IChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ2xpZW50SURMaXN0ID8/IFtdKS5zb3J0KCk7XG5cbiAgLy8gZGV0ZXJtaW5lIHdoaWNoIHVwZGF0ZSB3ZSBhcmUgdGFsa2luZyBhYm91dC5cbiAgY29uc3Qgb2xkSXNzdWVyVXJsID0gZXZlbnQuT2xkUmVzb3VyY2VQcm9wZXJ0aWVzLlVybDtcblxuICAvLyBpZiB0aGlzIGlzIGEgVVJMIHVwZGF0ZSwgdGhlbiB3ZSBiYXNpY2FsbHkgY3JlYXRlIGEgbmV3IHJlc291cmNlIGFuZCBjZm4gd2lsbCBkZWxldGUgdGhlIG9sZCBvbmVcbiAgLy8gc2luY2UgdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIHdpbGwgY2hhbmdlLlxuICBpZiAob2xkSXNzdWVyVXJsICE9PSBpc3N1ZXJVcmwpIHtcbiAgICByZXR1cm4gb25DcmVhdGUoeyAuLi5ldmVudCwgUmVxdWVzdFR5cGU6ICdDcmVhdGUnIH0pO1xuICB9XG5cbiAgY29uc3QgcHJvdmlkZXJBcm4gPSBldmVudC5QaHlzaWNhbFJlc291cmNlSWQ7XG5cbiAgaWYgKHRodW1icHJpbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRodW1icHJpbnRzLnB1c2goYXdhaXQgZXh0ZXJuYWwuZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybCkpO1xuICB9XG5cbiAgZXh0ZXJuYWwubG9nKCd1cGRhdGluZyB0aHVtYnByaW50IHRvJywgdGh1bWJwcmludHMpO1xuICBhd2FpdCBleHRlcm5hbC51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHtcbiAgICBPcGVuSURDb25uZWN0UHJvdmlkZXJBcm46IHByb3ZpZGVyQXJuLFxuICAgIFRodW1icHJpbnRMaXN0OiB0aHVtYnByaW50cyxcbiAgfSk7XG5cbiAgLy8gaWYgY2xpZW50IElEIGxpc3QgaGFzIGNoYW5nZWQsIGRldGVybWluZSBcImRpZmZcIiBiZWNhdXNlIHRoZSBBUEkgaXMgYWRkL3JlbW92ZVxuICBjb25zdCBvbGRDbGllbnRzOiBzdHJpbmdbXSA9IChldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuQ2xpZW50SURMaXN0IHx8IFtdKS5zb3J0KCk7XG4gIGNvbnN0IGRpZmYgPSBhcnJheURpZmYob2xkQ2xpZW50cywgY2xpZW50cyk7XG4gIGV4dGVybmFsLmxvZyhgY2xpZW50IElEIGRpZmY6ICR7SlNPTi5zdHJpbmdpZnkoZGlmZil9YCk7XG5cbiAgZm9yIChjb25zdCBhZGRDbGllbnQgb2YgZGlmZi5hZGRzKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBhZGRpbmcgY2xpZW50IGlkIFwiJHthZGRDbGllbnR9XCIgdG8gcHJvdmlkZXIgJHtwcm92aWRlckFybn1gKTtcbiAgICBhd2FpdCBleHRlcm5hbC5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHtcbiAgICAgIE9wZW5JRENvbm5lY3RQcm92aWRlckFybjogcHJvdmlkZXJBcm4sXG4gICAgICBDbGllbnRJRDogYWRkQ2xpZW50LFxuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBkZWxldGVDbGllbnQgb2YgZGlmZi5kZWxldGVzKSB7XG4gICAgZXh0ZXJuYWwubG9nKGByZW1vdmluZyBjbGllbnQgaWQgXCIke2RlbGV0ZUNsaWVudH1cIiBmcm9tIHByb3ZpZGVyICR7cHJvdmlkZXJBcm59YCk7XG4gICAgYXdhaXQgZXh0ZXJuYWwucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHtcbiAgICAgIE9wZW5JRENvbm5lY3RQcm92aWRlckFybjogcHJvdmlkZXJBcm4sXG4gICAgICBDbGllbnRJRDogZGVsZXRlQ2xpZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBEYXRhOiB7XG4gICAgICBUaHVtYnByaW50czogSlNPTi5zdHJpbmdpZnkodGh1bWJwcmludHMpLFxuICAgIH0sXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG9uRGVsZXRlKGRlbGV0ZUV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50KSB7XG4gIGF3YWl0IGV4dGVybmFsLmRlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlcih7XG4gICAgT3BlbklEQ29ubmVjdFByb3ZpZGVyQXJuOiBkZWxldGVFdmVudC5QaHlzaWNhbFJlc291cmNlSWQsXG4gIH0pO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBbUM7QUFDbkMseUNBQXNDO0FBRS9CLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQUU7SUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFMRCwwQkFLQztBQUVELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztJQUMvQyxNQUFNLFdBQVcsR0FBYSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx5QkFBeUI7SUFDL0csTUFBTSxPQUFPLEdBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRS9FLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDNUIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLG1CQUFRLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUNoRTtJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sbUJBQVEsQ0FBQywyQkFBMkIsQ0FB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QUFDLDJCQUEyQixDQUFDO1FBQ3pDLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxrQkFBa0I7S0FDekQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFycmF5RGlmZiB9IGZyb20gJy4vZGlmZic7XG5pbXBvcnQgeyBleHRlcm5hbCB9IGZyb20gJy4vZXh0ZXJuYWwnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCkge1xuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7IHJldHVybiBvbkNyZWF0ZShldmVudCk7IH1cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnVXBkYXRlJykgeyByZXR1cm4gb25VcGRhdGUoZXZlbnQpOyB9XG4gIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScpIHsgcmV0dXJuIG9uRGVsZXRlKGV2ZW50KTsgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmVxdWVzdCB0eXBlJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG9uQ3JlYXRlKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUNyZWF0ZUV2ZW50KSB7XG4gIGNvbnN0IGlzc3VlclVybCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Vcmw7XG4gIGNvbnN0IHRodW1icHJpbnRzOiBzdHJpbmdbXSA9IChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVGh1bWJwcmludExpc3QgPz8gW10pLnNvcnQoKTsgLy8ga2VlcCBzb3J0ZWQgZm9yIFVQREFURVxuICBjb25zdCBjbGllbnRzOiBzdHJpbmdbXSA9IChldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ2xpZW50SURMaXN0ID8/IFtdKS5zb3J0KCk7XG5cbiAgaWYgKHRodW1icHJpbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRodW1icHJpbnRzLnB1c2goYXdhaXQgZXh0ZXJuYWwuZG93bmxvYWRUaHVtYnByaW50KGlzc3VlclVybCkpO1xuICB9XG5cbiAgY29uc3QgcmVzcCA9IGF3YWl0IGV4dGVybmFsLmNyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlcih7XG4gICAgVXJsOiBpc3N1ZXJVcmwsXG4gICAgQ2xpZW50SURMaXN0OiBjbGllbnRzLFxuICAgIFRodW1icHJpbnRMaXN0OiB0aHVtYnByaW50cyxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHJlc3AuT3BlbklEQ29ubmVjdFByb3ZpZGVyQXJuLFxuICAgIERhdGE6IHtcbiAgICAgIFRodW1icHJpbnRzOiBKU09OLnN0cmluZ2lmeSh0aHVtYnByaW50cyksXG4gICAgfSxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpIHtcbiAgY29uc3QgaXNzdWVyVXJsID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlVybDtcbiAgY29uc3QgdGh1bWJwcmludHM6IHN0cmluZ1tdID0gKGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5UaHVtYnByaW50TGlzdCA/PyBbXSkuc29ydCgpOyAvLyBrZWVwIHNvcnRlZCBmb3IgVVBEQVRFXG4gIGNvbnN0IGNsaWVudHM6IHN0cmluZ1tdID0gKGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5DbGllbnRJRExpc3QgPz8gW10pLnNvcnQoKTtcblxuICAvLyBkZXRlcm1pbmUgd2hpY2ggdXBkYXRlIHdlIGFyZSB0YWxraW5nIGFib3V0LlxuICBjb25zdCBvbGRJc3N1ZXJVcmwgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuVXJsO1xuXG4gIC8vIGlmIHRoaXMgaXMgYSBVUkwgdXBkYXRlLCB0aGVuIHdlIGJhc2ljYWxseSBjcmVhdGUgYSBuZXcgcmVzb3VyY2UgYW5kIGNmbiB3aWxsIGRlbGV0ZSB0aGUgb2xkIG9uZVxuICAvLyBzaW5jZSB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgd2lsbCBjaGFuZ2UuXG4gIGlmIChvbGRJc3N1ZXJVcmwgIT09IGlzc3VlclVybCkge1xuICAgIHJldHVybiBvbkNyZWF0ZSh7IC4uLmV2ZW50LCBSZXF1ZXN0VHlwZTogJ0NyZWF0ZScgfSk7XG4gIH1cblxuICBjb25zdCBwcm92aWRlckFybiA9IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZDtcblxuICBpZiAodGh1bWJwcmludHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGh1bWJwcmludHMucHVzaChhd2FpdCBleHRlcm5hbC5kb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsKSk7XG4gIH1cblxuICBleHRlcm5hbC5sb2coJ3VwZGF0aW5nIHRodW1icHJpbnQgdG8nLCB0aHVtYnByaW50cyk7XG4gIGF3YWl0IGV4dGVybmFsLnVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQoe1xuICAgIE9wZW5JRENvbm5lY3RQcm92aWRlckFybjogcHJvdmlkZXJBcm4sXG4gICAgVGh1bWJwcmludExpc3Q6IHRodW1icHJpbnRzLFxuICB9KTtcblxuICAvLyBpZiBjbGllbnQgSUQgbGlzdCBoYXMgY2hhbmdlZCwgZGV0ZXJtaW5lIFwiZGlmZlwiIGJlY2F1c2UgdGhlIEFQSSBpcyBhZGQvcmVtb3ZlXG4gIGNvbnN0IG9sZENsaWVudHM6IHN0cmluZ1tdID0gKGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5DbGllbnRJRExpc3QgfHwgW10pLnNvcnQoKTtcbiAgY29uc3QgZGlmZiA9IGFycmF5RGlmZihvbGRDbGllbnRzLCBjbGllbnRzKTtcbiAgZXh0ZXJuYWwubG9nKGBjbGllbnQgSUQgZGlmZjogJHtKU09OLnN0cmluZ2lmeShkaWZmKX1gKTtcblxuICBmb3IgKGNvbnN0IGFkZENsaWVudCBvZiBkaWZmLmFkZHMpIHtcbiAgICBleHRlcm5hbC5sb2coYGFkZGluZyBjbGllbnQgaWQgXCIke2FkZENsaWVudH1cIiB0byBwcm92aWRlciAke3Byb3ZpZGVyQXJufWApO1xuICAgIGF3YWl0IGV4dGVybmFsLmFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXIoe1xuICAgICAgT3BlbklEQ29ubmVjdFByb3ZpZGVyQXJuOiBwcm92aWRlckFybixcbiAgICAgIENsaWVudElEOiBhZGRDbGllbnQsXG4gICAgfSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGRlbGV0ZUNsaWVudCBvZiBkaWZmLmRlbGV0ZXMpIHtcbiAgICBleHRlcm5hbC5sb2coYHJlbW92aW5nIGNsaWVudCBpZCBcIiR7ZGVsZXRlQ2xpZW50fVwiIGZyb20gcHJvdmlkZXIgJHtwcm92aWRlckFybn1gKTtcbiAgICBhd2FpdCBleHRlcm5hbC5yZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIoe1xuICAgICAgT3BlbklEQ29ubmVjdFByb3ZpZGVyQXJuOiBwcm92aWRlckFybixcbiAgICAgIENsaWVudElEOiBkZWxldGVDbGllbnQsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIERhdGE6IHtcbiAgICAgIFRodW1icHJpbnRzOiBKU09OLnN0cmluZ2lmeSh0aHVtYnByaW50cyksXG4gICAgfSxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gb25EZWxldGUoZGVsZXRlRXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnQpIHtcbiAgYXdhaXQgZXh0ZXJuYWwuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHtcbiAgICBPcGVuSURDb25uZWN0UHJvdmlkZXJBcm46IGRlbGV0ZUV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgfSk7XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/__entrypoint__.js deleted file mode 100644 index 1e3a3093c1706..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/__entrypoint__.js +++ /dev/null @@ -1,144 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.withRetries = exports.handler = exports.external = void 0; -const https = require("https"); -const url = require("url"); -// for unit tests -exports.external = { - sendHttpRequest: defaultSendHttpRequest, - log: defaultLog, - includeStackTraces: true, - userHandlerIndex: './index', -}; -const CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; -const MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; -async function handler(event, context) { - const sanitizedEvent = { ...event, ResponseURL: '...' }; - exports.external.log(JSON.stringify(sanitizedEvent, undefined, 2)); - // ignore DELETE event when the physical resource ID is the marker that - // indicates that this DELETE is a subsequent DELETE to a failed CREATE - // operation. - if (event.RequestType === 'Delete' && event.PhysicalResourceId === CREATE_FAILED_PHYSICAL_ID_MARKER) { - exports.external.log('ignoring DELETE event caused by a failed CREATE event'); - await submitResponse('SUCCESS', event); - return; - } - try { - // invoke the user handler. this is intentionally inside the try-catch to - // ensure that if there is an error it's reported as a failure to - // cloudformation (otherwise cfn waits). - // eslint-disable-next-line @typescript-eslint/no-require-imports - const userHandler = require(exports.external.userHandlerIndex).handler; - const result = await userHandler(sanitizedEvent, context); - // validate user response and create the combined event - const responseEvent = renderResponse(event, result); - // submit to cfn as success - await submitResponse('SUCCESS', responseEvent); - } - catch (e) { - const resp = { - ...event, - Reason: exports.external.includeStackTraces ? e.stack : e.message, - }; - if (!resp.PhysicalResourceId) { - // special case: if CREATE fails, which usually implies, we usually don't - // have a physical resource id. in this case, the subsequent DELETE - // operation does not have any meaning, and will likely fail as well. to - // address this, we use a marker so the provider framework can simply - // ignore the subsequent DELETE. - if (event.RequestType === 'Create') { - exports.external.log('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); - resp.PhysicalResourceId = CREATE_FAILED_PHYSICAL_ID_MARKER; - } - else { - // otherwise, if PhysicalResourceId is not specified, something is - // terribly wrong because all other events should have an ID. - exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`); - } - } - // this is an actual error, fail the activity altogether and exist. - await submitResponse('FAILED', resp); - } -} -exports.handler = handler; -function renderResponse(cfnRequest, handlerResponse = {}) { - // if physical ID is not returned, we have some defaults for you based - // on the request type. - const physicalResourceId = handlerResponse.PhysicalResourceId ?? cfnRequest.PhysicalResourceId ?? cfnRequest.RequestId; - // if we are in DELETE and physical ID was changed, it's an error. - if (cfnRequest.RequestType === 'Delete' && physicalResourceId !== cfnRequest.PhysicalResourceId) { - throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`); - } - // merge request event and result event (result prevails). - return { - ...cfnRequest, - ...handlerResponse, - PhysicalResourceId: physicalResourceId, - }; -} -async function submitResponse(status, event) { - const json = { - Status: status, - Reason: event.Reason ?? status, - StackId: event.StackId, - RequestId: event.RequestId, - PhysicalResourceId: event.PhysicalResourceId || MISSING_PHYSICAL_ID_MARKER, - LogicalResourceId: event.LogicalResourceId, - NoEcho: event.NoEcho, - Data: event.Data, - }; - exports.external.log('submit response to cloudformation', json); - const responseBody = JSON.stringify(json); - const parsedUrl = url.parse(event.ResponseURL); - const req = { - hostname: parsedUrl.hostname, - path: parsedUrl.path, - method: 'PUT', - headers: { 'content-type': '', 'content-length': responseBody.length }, - }; - const retryOptions = { - attempts: 5, - sleep: 1000, - }; - await withRetries(retryOptions, exports.external.sendHttpRequest)(req, responseBody); -} -async function defaultSendHttpRequest(options, responseBody) { - return new Promise((resolve, reject) => { - try { - const request = https.request(options, _ => resolve()); - request.on('error', reject); - request.write(responseBody); - request.end(); - } - catch (e) { - reject(e); - } - }); -} -function defaultLog(fmt, ...params) { - // eslint-disable-next-line no-console - console.log(fmt, ...params); -} -function withRetries(options, fn) { - return async (...xs) => { - let attempts = options.attempts; - let ms = options.sleep; - while (true) { - try { - return await fn(...xs); - } - catch (e) { - if (attempts-- <= 0) { - throw e; - } - await sleep(Math.floor(Math.random() * ms)); - ms *= 2; - } - } - }; -} -exports.withRetries = withRetries; -async function sleep(ms) { - return new Promise((ok) => setTimeout(ok, ms)); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZWpzLWVudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJub2RlanMtZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBRTNCLGlCQUFpQjtBQUNKLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLGVBQWUsRUFBRSxzQkFBc0I7SUFDdkMsR0FBRyxFQUFFLFVBQVU7SUFDZixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLFNBQVM7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDbEcsTUFBTSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQVczRixLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQWtELEVBQUUsT0FBMEI7SUFDMUcsTUFBTSxjQUFjLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0QsdUVBQXVFO0lBQ3ZFLHVFQUF1RTtJQUN2RSxhQUFhO0lBQ2IsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssZ0NBQWdDLEVBQUU7UUFDbkcsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTztLQUNSO0lBRUQsSUFBSTtRQUNGLHlFQUF5RTtRQUN6RSxpRUFBaUU7UUFDakUsd0NBQXdDO1FBQ3hDLGlFQUFpRTtRQUNqRSxNQUFNLFdBQVcsR0FBWSxPQUFPLENBQUMsZ0JBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN4RSxNQUFN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RUFBRSxFQUFFO1FBQ3hCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN2QixPQUFPLElBQUksRUFBRTtZQUNYLElBQUk7Z0JBQ0YsT0FBTyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsSUFBSSxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ25CLE1BQU0sQ0FBQyxDQUFDO2lCQUNUO2dCQUNELE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWhCRCxrQ0FnQkM7QUFFRCxLQUFLLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDN0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBodHRwcyBmcm9tICdodHRwcyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcblxuLy8gZm9yIHVuaXQgdGVzdHNcbmV4cG9ydCBjb25zdCBleHRlcm5hbCA9IHtcbiAgc2VuZEh0dHBSZXF1ZXN0OiBkZWZhdWx0U2VuZEh0dHBSZXF1ZXN0LFxuICBsb2c6IGRlZmF1bHRMb2csXG4gIGluY2x1ZGVTdGFja1RyYWNlczogdHJ1ZSxcbiAgdXNlckhhbmRsZXJJbmRleDogJy4vaW5kZXgnLFxufTtcblxuY29uc3QgQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpDUkVBVEVfRkFJTEVEJztcbmNvbnN0IE1JU1NJTkdfUEhZU0lDQUxfSURfTUFSS0VSID0gJ0FXU0NESzo6Q3VzdG9tUmVzb3VyY2VQcm92aWRlckZyYW1ld29yazo6TUlTU0lOR19QSFlTSUNBTF9JRCc7XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlID0gQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCAmIEhhbmRsZXJSZXNwb25zZTtcbmV4cG9ydCB0eXBlIEhhbmRsZXIgPSAoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQsIGNvbnRleHQ6IEFXU0xhbWJkYS5Db250ZXh0KSA9PiBQcm9taXNlPEhhbmRsZXJSZXNwb25zZSB8IHZvaWQ+O1xuZXhwb3J0IHR5cGUgSGFuZGxlclJlc3BvbnNlID0gdW5kZWZpbmVkIHwge1xuICBEYXRhPzogYW55O1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmc7XG4gIFJlYXNvbj86IHN0cmluZztcbiAgTm9FY2hvPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50LCBjb250ZXh0OiBBV1NMYW1iZGEuQ29udGV4dCkge1xuICBjb25zdCBzYW5pdGl6ZWRFdmVudCA9IHsgLi4uZXZlbnQsIFJlc3BvbnNlVVJMOiAnLi4uJyB9O1xuICBleHRlcm5hbC5sb2coSlNPTi5zdHJpbmdpZnkoc2FuaXRpemVkRXZlbnQsIHVuZGVmaW5lZCwgMikpO1xuXG4gIC8vIGlnbm9yZSBERUxFVEUgZXZlbnQgd2hlbiB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgaXMgdGhlIG1hcmtlciB0aGF0XG4gIC8vIGluZGljYXRlcyB0aGF0IHRoaXMgREVMRVRFIGlzIGEgc3Vic2VxdWVudCBERUxFVEUgdG8gYSBmYWlsZWQgQ1JFQVRFXG4gIC8vIG9wZXJhdGlvbi5cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJyAmJiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgPT09IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSKSB7XG4gICAgZXh0ZXJuYWwubG9nKCdpZ25vcmluZyBERUxFVEUgZXZlbnQgY2F1c2VkIGJ5IGEgZmFpbGVkIENSRUFURSBldmVudCcpO1xuICAgIGF3YWl0IHN1Ym1pdFJlc3BvbnNlKCdTVUNDRVNTJywgZXZlbnQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gaW52b2tlIHRoZSB1c2VyIGhhbmRsZXIuIHRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgdGhlIHRyeS1jYXRjaCB0b1xuICAgIC8vIGVuc3VyZSB0aGF0IGlmIHRoZXJlIGlzIGFuIGVycm9yIGl0J3MgcmVwb3J0ZWQgYXMgYSBmYWlsdXJlIHRvXG4gICAgLy8gY2xvdWRmb3JtYXRpb24gKG90aGVyd2lzZSBjZm4gd2FpdHMpLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgdXNlckhhbmRsZXI6IEhhbmRsZXIgPSByZXF1aXJlKGV4dGVybmFsLnVzZXJIYW5kbGVySW5kZXgpLmhhbmRsZXI7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdXNlckhhbmRsZXIoc2FuaXRpemVkRXZlbnQsIGNvbnRleHQpO1xuXG4gICAgLy8gdmFsaWRhdGUgdXNlciByZXNwb25zZSBhbmQgY3JlYXRlIHRoZSBjb21iaW5lZCBldmVudFxuICAgIGNvbnN0IHJlc3BvbnNlRXZlbnQgPSByZW5kZXJSZXNwb25zZShldmVudCwgcmVzdWx0KTtcblxuICAgIC8vIHN1Ym1pdCB0byBjZm4gYXMgc3VjY2Vzc1xuICAgIGF3YWl0IHN1Ym1pdFJlc3BvbnNlKCdTVUNDRVNTJywgcmVzcG9uc2VFdmVudCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCByZXNwOiBSZXNwb25zZSA9IHtcbiAgICAgIC4uLmV2ZW50LFxuICAgICAgUmVhc29uOiBleHRlcm5hbC5pbmNsdWRlU3RhY2tUcmFjZXMgPyBlLnN0YWNrIDogZS5tZXNzYWdlLFxuICAgIH07XG5cbiAgICBpZiAoIXJlc3AuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIENSRUFURSBmYWlscywgd2hpY2ggdXN1YWxseSBpbXBsaWVzLCB3ZSB1c3VhbGx5IGRvbid0XG4gICAgICAvLyBoYXZlIGEgcGh5c2ljYWwgcmVzb3VyY2UgaWQuIGluIHRoaXMgY2FzZSwgdGhlIHN1YnNlcXVlbnQgREVMRVRFXG4gICAgICAvLyBvcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgbWVhbmluZywgYW5kIHdpbGwgbGlrZWx5IGZhaWwgYXMgd2VsbC4gdG9cbiAgICAgIC8vIGFkZHJlc3MgdGhpcywgd2UgdXNlIGEgbWFya2VyIHNvIHRoZSBwcm92aWRlciBmcmFtZXdvcmsgY2FuIHNpbXBseVxuICAgICAgLy8gaWdub3JlIHRoZSBzdWJzZXF1ZW50IERFTEVURS5cbiAgICAgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0NyZWF0ZScpIHtcbiAgICAgICAgZXh0ZXJuYWwubG9nKCdDUkVBVEUgZmFpbGVkLCByZXNwb25kaW5nIHdpdGggYSBtYXJrZXIgcGh5c2ljYWwgcmVzb3VyY2UgaWQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBERUxFVEUgd2lsbCBiZSBpZ25vcmVkJyk7XG4gICAgICAgIHJlc3AuUGh5c2ljYWxSZXNvdXJjZUlkID0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBvdGhlcndpc2UsIGlmIFBoeXNpY2FsUmVzb3VyY2VJZCBpcyBub3Qgc3BlY2lmaWVkLCBzb21ldGhpbmcgaXNcbiAgICAgICAgLy8gdGVycmlibHkgd3JvbmcgYmVjYXVzZSBhbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIGFuIElELlxuICAgICAgICBleHRlcm5hbC5sb2coYEVSUk9SOiBNYWxmb3JtZWQgZXZlbnQuIFwiUGh5c2ljYWxSZXNvdXJjZUlkXCIgaXMgcmVxdWlyZWQ6ICR7SlNPTi5zdHJpbmdpZnkoZXZlbnQpfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRoaXMgaXMgYW4gYWN0dWFsIGVycm9yLCBmYWlsIHRoZSBhY3Rpdml0eSBhbHRvZ2V0aGVyIGFuZCBleGlzdC5cbiAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnRkFJTEVEJywgcmVzcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyUmVzcG9uc2UoXG4gIGNmblJlcXVlc3Q6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQgJiB7IFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZyB9LFxuICBoYW5kbGVyUmVzcG9uc2U6IHZvaWQgfCBIYW5kbGVyUmVzcG9uc2UgPSB7IH0pOiBSZXNwb25zZSB7XG5cbiAgLy8gaWYgcGh5c2ljYWwgSUQgaXMgbm90IHJldHVybmVkLCB3ZSBoYXZlIHNvbWUgZGVmYXVsdHMgZm9yIHlvdSBiYXNlZFxuICAvLyBvbiB0aGUgcmVxdWVzdCB0eXBlLlxuICBjb25zdCBwaHlzaWNhbFJlc291cmNlSWQgPSBoYW5kbGVyUmVzcG9uc2UuUGh5c2ljYWxSZXNvdXJjZUlkID8/IGNmblJlcXVlc3QuUGh5c2ljYWxSZXNvdXJjZUlkID8/IGNmblJlcXVlc3QuUmVxdWVzdElkO1xuXG4gIC8vIGlmIHdlIGFyZSBpbiBERUxFVEUgYW5kIHBoeXNpY2FsIElEIHdhcyBjaGFuZ2VkLCBpdCdzIGFuIGVycm9yLlxuICBpZiAoY2ZuUmVxdWVzdC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgcGh5c2ljYWxSZXNvdXJjZUlkICE9PSBjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgREVMRVRFOiBjYW5ub3QgY2hhbmdlIHRoZSBwaHlzaWNhbCByZXNvdXJjZSBJRCBmcm9tIFwiJHtjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZH1cIiB0byBcIiR7aGFuZGxlclJlc3BvbnNlLlBoeXNpY2FsUmVzb3VyY2VJZH1cIiBkdXJpbmcgZGVsZXRpb25gKTtcbiAgfVxuXG4gIC8vIG1lcmdlIHJlcXVlc3QgZXZlbnQgYW5kIHJlc3VsdCBldmVudCAocmVzdWx0IHByZXZhaWxzKS5cbiAgcmV0dXJuIHtcbiAgICAuLi5jZm5SZXF1ZXN0LFxuICAgIC4uLmhhbmRsZXJSZXNwb25zZSxcbiAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2Uoc3RhdHVzOiAnU1VDQ0VTUycgfCAnRkFJTEVEJywgZXZlbnQ6IFJlc3BvbnNlKSB7XG4gIGNvbnN0IGpzb246IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlUmVzcG9uc2UgPSB7XG4gICAgU3RhdHVzOiBzdGF0dXMsXG4gICAgUmVhc29uOiBldmVudC5SZWFzb24gPz8gc3RhdHVzLFxuICAgIFN0YWNrSWQ6IGV2ZW50LlN0YWNrSWQsXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQgfHwgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIsXG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgIE5vRWNobzogZXZlbnQuTm9FY2hvLFxuICAgIERhdGE6IGV2ZW50LkRhdGEsXG4gIH07XG5cbiAgZXh0ZXJuYWwubG9nKCdzdWJtaXQgcmVzcG9uc2UgdG8gY2xvdWRmb3JtYXRpb24nLCBqc29uKTtcblxuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcbiAgY29uc3QgcGFyc2VkVXJsID0gdXJsLnBhcnNlKGV2ZW50LlJlc3BvbnNlVVJMKTtcbiAgY29uc3QgcmVxID0ge1xuICAgIGhvc3RuYW1lOiBwYXJzZWRVcmwuaG9zdG5hbWUsXG4gICAgcGF0aDogcGFyc2VkVXJsLnBhdGgsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnJywgJ2NvbnRlbnQtbGVuZ3RoJzogcmVzcG9uc2VCb2R5Lmxlbmd0aCB9LFxuICB9O1xuXG4gIGNvbnN0IHJldHJ5T3B0aW9ucyA9IHtcbiAgICBhdHRlbXB0czogNSxcbiAgICBzbGVlcDogMTAwMCxcbiAgfTtcbiAgYXdhaXQgd2l0aFJldHJpZXMocmV0cnlPcHRpb25zLCBleHRlcm5hbC5zZW5kSHR0cFJlcXVlc3QpKHJlcSwgcmVzcG9uc2VCb2R5KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVmYXVsdFNlbmRIdHRwUmVxdWVzdChvcHRpb25zOiBodHRwcy5SZXF1ZXN0T3B0aW9ucywgcmVzcG9uc2VCb2R5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzLnJlcXVlc3Qob3B0aW9ucywgXyA9PiByZXNvbHZlKCkpO1xuICAgICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgICAgcmVxdWVzdC53cml0ZShyZXNwb25zZUJvZHkpO1xuICAgICAgcmVxdWVzdC5lbmQoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZWplY3QoZSk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZyhmbXQ6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhmbXQsIC4uLnBhcmFtcyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV0cnlPcHRpb25zIHtcbiAgLyoqIEhvdyBtYW55IHJldHJpZXMgKHdpbGwgYXQgbGVhc3QgdHJ5IG9uY2UpICovXG4gIHJlYWRvbmx5IGF0dGVtcHRzOiBudW1iZXI7XG4gIC8qKiBTbGVlcCBiYXNlLCBpbiBtcyAqL1xuICByZWFkb25seSBzbGVlcDogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFJldHJpZXM8QSBleHRlbmRzIEFycmF5PGFueT4sIEI+KG9wdGlvbnM6IFJldHJ5T3B0aW9ucywgZm46ICguLi54czogQSkgPT4gUHJvbWlzZTxCPik6ICguLi54czogQSkgPT4gUHJvbWlzZTxCPiB7XG4gIHJldHVybiBhc3luYyAoLi4ueHM6IEEpID0+IHtcbiAgICBsZXQgYXR0ZW1wdHMgPSBvcHRpb25zLmF0dGVtcHRzO1xuICAgIGxldCBtcyA9IG9wdGlvbnMuc2xlZXA7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbiguLi54cyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChhdHRlbXB0cy0tIDw9IDApIHtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHNsZWVwKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG1zKSk7XG4gICAgICAgIG1zICo9IDI7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgob2spID0+IHNldFRpbWVvdXQob2ssIG1zKSk7XG59Il19 \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/external.js b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/external.js deleted file mode 100644 index 1edead6dd3913..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3/external.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.external = void 0; -const tls = require("tls"); -const url = require("url"); -// eslint-disable-next-line import/no-extraneous-dependencies -const aws = require("aws-sdk"); -let client; -function iam() { - if (!client) { - client = new aws.IAM(); - } - return client; -} -function defaultLogger(fmt, ...args) { - // eslint-disable-next-line no-console - console.log(fmt, ...args); -} -/** - * Downloads the CA thumbprint from the issuer URL - */ -async function downloadThumbprint(issuerUrl) { - return new Promise((ok, ko) => { - const purl = url.parse(issuerUrl); - const port = purl.port ? parseInt(purl.port, 10) : 443; - if (!purl.host) { - return ko(new Error(`unable to determine host from issuer url ${issuerUrl}`)); - } - exports.external.log(`Fetching x509 certificate chain from issuer ${issuerUrl}`); - const socket = tls.connect(port, purl.host, { rejectUnauthorized: false, servername: purl.host }); - socket.once('error', ko); - socket.once('secureConnect', () => { - let cert = socket.getPeerX509Certificate(); - if (!cert) { - throw new Error(`Unable to retrieve X509 certificate from host ${purl.host}`); - } - while (cert.issuerCertificate) { - printCertificate(cert); - cert = cert.issuerCertificate; - } - const validTo = new Date(cert.validTo); - const certificateValidity = getCertificateValidity(validTo); - if (certificateValidity < 0) { - return ko(new Error(`The certificate has already expired on: ${validTo.toUTCString()}`)); - } - // Warning user if certificate validity is expiring within 6 months - if (certificateValidity < 180) { - /* eslint-disable-next-line no-console */ - console.warn(`The root certificate obtained would expire in ${certificateValidity} days!`); - } - socket.end(); - const thumbprint = extractThumbprint(cert); - exports.external.log(`Certificate Authority thumbprint for ${issuerUrl} is ${thumbprint}`); - ok(thumbprint); - }); - }); -} -function extractThumbprint(cert) { - return cert.fingerprint.split(':').join(''); -} -function printCertificate(cert) { - exports.external.log('-------------BEGIN CERT----------------'); - exports.external.log(`Thumbprint: ${extractThumbprint(cert)}`); - exports.external.log(`Valid To: ${cert.validTo}`); - if (cert.issuerCertificate) { - exports.external.log(`Issuer Thumbprint: ${extractThumbprint(cert.issuerCertificate)}`); - } - exports.external.log(`Issuer: ${cert.issuer}`); - exports.external.log(`Subject: ${cert.subject}`); - exports.external.log('-------------END CERT------------------'); -} -/** - * To get the validity timeline for the certificate - * @param certDate The valid to date for the certificate - * @returns The number of days the certificate is valid wrt current date - */ -function getCertificateValidity(certDate) { - const millisecondsInDay = 24 * 60 * 60 * 1000; - const currentDate = new Date(); - const validity = Math.round((certDate.getTime() - currentDate.getTime()) / millisecondsInDay); - return validity; -} -// allows unit test to replace with mocks -/* eslint-disable max-len */ -exports.external = { - downloadThumbprint, - log: defaultLogger, - createOpenIDConnectProvider: (req) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZEQUE2RDtBQUM3RCwrQkFBK0I7QUFFL0IsSUFBSSxNQUFlLENBQUM7QUFFcEIsU0FBUyxHQUFHO0lBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUFFLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUFFO0lBQ3hDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ2hELHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUVqRCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxnQkFBUSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFOUYsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELHlDQUF5QztBQUN6Qyw0QkFBNEI7QUFDZixRQUFBLFFBQVEsR0FBRztJQUN0QixrQkFBa0I7SUFDbEIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEksMkJBQTJCLEVBQUUsQ0FBQyxHQUErQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDbEkscUNBQXFDLEVBQUUsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDaEssa0NBQWtDLEVBQUUsQ0FBQyxHQUFzRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkosdUNBQXVDLEVBQUUsQ0FBQyxHQUEyRCxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdkssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vLyB0aGUgWDUwOSBjZXJ0aWZpY2F0ZSBBUEkgaXMgYXZhaWxhYmxlIG9ubHkgaW4gbm9kZTE2LlxuLy8gc2luY2Ugd2UgY29tcGlsZSB0aGUgcmVwbyBhZ2FpbnN0IG5vZGUgMTQsIHR5cGVjaGVja2luZyBpdCB3aWxsIGZhaWwuXG4vLyBpdHMgY3VycmVudGx5IHRvbyBjb21wbGV4IHRvIGNvbmZpZ3VyZSBub2RlMTYgb25seSBvbiB0aGlzXG4vLyBmaWxlIChqc2lpIGRvZXNuJ3Qgc3VwcG9ydCBjdXN0b20gdHNjb25maWcpXG4vLyBzbyB3ZSBkaXNhYmxlIHR5cGVjaGVja2luZy4gZG9uJ3Qgd29ycnksIHdlIGhhdmUgc3VmZmljaWVudCBpbnRlZyB0ZXN0cyB0aGF0XG4vLyB2YWxpZGF0ZSB0aGlzIGNvZGUgZG9lc24ndCBicmVhay5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBYNTA5Q2VydGlmaWNhdGUgfSBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1zZGsnO1xuXG5sZXQgY2xpZW50OiBhd3MuSUFNO1xuXG5mdW5jdGlvbiBpYW0oKSB7XG4gIGlmICghY2xpZW50KSB7IGNsaWVudCA9IG5ldyBhd3MuSUFNKCk7IH1cbiAgcmV0dXJuIGNsaWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExvZ2dlcihmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coZm10LCAuLi5hcmdzKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgdGhlIENBIHRodW1icHJpbnQgZnJvbSB0aGUgaXNzdWVyIFVSTFxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZFRodW1icHJpbnQoaXNzdWVyVXJsOiBzdHJpbmcpIHtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigob2ssIGtvKSA9PiB7XG4gICAgY29uc3QgcHVybCA9IHVybC5wYXJzZShpc3N1ZXJVcmwpO1xuICAgIGNvbnN0IHBvcnQgPSBwdXJsLnBvcnQgPyBwYXJzZUludChwdXJsLnBvcnQsIDEwKSA6IDQ0MztcblxuICAgIGlmICghcHVybC5ob3N0KSB7XG4gICAgICByZXR1cm4ga28obmV3IEVycm9yKGB1bmFibGUgdG8gZGV0ZXJtaW5lIGhvc3QgZnJvbSBpc3N1ZXIgdXJsICR7aXNzdWVyVXJsfWApKTtcbiAgICB9XG5cbiAgICBleHRlcm5hbC5sb2coYEZldGNoaW5nIHg1MDkgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSBpc3N1ZXIgJHtpc3N1ZXJVcmx9YCk7XG5cbiAgICBjb25zdCBzb2NrZXQgPSB0bHMuY29ubmVjdChwb3J0LCBwdXJsLmhvc3QsIHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSwgc2VydmVybmFtZTogcHVybC5ob3N0IH0pO1xuICAgIHNvY2tldC5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgIHNvY2tldC5vbmNlKCdzZWN1cmVDb25uZWN0JywgKCkgPT4ge1xuICAgICAgbGV0IGNlcnQgPSBzb2NrZXQuZ2V0UGVlclg1MDlDZXJ0aWZpY2F0ZSgpO1xuICAgICAgaWYgKCFjZXJ0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJldHJpZXZlIFg1MDkgY2VydGlmaWNhdGUgZnJvbSBob3N0ICR7cHVybC5ob3N0fWApO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGNlcnQuaXNzdWVyQ2VydGlmaWNhdGUpIHtcbiAgICAgICAgcHJpbnRDZXJ0aWZpY2F0ZShjZXJ0KTtcbiAgICAgICAgY2VydCA9IGNlcnQuaXNzdWVyQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgICBjb25zdCB2YWxpZFRvID0gbmV3IERhdGUoY2VydC52YWxpZFRvKTtcbiAgICAgIGNvbnN0IGNlcnRpZmljYXRlVmFsaWRpdHkgPSBnZXRDZXJ0aWZpY2F0ZVZhbGlkaXR5KHZhbGlkVG8pO1xuXG4gICAgICBpZiAoY2VydGlmaWNhdGVWYWxpZGl0eSA8IDApIHtcbiAgICAgICAgcmV0dXJuIGtvKG5ldyBFcnJvcihgVGhlIGNlcnRpZmljYXRlIGhhcyBhbHJlYWR5IGV4cGlyZWQgb246ICR7dmFsaWRUby50b1VUQ1N0cmluZygpfWApKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2FybmluZyB1c2VyIGlmIGNlcnRpZmljYXRlIHZhbGlkaXR5IGlzIGV4cGlyaW5nIHdpdGhpbiA2IG1vbnRoc1xuICAgICAgaWYgKGNlcnRpZmljYXRlVmFsaWRpdHkgPCAxODApIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgY29uc29sZS53YXJuKGBUaGUgcm9vdCBjZXJ0aWZpY2F0ZSBvYnRhaW5lZCB3b3VsZCBleHBpcmUgaW4gJHtjZXJ0aWZpY2F0ZVZhbGlkaXR5fSBkYXlzIWApO1xuICAgICAgfVxuXG4gICAgICBzb2NrZXQuZW5kKCk7XG5cbiAgICAgIGNvbnN0IHRodW1icHJpbnQgPSBleHRyYWN0VGh1bWJwcmludChjZXJ0KTtcbiAgICAgIGV4dGVybmFsLmxvZyhgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IHRodW1icHJpbnQgZm9yICR7aXNzdWVyVXJsfSBpcyAke3RodW1icHJpbnR9YCk7XG5cbiAgICAgIG9rKHRodW1icHJpbnQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRodW1icHJpbnQoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIHJldHVybiBjZXJ0LmZpbmdlcnByaW50LnNwbGl0KCc6Jykuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHByaW50Q2VydGlmaWNhdGUoY2VydDogWDUwOUNlcnRpZmljYXRlKSB7XG4gIGV4dGVybmFsLmxvZygnLS0tLS0tLS0tLS0tLUJFR0lOIENFUlQtLS0tLS0tLS0tLS0tLS0tJyk7XG4gIGV4dGVybmFsLmxvZyhgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0KX1gKTtcbiAgZXh0ZXJuYWwubG9nKGBWYWxpZCBUbzogJHtjZXJ0LnZhbGlkVG99YCk7XG4gIGlmIChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKSB7XG4gICAgZXh0ZXJuYWwubG9nKGBJc3N1ZXIgVGh1bWJwcmludDogJHtleHRyYWN0VGh1bWJwcmludChjZXJ0Lmlzc3VlckNlcnRpZmljYXRlKX1gKTtcbiAgfVxuICBleHRlcm5hbC5sb2coYElzc3VlcjogJHtjZXJ0Lmlzc3Vlcn1gKTtcbiAgZXh0ZXJuYWwubG9nKGBTdWJqZWN0OiAke2NlcnQuc3ViamVjdH1gKTtcbiAgZXh0ZXJuYWwubG9nKCctLS0tLS0tLS0tLS0tRU5EIENFUlQtLS0tLS0tLS0tLS0tLS0tLS0nKTtcbn1cblxuLyoqXG4gKiBUbyBnZXQgdGhlIHZhbGlkaXR5IHRpbWVsaW5lIGZvciB0aGUgY2VydGlmaWNhdGVcbiAqIEBwYXJhbSBjZXJ0RGF0ZSBUaGUgdmFsaWQgdG8gZGF0ZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGRheXMgdGhlIGNlcnRpZmljYXRlIGlzIHZhbGlkIHdydCBjdXJyZW50IGRhdGVcbiAqL1xuZnVuY3Rpb24gZ2V0Q2VydGlmaWNhdGVWYWxpZGl0eShjZXJ0RGF0ZTogRGF0ZSk6IE51bWJlciB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0IHZhbGlkaXR5ID0gTWF0aC5yb3VuZCgoY2VydERhdGUuZ2V0VGltZSgpIC0gY3VycmVudERhdGUuZ2V0VGltZSgpKSAvIG1pbGxpc2Vjb25kc0luRGF5KTtcblxuICByZXR1cm4gdmFsaWRpdHk7XG59XG5cbi8vIGFsbG93cyB1bml0IHRlc3QgdG8gcmVwbGFjZSB3aXRoIG1vY2tzXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIGRvd25sb2FkVGh1bWJwcmludCxcbiAgbG9nOiBkZWZhdWx0TG9nZ2VyLFxuICBjcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuY3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICBkZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkuZGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50OiAocmVxOiBhd3MuSUFNLlVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRSZXF1ZXN0KSA9PiBpYW0oKS51cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KHJlcSkucHJvbWlzZSgpLFxuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyOiAocmVxOiBhd3MuSUFNLkFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJSZXF1ZXN0KSA9PiBpYW0oKS5hZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXI6IChyZXE6IGF3cy5JQU0uUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyUmVxdWVzdCkgPT4gaWFtKCkucmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKHJlcSkucHJvbWlzZSgpLFxufTsiXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/cdk.out index ae4b03c54e770..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"30.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/integ.json index 11955b59744e4..7ec9b5e2a704d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/integ.json @@ -1,10 +1,11 @@ { - "version": "30.0.0", + "version": "33.0.0", "testCases": { "iodc-provider-test/DefaultTest": { "stacks": [ "oidc-provider-integ-test" ], + "diffAssets": true, "assertionStack": "iodc-provider-test/DefaultTest/DeployAssert", "assertionStackName": "iodcprovidertestDefaultTestDeployAssert2D70E37E" } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/iodcprovidertestDefaultTestDeployAssert2D70E37E.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/iodcprovidertestDefaultTestDeployAssert2D70E37E.assets.json index 28ca80d356175..c72ce30d708b4 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/iodcprovidertestDefaultTestDeployAssert2D70E37E.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/iodcprovidertestDefaultTestDeployAssert2D70E37E.assets.json @@ -1,5 +1,5 @@ { - "version": "30.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/manifest.json index 57a7f8b56ccdd..cac2a99caf35f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "30.0.0", + "version": "33.0.0", "artifacts": { "oidc-provider-integ-test.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a71beb1d89e9907742e487f443ee17de90bdf5beb9d56a04556691b215875d9b.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/7711a36ba054a82d2b2e8fb454f991f255b8e51966aa67c9a513a7627446a5b6.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.assets.json index c4e2f2dbf647e..d0406cd994ec2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.assets.json @@ -1,20 +1,20 @@ { - "version": "30.0.0", + "version": "33.0.0", "files": { - "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3": { + "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56": { "source": { - "path": "asset.2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3", + "path": "asset.03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3.zip", + "objectKey": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "a71beb1d89e9907742e487f443ee17de90bdf5beb9d56a04556691b215875d9b": { + "7711a36ba054a82d2b2e8fb454f991f255b8e51966aa67c9a513a7627446a5b6": { "source": { "path": "oidc-provider-integ-test.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a71beb1d89e9907742e487f443ee17de90bdf5beb9d56a04556691b215875d9b.json", + "objectKey": "7711a36ba054a82d2b2e8fb454f991f255b8e51966aa67c9a513a7627446a5b6.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.template.json index b70e2419e4a86..a05f7f23689f3 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/oidc-provider-integ-test.template.json @@ -10,7 +10,7 @@ ] }, "Url": "https://oidc.eks.us-east-1.amazonaws.com/id/test2", - "CodeHash": "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -65,7 +65,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3.zip" + "S3Key": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56.zip" }, "Timeout": 900, "MemorySize": 128, @@ -76,7 +76,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x" + "Runtime": "nodejs18.x" }, "DependsOn": [ "CustomAWSCDKOpenIdConnectProviderCustomResourceProviderRole517FED65" @@ -96,7 +96,7 @@ "bar" ], "Url": "https://oidc.eks.us-east-1.amazonaws.com/id/test3", - "CodeHash": "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -115,7 +115,7 @@ "aa00aa1122aa00aa1122aa00aa1122aa00aa1111" ], "Url": "https://oidc.eks.us-east-1.amazonaws.com/id/test4", - "CodeHash": "2df5a59d801a1efa337d7f2787d401cc48d736faa94d1f42eccad2d88f3ce2e3" + "CodeHash": "03d2c2b0648898186dc5342981e426a3ac3bd09a96ce66df58a875bde29e4a56" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/tree.json index b867b303b767a..c111992f1af36 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.js.snapshot/tree.json @@ -20,19 +20,19 @@ "id": "Default", "path": "oidc-provider-integ-test/NoClientsNoThumbprint/Resource/Default", "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.CustomResource", + "fqn": "aws-cdk-lib.CustomResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.OpenIdConnectProvider", + "fqn": "aws-cdk-lib.aws_iam.OpenIdConnectProvider", "version": "0.0.0" } }, @@ -44,7 +44,7 @@ "id": "Staging", "path": "oidc-provider-integ-test/Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Staging", "constructInfo": { - "fqn": "@aws-cdk/core.AssetStaging", + "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" } }, @@ -52,7 +52,7 @@ "id": "Role", "path": "oidc-provider-integ-test/Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Role", "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" } }, @@ -60,13 +60,13 @@ "id": "Handler", "path": "oidc-provider-integ-test/Custom::AWSCDKOpenIdConnectProviderCustomResourceProvider/Handler", "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.CustomResourceProvider", + "fqn": "aws-cdk-lib.CustomResourceProvider", "version": "0.0.0" } }, @@ -82,19 +82,19 @@ "id": "Default", "path": "oidc-provider-integ-test/Clients/Resource/Default", "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.CustomResource", + "fqn": "aws-cdk-lib.CustomResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.OpenIdConnectProvider", + "fqn": "aws-cdk-lib.aws_iam.OpenIdConnectProvider", "version": "0.0.0" } }, @@ -110,19 +110,19 @@ "id": "Default", "path": "oidc-provider-integ-test/Thumbprints/Resource/Default", "constructInfo": { - "fqn": "@aws-cdk/core.CfnResource", + "fqn": "aws-cdk-lib.CfnResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.CustomResource", + "fqn": "aws-cdk-lib.CustomResource", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.OpenIdConnectProvider", + "fqn": "aws-cdk-lib.aws_iam.OpenIdConnectProvider", "version": "0.0.0" } }, @@ -130,7 +130,7 @@ "id": "NoClientsThumbprints", "path": "oidc-provider-integ-test/NoClientsThumbprints", "constructInfo": { - "fqn": "@aws-cdk/core.CfnOutput", + "fqn": "aws-cdk-lib.CfnOutput", "version": "0.0.0" } }, @@ -138,7 +138,7 @@ "id": "ClientsThumbprints", "path": "oidc-provider-integ-test/ClientsThumbprints", "constructInfo": { - "fqn": "@aws-cdk/core.CfnOutput", + "fqn": "aws-cdk-lib.CfnOutput", "version": "0.0.0" } }, @@ -146,7 +146,7 @@ "id": "ThumbprintsThumbprints", "path": "oidc-provider-integ-test/ThumbprintsThumbprints", "constructInfo": { - "fqn": "@aws-cdk/core.CfnOutput", + "fqn": "aws-cdk-lib.CfnOutput", "version": "0.0.0" } }, @@ -154,7 +154,7 @@ "id": "BootstrapVersion", "path": "oidc-provider-integ-test/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -162,13 +162,13 @@ "id": "CheckBootstrapVersion", "path": "oidc-provider-integ-test/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } }, @@ -185,7 +185,7 @@ "path": "iodc-provider-test/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.249" + "version": "10.2.69" } }, "DeployAssert": { @@ -196,7 +196,7 @@ "id": "BootstrapVersion", "path": "iodc-provider-test/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -204,25 +204,25 @@ "id": "CheckBootstrapVersion", "path": "iodc-provider-test/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTestCase", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTest", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", "version": "0.0.0" } }, @@ -231,12 +231,12 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.249" + "version": "10.2.69" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.App", + "fqn": "aws-cdk-lib.App", "version": "0.0.0" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.ts index db6126e6e4eef..c9d30a7a478a6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-iam/test/integ.oidc-provider.ts @@ -36,6 +36,5 @@ new CfnOutput(stack, 'ThumbprintsThumbprints', { new IntegTest(app, 'iodc-provider-test', { testCases: [stack], + diffAssets: true, }); - -app.synth(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json index 52eaceab4c2f6..050335a14b56d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228": { + "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907": { "source": { - "path": "asset.854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.bundle", + "path": "asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip", + "objectKey": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3": { + "c1d2086d6e491024ccf5ae6e2ec76bc1cb174a150a7a0f66465dc299575182e1": { "source": { "path": "LambdaIntegDefaultTestDeployAssert7BC530B7.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3.json", + "objectKey": "c1d2086d6e491024ccf5ae6e2ec76bc1cb174a150a7a0f66465dc299575182e1.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json index ed21d7ad6cadf..c4c4b63c5a50a 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/LambdaIntegDefaultTestDeployAssert7BC530B7.template.json @@ -15,7 +15,7 @@ "Entries": "[{\"Detail\":\"{\\\"foo\\\":\\\"bar\\\"}\",\"DetailType\":\"cdk-integ-custom-rule\",\"Source\":\"cdk-lambda-integ\"}]" }, "flattenResponse": "false", - "salt": "1691687463270" + "salt": "1691773607236" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -87,7 +87,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "854c68e9b071accbb9b7c92951a2a38b51aa01c67b21ba5813d089a8b3473228.zip" + "S3Key": "53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.zip" }, "Timeout": 120, "Handler": "index.handler", @@ -127,7 +127,7 @@ "WaitTimeSeconds": "20" }, "flattenResponse": "false", - "salt": "1691687463270" + "salt": "1691773607236" }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js new file mode 100644 index 0000000000000..f995c420af68c --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/asset.53f3cc9aed6e22e9f14f47dee475ebce282c77825ed736209307c57d588df907.bundle/index.js @@ -0,0 +1,31697 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../../aws-cdk-lib/assertions/lib/matcher.ts +var matcher_exports = {}; +__export(matcher_exports, { + MatchResult: () => MatchResult, + Matcher: () => Matcher +}); +function* range(n) { + for (let i = 0; i < n; i++) { + yield i; + } +} +function* enumFirst(xs) { + let first = true; + for (const x of xs) { + yield [first, x]; + first = false; + } +} +var Matcher, MatchResult; +var init_matcher = __esm({ + "../../aws-cdk-lib/assertions/lib/matcher.ts"() { + "use strict"; + Matcher = class _Matcher { + /** + * Check whether the provided object is a subtype of the `IMatcher`. + */ + static isMatcher(x) { + return x && x instanceof _Matcher; + } + }; + MatchResult = class { + constructor(target) { + this.failuresHere = /* @__PURE__ */ new Map(); + this.captures = /* @__PURE__ */ new Map(); + this.finalized = false; + this.innerMatchFailures = /* @__PURE__ */ new Map(); + this._hasFailed = false; + this._failCount = 0; + this._cost = 0; + this.target = target; + } + /** + * DEPRECATED + * @deprecated use recordFailure() + */ + push(matcher, path, message) { + return this.recordFailure({ matcher, path, message }); + } + /** + * Record a new failure into this result at a specific path. + */ + recordFailure(failure) { + const failKey = failure.path.join("."); + let list = this.failuresHere.get(failKey); + if (!list) { + list = []; + this.failuresHere.set(failKey, list); + } + this._failCount += 1; + this._cost += failure.cost ?? 1; + list.push(failure); + this._hasFailed = true; + return this; + } + /** Whether the match is a success */ + get isSuccess() { + return !this._hasFailed; + } + /** Does the result contain any failures. If not, the result is a success */ + hasFailed() { + return this._hasFailed; + } + /** The number of failures */ + get failCount() { + return this._failCount; + } + /** The cost of the failures so far */ + get failCost() { + return this._cost; + } + /** + * Compose the results of a previous match as a subtree. + * @param id the id of the parent tree. + */ + compose(id, inner) { + if (inner.hasFailed()) { + this._hasFailed = true; + this._failCount += inner.failCount; + this._cost += inner._cost; + this.innerMatchFailures.set(id, inner); + } + inner.captures.forEach((vals, capture) => { + vals.forEach((value) => this.recordCapture({ capture, value })); + }); + return this; + } + /** + * Prepare the result to be analyzed. + * This API *must* be called prior to analyzing these results. + */ + finished() { + if (this.finalized) { + return this; + } + if (this.failCount === 0) { + this.captures.forEach((vals, cap) => cap._captured.push(...vals)); + } + this.finalized = true; + return this; + } + /** + * Render the failed match in a presentable way + * + * Prefer using `renderMismatch` over this method. It is left for backwards + * compatibility for test suites that expect it, but `renderMismatch()` will + * produce better output. + */ + toHumanStrings() { + const failures = new Array(); + debugger; + recurse(this, []); + return failures.map((r) => { + const loc = r.path.length === 0 ? "" : ` at /${r.path.join("/")}`; + return "" + r.message + loc + ` (using ${r.matcher.name} matcher)`; + }); + function recurse(x, prefix) { + for (const fail of Array.from(x.failuresHere.values()).flat()) { + failures.push({ + matcher: fail.matcher, + message: fail.message, + path: [...prefix, ...fail.path] + }); + } + for (const [key, inner] of x.innerMatchFailures.entries()) { + recurse(inner, [...prefix, key]); + } + } + } + /** + * Do a deep render of the match result, showing the structure mismatches in context + */ + renderMismatch() { + if (!this.hasFailed()) { + return ""; + } + const parts = new Array(); + const indents = new Array(); + emitFailures(this, ""); + recurse(this); + return moveMarkersToFront(parts.join("").trimEnd()); + function emit(x) { + if (x === void 0) { + debugger; + } + parts.push(x.replace(/\n/g, ` +${indents.join("")}`)); + } + function emitFailures(r, path, scrapSet) { + for (const fail of r.failuresHere.get(path) ?? []) { + emit(`!! ${fail.message} +`); + } + scrapSet?.delete(path); + } + function recurse(r) { + const remainingFailures = new Set(Array.from(r.failuresHere.keys()).filter((x) => x !== "")); + if (Array.isArray(r.target)) { + indents.push(" "); + emit("[\n"); + for (const [first, i] of enumFirst(range(r.target.length))) { + if (!first) { + emit(",\n"); + } + emitFailures(r, `${i}`, remainingFailures); + const innerMatcher = r.innerMatchFailures.get(`${i}`); + if (innerMatcher) { + emitFailures(innerMatcher, ""); + recurseComparingValues(innerMatcher, r.target[i]); + } else { + emit(renderAbridged(r.target[i])); + } + } + emitRemaining(); + indents.pop(); + emit("\n]"); + return; + } + if (r.target && typeof r.target === "object") { + indents.push(" "); + emit("{\n"); + const keys = Array.from(/* @__PURE__ */ new Set([ + ...Object.keys(r.target), + ...Array.from(remainingFailures) + ])).sort(); + for (const [first, key] of enumFirst(keys)) { + if (!first) { + emit(",\n"); + } + emitFailures(r, key, remainingFailures); + const innerMatcher = r.innerMatchFailures.get(key); + if (innerMatcher) { + emitFailures(innerMatcher, ""); + emit(`${jsonify(key)}: `); + recurseComparingValues(innerMatcher, r.target[key]); + } else { + emit(`${jsonify(key)}: `); + emit(renderAbridged(r.target[key])); + } + } + emitRemaining(); + indents.pop(); + emit("\n}"); + return; + } + emitRemaining(); + emit(jsonify(r.target)); + function emitRemaining() { + if (remainingFailures.size > 0) { + emit("\n"); + } + for (const key of remainingFailures) { + emitFailures(r, key); + } + } + } + function recurseComparingValues(inner, actualValue) { + if (inner.target === actualValue) { + return recurse(inner); + } + emit(renderAbridged(actualValue)); + emit(" <*> "); + recurse(inner); + } + function renderAbridged(x) { + if (Array.isArray(x)) { + switch (x.length) { + case 0: + return "[]"; + case 1: + return `[ ${renderAbridged(x[0])} ]`; + case 2: + if (x.every((e) => ["number", "boolean", "string"].includes(typeof e))) { + return `[ ${x.map(renderAbridged).join(", ")} ]`; + } + return "[ ... ]"; + default: + return "[ ... ]"; + } + } + if (x && typeof x === "object") { + const keys = Object.keys(x); + switch (keys.length) { + case 0: + return "{}"; + case 1: + return `{ ${JSON.stringify(keys[0])}: ${renderAbridged(x[keys[0]])} }`; + default: + return "{ ... }"; + } + } + return jsonify(x); + } + function jsonify(x) { + return JSON.stringify(x) ?? "undefined"; + } + function moveMarkersToFront(x) { + const re = /^(\s+)!!/gm; + return x.replace(re, (_, spaces) => `!!${spaces.substring(0, spaces.length - 2)}`); + } + } + /** + * Record a capture against in this match result. + */ + recordCapture(options) { + let values = this.captures.get(options.capture); + if (values === void 0) { + values = []; + } + values.push(options.value); + this.captures.set(options.capture, values); + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts +var AbsentMatch; +var init_absent = __esm({ + "../../aws-cdk-lib/assertions/lib/private/matchers/absent.ts"() { + "use strict"; + init_matcher(); + AbsentMatch = class extends Matcher { + constructor(name) { + super(); + this.name = name; + } + test(actual) { + const result = new MatchResult(actual); + if (actual !== void 0) { + result.recordFailure({ + matcher: this, + path: [], + message: `Received ${actual}, but key should be absent` + }); + } + return result; + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/sorting.ts +function sortKeyComparator(keyFn) { + return (a, b) => { + const ak = keyFn(a); + const bk = keyFn(b); + for (let i = 0; i < ak.length && i < bk.length; i++) { + const av = ak[i]; + const bv = bk[i]; + let diff = 0; + if (typeof av === "number" && typeof bv === "number") { + diff = av - bv; + } else if (typeof av === "string" && typeof bv === "string") { + diff = av.localeCompare(bv); + } + if (diff !== 0) { + return diff; + } + } + return bk.length - ak.length; + }; +} +var init_sorting = __esm({ + "../../aws-cdk-lib/assertions/lib/private/sorting.ts"() { + "use strict"; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts +var SparseMatrix; +var init_sparse_matrix = __esm({ + "../../aws-cdk-lib/assertions/lib/private/sparse-matrix.ts"() { + "use strict"; + SparseMatrix = class { + constructor() { + this.matrix = /* @__PURE__ */ new Map(); + } + get(row, col) { + return this.matrix.get(row)?.get(col); + } + row(row) { + return Array.from(this.matrix.get(row)?.entries() ?? []); + } + set(row, col, value) { + let r = this.matrix.get(row); + if (!r) { + r = /* @__PURE__ */ new Map(); + this.matrix.set(row, r); + } + r.set(col, value); + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/private/type.ts +function getType(obj) { + return Array.isArray(obj) ? "array" : typeof obj; +} +var init_type = __esm({ + "../../aws-cdk-lib/assertions/lib/private/type.ts"() { + "use strict"; + } +}); + +// ../../aws-cdk-lib/assertions/lib/match.ts +var match_exports = {}; +__export(match_exports, { + Match: () => Match +}); +var Match, LiteralMatch, ArrayMatch, ObjectMatch, SerializedJson, NotMatch, AnyMatch, StringLikeRegexpMatch; +var init_match = __esm({ + "../../aws-cdk-lib/assertions/lib/match.ts"() { + "use strict"; + init_matcher(); + init_absent(); + init_sorting(); + init_sparse_matrix(); + init_type(); + Match = class { + /** + * Use this matcher in the place of a field's value, if the field must not be present. + */ + static absent() { + return new AbsentMatch("absent"); + } + /** + * Matches the specified pattern with the array found in the same relative path of the target. + * The set of elements (or matchers) must be in the same order as would be found. + * @param pattern the pattern to match + */ + static arrayWith(pattern) { + return new ArrayMatch("arrayWith", pattern); + } + /** + * Matches the specified pattern with the array found in the same relative path of the target. + * The set of elements (or matchers) must match exactly and in order. + * @param pattern the pattern to match + */ + static arrayEquals(pattern) { + return new ArrayMatch("arrayEquals", pattern, { subsequence: false }); + } + /** + * Deep exact matching of the specified pattern to the target. + * @param pattern the pattern to match + */ + static exact(pattern) { + return new LiteralMatch("exact", pattern, { partialObjects: false }); + } + /** + * Matches the specified pattern to an object found in the same relative path of the target. + * The keys and their values (or matchers) must be present in the target but the target can be a superset. + * @param pattern the pattern to match + */ + static objectLike(pattern) { + return new ObjectMatch("objectLike", pattern); + } + /** + * Matches the specified pattern to an object found in the same relative path of the target. + * The keys and their values (or matchers) must match exactly with the target. + * @param pattern the pattern to match + */ + static objectEquals(pattern) { + return new ObjectMatch("objectEquals", pattern, { partial: false }); + } + /** + * Matches any target which does NOT follow the specified pattern. + * @param pattern the pattern to NOT match + */ + static not(pattern) { + return new NotMatch("not", pattern); + } + /** + * Matches any string-encoded JSON and applies the specified pattern after parsing it. + * @param pattern the pattern to match after parsing the encoded JSON. + */ + static serializedJson(pattern) { + return new SerializedJson("serializedJson", pattern); + } + /** + * Matches any non-null value at the target. + */ + static anyValue() { + return new AnyMatch("anyValue"); + } + /** + * Matches targets according to a regular expression + */ + static stringLikeRegexp(pattern) { + return new StringLikeRegexpMatch("stringLikeRegexp", pattern); + } + }; + LiteralMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.partialObjects = options.partialObjects ?? false; + if (Matcher.isMatcher(this.pattern)) { + throw new Error("LiteralMatch cannot directly contain another matcher. Remove the top-level matcher or nest it more deeply."); + } + } + test(actual) { + if (Array.isArray(this.pattern)) { + return new ArrayMatch(this.name, this.pattern, { subsequence: false, partialObjects: this.partialObjects }).test(actual); + } + if (typeof this.pattern === "object") { + return new ObjectMatch(this.name, this.pattern, { partial: this.partialObjects }).test(actual); + } + const result = new MatchResult(actual); + if (typeof this.pattern !== typeof actual) { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected type ${typeof this.pattern} but received ${getType(actual)}` + }); + return result; + } + if (actual !== this.pattern) { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected ${this.pattern} but received ${actual}` + }); + } + return result; + } + }; + ArrayMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.subsequence = options.subsequence ?? true; + this.partialObjects = options.partialObjects ?? false; + } + test(actual) { + if (!Array.isArray(actual)) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected type array but received ${getType(actual)}` + }); + } + return this.subsequence ? this.testSubsequence(actual) : this.testFullArray(actual); + } + testFullArray(actual) { + const result = new MatchResult(actual); + let i = 0; + for (; i < this.pattern.length && i < actual.length; i++) { + const patternElement = this.pattern[i]; + const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); + const innerResult = matcher.test(actual[i]); + result.compose(`${i}`, innerResult); + } + if (i < this.pattern.length) { + result.recordFailure({ + matcher: this, + message: `Not enough elements in array (expecting ${this.pattern.length}, got ${actual.length})`, + path: [`${i}`] + }); + } + if (i < actual.length) { + result.recordFailure({ + matcher: this, + message: `Too many elements in array (expecting ${this.pattern.length}, got ${actual.length})`, + path: [`${i}`] + }); + } + return result; + } + testSubsequence(actual) { + const result = new MatchResult(actual); + let patternIdx = 0; + let actualIdx = 0; + const matches = new SparseMatrix(); + while (patternIdx < this.pattern.length && actualIdx < actual.length) { + const patternElement = this.pattern[patternIdx]; + const matcher = Matcher.isMatcher(patternElement) ? patternElement : new LiteralMatch(this.name, patternElement, { partialObjects: this.partialObjects }); + const matcherName = matcher.name; + if (matcherName == "absent" || matcherName == "anyValue") { + throw new Error(`The Matcher ${matcherName}() cannot be nested within arrayWith()`); + } + const innerResult = matcher.test(actual[actualIdx]); + matches.set(patternIdx, actualIdx, innerResult); + actualIdx++; + if (innerResult.isSuccess) { + result.compose(`${actualIdx}`, innerResult); + patternIdx++; + } + } + if (patternIdx < this.pattern.length) { + for (let spi = 0; spi < patternIdx; spi++) { + const foundMatch = matches.row(spi).find(([, r]) => r.isSuccess); + if (!foundMatch) { + continue; + } + const [index] = foundMatch; + result.compose(`${index}`, new MatchResult(actual[index]).recordFailure({ + matcher: this, + message: `arrayWith pattern ${spi} matched here`, + path: [], + cost: 0 + // This is an informational message so it would be unfair to assign it cost + })); + } + const failedMatches = matches.row(patternIdx); + failedMatches.sort(sortKeyComparator(([i, r]) => [r.failCost, i])); + if (failedMatches.length > 0) { + const [index, innerResult] = failedMatches[0]; + result.recordFailure({ + matcher: this, + message: `Could not match arrayWith pattern ${patternIdx}. This is the closest match`, + path: [`${index}`], + cost: 0 + // Informational message + }); + result.compose(`${index}`, innerResult); + } else { + result.recordFailure({ + matcher: this, + message: `Could not match arrayWith pattern ${patternIdx}. No more elements to try`, + path: [`${actual.length}`] + }); + } + } + return result; + } + }; + ObjectMatch = class extends Matcher { + constructor(name, pattern, options = {}) { + super(); + this.name = name; + this.pattern = pattern; + this.partial = options.partial ?? true; + } + test(actual) { + if (typeof actual !== "object" || Array.isArray(actual)) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected type object but received ${getType(actual)}` + }); + } + const result = new MatchResult(actual); + if (!this.partial) { + for (const a of Object.keys(actual)) { + if (!(a in this.pattern)) { + result.recordFailure({ + matcher: this, + path: [a], + message: `Unexpected key ${a}` + }); + } + } + } + for (const [patternKey, patternVal] of Object.entries(this.pattern)) { + if (!(patternKey in actual) && !(patternVal instanceof AbsentMatch)) { + result.recordFailure({ + matcher: this, + path: [patternKey], + message: `Missing key '${patternKey}'` + }); + continue; + } + const matcher = Matcher.isMatcher(patternVal) ? patternVal : new LiteralMatch(this.name, patternVal, { partialObjects: this.partial }); + const inner = matcher.test(actual[patternKey]); + result.compose(patternKey, inner); + } + return result; + } + }; + SerializedJson = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + if (getType(actual) !== "string") { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Expected JSON as a string but found ${getType(actual)}` + }); + } + let parsed; + try { + parsed = JSON.parse(actual); + } catch (err) { + if (err instanceof SyntaxError) { + return new MatchResult(actual).recordFailure({ + matcher: this, + path: [], + message: `Invalid JSON string: ${actual}` + }); + } else { + throw err; + } + } + const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); + const innerResult = matcher.test(parsed); + if (innerResult.hasFailed()) { + innerResult.recordFailure({ + matcher: this, + path: [], + message: "Encoded JSON value does not match" + }); + } + return innerResult; + } + }; + NotMatch = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + const matcher = Matcher.isMatcher(this.pattern) ? this.pattern : new LiteralMatch(this.name, this.pattern); + const innerResult = matcher.test(actual); + const result = new MatchResult(actual); + if (innerResult.failCount === 0) { + result.recordFailure({ + matcher: this, + path: [], + message: `Found unexpected match: ${JSON.stringify(actual, void 0, 2)}` + }); + } + return result; + } + }; + AnyMatch = class extends Matcher { + constructor(name) { + super(); + this.name = name; + } + test(actual) { + const result = new MatchResult(actual); + if (actual == null) { + result.recordFailure({ + matcher: this, + path: [], + message: "Expected a value but found none" + }); + } + return result; + } + }; + StringLikeRegexpMatch = class extends Matcher { + constructor(name, pattern) { + super(); + this.name = name; + this.pattern = pattern; + } + test(actual) { + const result = new MatchResult(actual); + const regex = new RegExp(this.pattern, "gm"); + if (typeof actual !== "string") { + result.recordFailure({ + matcher: this, + path: [], + message: `Expected a string, but got '${typeof actual}'` + }); + } + if (!regex.test(actual)) { + result.recordFailure({ + matcher: this, + path: [], + message: `String '${actual}' did not match pattern '${this.pattern}'` + }); + } + return result; + } + }; + } +}); + +// ../../aws-cdk-lib/assertions/lib/helpers-internal/index.js +var require_helpers_internal = __commonJS({ + "../../aws-cdk-lib/assertions/lib/helpers-internal/index.js"(exports) { + "use strict"; + var __createBinding3 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar3 = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding3(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + __exportStar3((init_match(), __toCommonJS(match_exports)), exports); + __exportStar3((init_matcher(), __toCommonJS(matcher_exports)), exports); + } +}); + +// ../../../node_modules/tslib/tslib.es6.mjs +var tslib_es6_exports = {}; +__export(tslib_es6_exports, { + __addDisposableResource: () => __addDisposableResource, + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldIn: () => __classPrivateFieldIn, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __disposeResources: () => __disposeResources, + __esDecorate: () => __esDecorate, + __exportStar: () => __exportStar, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __propKey: () => __propKey, + __read: () => __read, + __rest: () => __rest, + __runInitializers: () => __runInitializers, + __setFunctionName: () => __setFunctionName, + __spread: () => __spread, + __spreadArray: () => __spreadArray, + __spreadArrays: () => __spreadArrays, + __values: () => __values, + default: () => tslib_es6_default +}); +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { + if (f !== void 0 && typeof f !== "function") + throw new TypeError("Function expected"); + return f; + } + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) + context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) + context.access[p] = contextIn.access[p]; + context.addInitializer = function(f) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f || null)); + }; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_ = accept(result.get)) + descriptor.get = _; + if (_ = accept(result.set)) + descriptor.set = _; + if (_ = accept(result.init)) + initializers.unshift(_); + } else if (_ = accept(result)) { + if (kind === "field") + initializers.unshift(_); + else + descriptor[key] = _; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; +} +function __runInitializers(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +} +function __propKey(x) { + return typeof x === "symbol" ? x : "".concat(x); +} +function __setFunctionName(f, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __exportStar(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding(o, m, p); +} +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; + } : f; + } +} +function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") + throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} +function __addDisposableResource(env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") + throw new TypeError("Object expected."); + var dispose; + if (async) { + if (!Symbol.asyncDispose) + throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) + throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + } + if (typeof dispose !== "function") + throw new TypeError("Object not disposable."); + env.stack.push({ value, dispose, async }); + } else if (async) { + env.stack.push({ async: true }); + } + return value; +} +function __disposeResources(env) { + function fail(e) { + env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + function next() { + while (env.stack.length) { + var rec = env.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) + return Promise.resolve(result).then(next, function(e) { + fail(e); + return next(); + }); + } catch (e) { + fail(e); + } + } + if (env.hasError) + throw env.error; + } + return next(); +} +var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default; +var init_tslib_es6 = __esm({ + "../../../node_modules/tslib/tslib.es6.mjs"() { + extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + __assign = function() { + __assign = Object.assign || function __assign3(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + __createBinding = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }; + _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + }; + tslib_es6_default = { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __createBinding, + __exportStar, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources + }; + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/abort.js +var require_abort = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/abort.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/auth.js +var require_auth = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/auth.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpAuthLocation = void 0; + var HttpAuthLocation; + (function(HttpAuthLocation2) { + HttpAuthLocation2["HEADER"] = "header"; + HttpAuthLocation2["QUERY"] = "query"; + })(HttpAuthLocation = exports.HttpAuthLocation || (exports.HttpAuthLocation = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js +var require_blob_payload_input_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/blob/blob-payload-input-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/checksum.js +var require_checksum = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/checksum.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/client.js +var require_client = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/command.js +var require_command = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/config.js +var require_config = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/manager.js +var require_manager = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/manager.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/pool.js +var require_pool = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/pool.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/connection/index.js +var require_connection = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/connection/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_config(), exports); + tslib_1.__exportStar(require_manager(), exports); + tslib_1.__exportStar(require_pool(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/crypto.js +var require_crypto = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/crypto.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/encode.js +var require_encode = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/encode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoint.js +var require_endpoint = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointURLScheme = void 0; + var EndpointURLScheme; + (function(EndpointURLScheme2) { + EndpointURLScheme2["HTTP"] = "http"; + EndpointURLScheme2["HTTPS"] = "https"; + })(EndpointURLScheme = exports.EndpointURLScheme || (exports.EndpointURLScheme = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js +var require_EndpointRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/EndpointRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js +var require_ErrorRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/ErrorRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js +var require_RuleSetObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/RuleSetObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js +var require_shared = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js +var require_TreeRuleObject = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/TreeRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js +var require_endpoints = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/endpoints/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EndpointRuleObject(), exports); + tslib_1.__exportStar(require_ErrorRuleObject(), exports); + tslib_1.__exportStar(require_RuleSetObject(), exports); + tslib_1.__exportStar(require_shared(), exports); + tslib_1.__exportStar(require_TreeRuleObject(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/eventStream.js +var require_eventStream = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/eventStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/http.js +var require_http = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/http.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FieldPosition = void 0; + var FieldPosition; + (function(FieldPosition2) { + FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; + FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; + })(FieldPosition = exports.FieldPosition || (exports.FieldPosition = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js +var require_awsCredentialIdentity = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/awsCredentialIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/identity.js +var require_identity = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/identity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/identity/index.js +var require_identity2 = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/identity/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_awsCredentialIdentity(), exports); + tslib_1.__exportStar(require_identity(), exports); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/logger.js +var require_logger = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/logger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/middleware.js +var require_middleware = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/pagination.js +var require_pagination = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/pagination.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/profile.js +var require_profile = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/profile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/response.js +var require_response = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/response.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/retry.js +var require_retry = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/serde.js +var require_serde = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/serde.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/shapes.js +var require_shapes = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/shapes.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/signature.js +var require_signature = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/signature.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/stream.js +var require_stream = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/stream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js +var require_streaming_blob_common_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-common-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js +var require_streaming_blob_payload_input_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-input-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js +var require_streaming_blob_payload_output_types = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/streaming-payload/streaming-blob-payload-output-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transfer.js +var require_transfer = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transfer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.RequestHandlerProtocol = void 0; + var RequestHandlerProtocol; + (function(RequestHandlerProtocol2) { + RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; + RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; + RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; + })(RequestHandlerProtocol = exports.RequestHandlerProtocol || (exports.RequestHandlerProtocol = {})); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js +var require_client_payload_blob_type_narrow = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transform/client-payload-blob-type-narrow.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js +var require_type_transform = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/transform/type-transform.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/uri.js +var require_uri = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/util.js +var require_util = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/waiter.js +var require_waiter = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/waiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/types/dist-cjs/index.js +var require_dist_cjs = __commonJS({ + "../../../node_modules/@smithy/types/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_abort(), exports); + tslib_1.__exportStar(require_auth(), exports); + tslib_1.__exportStar(require_blob_payload_input_types(), exports); + tslib_1.__exportStar(require_checksum(), exports); + tslib_1.__exportStar(require_client(), exports); + tslib_1.__exportStar(require_command(), exports); + tslib_1.__exportStar(require_connection(), exports); + tslib_1.__exportStar(require_crypto(), exports); + tslib_1.__exportStar(require_encode(), exports); + tslib_1.__exportStar(require_endpoint(), exports); + tslib_1.__exportStar(require_endpoints(), exports); + tslib_1.__exportStar(require_eventStream(), exports); + tslib_1.__exportStar(require_http(), exports); + tslib_1.__exportStar(require_identity2(), exports); + tslib_1.__exportStar(require_logger(), exports); + tslib_1.__exportStar(require_middleware(), exports); + tslib_1.__exportStar(require_pagination(), exports); + tslib_1.__exportStar(require_profile(), exports); + tslib_1.__exportStar(require_response(), exports); + tslib_1.__exportStar(require_retry(), exports); + tslib_1.__exportStar(require_serde(), exports); + tslib_1.__exportStar(require_shapes(), exports); + tslib_1.__exportStar(require_signature(), exports); + tslib_1.__exportStar(require_stream(), exports); + tslib_1.__exportStar(require_streaming_blob_common_types(), exports); + tslib_1.__exportStar(require_streaming_blob_payload_input_types(), exports); + tslib_1.__exportStar(require_streaming_blob_payload_output_types(), exports); + tslib_1.__exportStar(require_transfer(), exports); + tslib_1.__exportStar(require_client_payload_blob_type_narrow(), exports); + tslib_1.__exportStar(require_type_transform(), exports); + tslib_1.__exportStar(require_uri(), exports); + tslib_1.__exportStar(require_util(), exports); + tslib_1.__exportStar(require_waiter(), exports); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js +var require_Field = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/Field.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Field = void 0; + var types_1 = require_dist_cjs(); + var Field = class { + constructor({ name, kind = types_1.FieldPosition.HEADER, values = [] }) { + this.name = name; + this.kind = kind; + this.values = values; + } + add(value) { + this.values.push(value); + } + set(values) { + this.values = values; + } + remove(value) { + this.values = this.values.filter((v) => v !== value); + } + toString() { + return this.values.map((v) => v.includes(",") || v.includes(" ") ? `"${v}"` : v).join(", "); + } + get() { + return this.values; + } + }; + exports.Field = Field; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js +var require_Fields = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/Fields.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Fields = void 0; + var Fields = class { + constructor({ fields = [], encoding = "utf-8" }) { + this.entries = {}; + fields.forEach(this.setField.bind(this)); + this.encoding = encoding; + } + setField(field) { + this.entries[field.name.toLowerCase()] = field; + } + getField(name) { + return this.entries[name.toLowerCase()]; + } + removeField(name) { + delete this.entries[name.toLowerCase()]; + } + getByType(kind) { + return Object.values(this.entries).filter((field) => field.kind === kind); + } + }; + exports.Fields = Fields; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js +var require_httpHandler = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpHandler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js +var require_httpRequest = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpRequest = void 0; + var HttpRequest = class _HttpRequest { + constructor(options) { + this.method = options.method || "GET"; + this.hostname = options.hostname || "localhost"; + this.port = options.port; + this.query = options.query || {}; + this.headers = options.headers || {}; + this.body = options.body; + this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:"; + this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/"; + this.username = options.username; + this.password = options.password; + this.fragment = options.fragment; + } + static isInstance(request2) { + if (!request2) + return false; + const req = request2; + return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object"; + } + clone() { + const cloned = new _HttpRequest({ + ...this, + headers: { ...this.headers } + }); + if (cloned.query) + cloned.query = cloneQuery(cloned.query); + return cloned; + } + }; + exports.HttpRequest = HttpRequest; + function cloneQuery(query) { + return Object.keys(query).reduce((carry, paramName) => { + const param = query[paramName]; + return { + ...carry, + [paramName]: Array.isArray(param) ? [...param] : param + }; + }, {}); + } + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js +var require_httpResponse = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/httpResponse.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpResponse = void 0; + var HttpResponse = class { + constructor(options) { + this.statusCode = options.statusCode; + this.reason = options.reason; + this.headers = options.headers || {}; + this.body = options.body; + } + static isInstance(response) { + if (!response) + return false; + const resp = response; + return typeof resp.statusCode === "number" && typeof resp.headers === "object"; + } + }; + exports.HttpResponse = HttpResponse; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js +var require_isValidHostname = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/isValidHostname.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isValidHostname = void 0; + function isValidHostname(hostname) { + const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/; + return hostPattern.test(hostname); + } + exports.isValidHostname = isValidHostname; + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/types.js +var require_types = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/protocol-http/dist-cjs/index.js +var require_dist_cjs2 = __commonJS({ + "../../../node_modules/@smithy/protocol-http/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Field(), exports); + tslib_1.__exportStar(require_Fields(), exports); + tslib_1.__exportStar(require_httpHandler(), exports); + tslib_1.__exportStar(require_httpRequest(), exports); + tslib_1.__exportStar(require_httpResponse(), exports); + tslib_1.__exportStar(require_isValidHostname(), exports); + tslib_1.__exportStar(require_types(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +var require_dist_cjs3 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0; + var protocol_http_1 = require_dist_cjs2(); + function resolveHostHeaderConfig(input) { + return input; + } + exports.resolveHostHeaderConfig = resolveHostHeaderConfig; + var hostHeaderMiddleware = (options) => (next) => async (args) => { + if (!protocol_http_1.HttpRequest.isInstance(args.request)) + return next(args); + const { request: request2 } = args; + const { handlerProtocol = "" } = options.requestHandler.metadata || {}; + if (handlerProtocol.indexOf("h2") >= 0 && !request2.headers[":authority"]) { + delete request2.headers["host"]; + request2.headers[":authority"] = ""; + } else if (!request2.headers["host"]) { + let host = request2.hostname; + if (request2.port != null) + host += `:${request2.port}`; + request2.headers["host"] = host; + } + return next(args); + }; + exports.hostHeaderMiddleware = hostHeaderMiddleware; + exports.hostHeaderMiddlewareOptions = { + name: "hostHeaderMiddleware", + step: "build", + priority: "low", + tags: ["HOST"], + override: true + }; + var getHostHeaderPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions); + } + }); + exports.getHostHeaderPlugin = getHostHeaderPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js +var require_loggerMiddleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0; + var loggerMiddleware = () => (next, context) => async (args) => { + var _a, _b; + try { + const response = await next(args); + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; + const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog; + const { $metadata, ...outputWithoutMetadata } = response.output; + (_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, { + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + output: outputFilterSensitiveLog(outputWithoutMetadata), + metadata: $metadata + }); + return response; + } catch (error) { + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog; + (_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, { + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + error, + metadata: error.$metadata + }); + throw error; + } + }; + exports.loggerMiddleware = loggerMiddleware; + exports.loggerMiddlewareOptions = { + name: "loggerMiddleware", + tags: ["LOGGER"], + step: "initialize", + override: true + }; + var getLoggerPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions); + } + }); + exports.getLoggerPlugin = getLoggerPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +var require_dist_cjs4 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_loggerMiddleware(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +var require_dist_cjs5 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRecursionDetectionPlugin = exports.addRecursionDetectionMiddlewareOptions = exports.recursionDetectionMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id"; + var ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; + var ENV_TRACE_ID = "_X_AMZN_TRACE_ID"; + var recursionDetectionMiddleware = (options) => (next) => async (args) => { + const { request: request2 } = args; + if (!protocol_http_1.HttpRequest.isInstance(request2) || options.runtime !== "node" || request2.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { + return next(args); + } + const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; + const traceId = process.env[ENV_TRACE_ID]; + const nonEmptyString = (str) => typeof str === "string" && str.length > 0; + if (nonEmptyString(functionName) && nonEmptyString(traceId)) { + request2.headers[TRACE_ID_HEADER_NAME] = traceId; + } + return next({ + ...args, + request: request2 + }); + }; + exports.recursionDetectionMiddleware = recursionDetectionMiddleware; + exports.addRecursionDetectionMiddlewareOptions = { + step: "build", + tags: ["RECURSION_DETECTION"], + name: "recursionDetectionMiddleware", + override: true, + priority: "low" + }; + var getRecursionDetectionPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.recursionDetectionMiddleware)(options), exports.addRecursionDetectionMiddlewareOptions); + } + }); + exports.getRecursionDetectionPlugin = getRecursionDetectionPlugin; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js +var require_ProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/ProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ProviderError = void 0; + var ProviderError = class _ProviderError extends Error { + constructor(message, tryNextLink = true) { + super(message); + this.tryNextLink = tryNextLink; + this.name = "ProviderError"; + Object.setPrototypeOf(this, _ProviderError.prototype); + } + static from(error, tryNextLink = true) { + return Object.assign(new this(error.message, tryNextLink), error); + } + }; + exports.ProviderError = ProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js +var require_CredentialsProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/CredentialsProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CredentialsProviderError = void 0; + var ProviderError_1 = require_ProviderError(); + var CredentialsProviderError = class _CredentialsProviderError extends ProviderError_1.ProviderError { + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + this.name = "CredentialsProviderError"; + Object.setPrototypeOf(this, _CredentialsProviderError.prototype); + } + }; + exports.CredentialsProviderError = CredentialsProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js +var require_TokenProviderError = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/TokenProviderError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TokenProviderError = void 0; + var ProviderError_1 = require_ProviderError(); + var TokenProviderError = class _TokenProviderError extends ProviderError_1.ProviderError { + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + this.name = "TokenProviderError"; + Object.setPrototypeOf(this, _TokenProviderError.prototype); + } + }; + exports.TokenProviderError = TokenProviderError; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/chain.js +var require_chain = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/chain.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.chain = void 0; + var ProviderError_1 = require_ProviderError(); + function chain(...providers) { + return () => { + let promise = Promise.reject(new ProviderError_1.ProviderError("No providers in chain")); + for (const provider of providers) { + promise = promise.catch((err) => { + if (err === null || err === void 0 ? void 0 : err.tryNextLink) { + return provider(); + } + throw err; + }); + } + return promise; + }; + } + exports.chain = chain; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js +var require_fromStatic = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var fromStatic = (staticValue) => () => Promise.resolve(staticValue); + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js +var require_memoize = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/memoize.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.memoize = void 0; + var memoize = (provider, isExpired, requiresRefresh) => { + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = async () => { + if (!pending) { + pending = provider(); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; + } + return resolved; + }; + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); + } + return resolved; + }; + } + return async (options) => { + if (!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh)) { + resolved = await coalesceProvider(); + } + if (isConstant) { + return resolved; + } + if (requiresRefresh && !requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(); + return resolved; + } + return resolved; + }; + }; + exports.memoize = memoize; + } +}); + +// ../../../node_modules/@smithy/property-provider/dist-cjs/index.js +var require_dist_cjs6 = __commonJS({ + "../../../node_modules/@smithy/property-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_CredentialsProviderError(), exports); + tslib_1.__exportStar(require_ProviderError(), exports); + tslib_1.__exportStar(require_TokenProviderError(), exports); + tslib_1.__exportStar(require_chain(), exports); + tslib_1.__exportStar(require_fromStatic(), exports); + tslib_1.__exportStar(require_memoize(), exports); + } +}); + +// ../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js +var tslib_es6_exports2 = {}; +__export(tslib_es6_exports2, { + __assign: () => __assign2, + __asyncDelegator: () => __asyncDelegator2, + __asyncGenerator: () => __asyncGenerator2, + __asyncValues: () => __asyncValues2, + __await: () => __await2, + __awaiter: () => __awaiter2, + __classPrivateFieldGet: () => __classPrivateFieldGet2, + __classPrivateFieldSet: () => __classPrivateFieldSet2, + __createBinding: () => __createBinding2, + __decorate: () => __decorate2, + __exportStar: () => __exportStar2, + __extends: () => __extends2, + __generator: () => __generator2, + __importDefault: () => __importDefault2, + __importStar: () => __importStar2, + __makeTemplateObject: () => __makeTemplateObject2, + __metadata: () => __metadata2, + __param: () => __param2, + __read: () => __read2, + __rest: () => __rest2, + __spread: () => __spread2, + __spreadArrays: () => __spreadArrays2, + __values: () => __values2 +}); +function __extends2(d, b) { + extendStatics2(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest2(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate2(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param2(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __metadata2(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter2(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator2(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __createBinding2(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; +} +function __exportStar2(m, exports) { + for (var p in m) + if (p !== "default" && !exports.hasOwnProperty(p)) + exports[p] = m[p]; +} +function __values2(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read2(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread2() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read2(arguments[i])); + return ar; +} +function __spreadArrays2() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __await2(v) { + return this instanceof __await2 ? (this.v = v, this) : new __await2(v); +} +function __asyncGenerator2(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator2(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await2(o[n](v)), done: n === "return" } : f ? f(v) : v; + } : f; + } +} +function __asyncValues2(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } +} +function __makeTemplateObject2(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar2(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (Object.hasOwnProperty.call(mod, k)) + result[k] = mod[k]; + } + result.default = mod; + return result; +} +function __importDefault2(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet2(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); +} +function __classPrivateFieldSet2(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; +} +var extendStatics2, __assign2; +var init_tslib_es62 = __esm({ + "../../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js"() { + extendStatics2 = function(d, b) { + extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (b2.hasOwnProperty(p)) + d2[p] = b2[p]; + }; + return extendStatics2(d, b); + }; + __assign2 = function() { + __assign2 = Object.assign || function __assign3(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js +var require_pureJs = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/pureJs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + var fromUtf8 = (input) => { + const bytes = []; + for (let i = 0, len = input.length; i < len; i++) { + const value = input.charCodeAt(i); + if (value < 128) { + bytes.push(value); + } else if (value < 2048) { + bytes.push(value >> 6 | 192, value & 63 | 128); + } else if (i + 1 < input.length && (value & 64512) === 55296 && (input.charCodeAt(i + 1) & 64512) === 56320) { + const surrogatePair = 65536 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023); + bytes.push(surrogatePair >> 18 | 240, surrogatePair >> 12 & 63 | 128, surrogatePair >> 6 & 63 | 128, surrogatePair & 63 | 128); + } else { + bytes.push(value >> 12 | 224, value >> 6 & 63 | 128, value & 63 | 128); + } + } + return Uint8Array.from(bytes); + }; + exports.fromUtf8 = fromUtf8; + var toUtf8 = (input) => { + let decoded = ""; + for (let i = 0, len = input.length; i < len; i++) { + const byte = input[i]; + if (byte < 128) { + decoded += String.fromCharCode(byte); + } else if (192 <= byte && byte < 224) { + const nextByte = input[++i]; + decoded += String.fromCharCode((byte & 31) << 6 | nextByte & 63); + } else if (240 <= byte && byte < 365) { + const surrogatePair = [byte, input[++i], input[++i], input[++i]]; + const encoded = "%" + surrogatePair.map((byteValue) => byteValue.toString(16)).join("%"); + decoded += decodeURIComponent(encoded); + } else { + decoded += String.fromCharCode((byte & 15) << 12 | (input[++i] & 63) << 6 | input[++i] & 63); + } + } + return decoded; + }; + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js +var require_whatwgEncodingApi = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/whatwgEncodingApi.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + function fromUtf8(input) { + return new TextEncoder().encode(input); + } + exports.fromUtf8 = fromUtf8; + function toUtf8(input) { + return new TextDecoder("utf-8").decode(input); + } + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js +var require_dist_cjs7 = __commonJS({ + "../../../node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = exports.fromUtf8 = void 0; + var pureJs_1 = require_pureJs(); + var whatwgEncodingApi_1 = require_whatwgEncodingApi(); + var fromUtf8 = (input) => typeof TextEncoder === "function" ? (0, whatwgEncodingApi_1.fromUtf8)(input) : (0, pureJs_1.fromUtf8)(input); + exports.fromUtf8 = fromUtf8; + var toUtf8 = (input) => typeof TextDecoder === "function" ? (0, whatwgEncodingApi_1.toUtf8)(input) : (0, pureJs_1.toUtf8)(input); + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/convertToBuffer.js +var require_convertToBuffer = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/convertToBuffer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.convertToBuffer = void 0; + var util_utf8_browser_1 = require_dist_cjs7(); + var fromUtf8 = typeof Buffer !== "undefined" && Buffer.from ? function(input) { + return Buffer.from(input, "utf8"); + } : util_utf8_browser_1.fromUtf8; + function convertToBuffer(data) { + if (data instanceof Uint8Array) + return data; + if (typeof data === "string") { + return fromUtf8(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + } + exports.convertToBuffer = convertToBuffer; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/isEmptyData.js +var require_isEmptyData = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/isEmptyData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isEmptyData = void 0; + function isEmptyData(data) { + if (typeof data === "string") { + return data.length === 0; + } + return data.byteLength === 0; + } + exports.isEmptyData = isEmptyData; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/numToUint8.js +var require_numToUint8 = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/numToUint8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.numToUint8 = void 0; + function numToUint8(num) { + return new Uint8Array([ + (num & 4278190080) >> 24, + (num & 16711680) >> 16, + (num & 65280) >> 8, + num & 255 + ]); + } + exports.numToUint8 = numToUint8; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js +var require_uint32ArrayFrom = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/uint32ArrayFrom.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uint32ArrayFrom = void 0; + function uint32ArrayFrom(a_lookUpTable) { + if (!Uint32Array.from) { + var return_array = new Uint32Array(a_lookUpTable.length); + var a_index = 0; + while (a_index < a_lookUpTable.length) { + return_array[a_index] = a_lookUpTable[a_index]; + a_index += 1; + } + return return_array; + } + return Uint32Array.from(a_lookUpTable); + } + exports.uint32ArrayFrom = uint32ArrayFrom; + } +}); + +// ../../../node_modules/@aws-crypto/util/build/index.js +var require_build = __commonJS({ + "../../../node_modules/@aws-crypto/util/build/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0; + var convertToBuffer_1 = require_convertToBuffer(); + Object.defineProperty(exports, "convertToBuffer", { enumerable: true, get: function() { + return convertToBuffer_1.convertToBuffer; + } }); + var isEmptyData_1 = require_isEmptyData(); + Object.defineProperty(exports, "isEmptyData", { enumerable: true, get: function() { + return isEmptyData_1.isEmptyData; + } }); + var numToUint8_1 = require_numToUint8(); + Object.defineProperty(exports, "numToUint8", { enumerable: true, get: function() { + return numToUint8_1.numToUint8; + } }); + var uint32ArrayFrom_1 = require_uint32ArrayFrom(); + Object.defineProperty(exports, "uint32ArrayFrom", { enumerable: true, get: function() { + return uint32ArrayFrom_1.uint32ArrayFrom; + } }); + } +}); + +// ../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js +var require_aws_crc32 = __commonJS({ + "../../../node_modules/@aws-crypto/crc32/build/aws_crc32.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AwsCrc32 = void 0; + var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); + var util_1 = require_build(); + var index_1 = require_build2(); + var AwsCrc32 = ( + /** @class */ + function() { + function AwsCrc322() { + this.crc32 = new index_1.Crc32(); + } + AwsCrc322.prototype.update = function(toHash) { + if ((0, util_1.isEmptyData)(toHash)) + return; + this.crc32.update((0, util_1.convertToBuffer)(toHash)); + }; + AwsCrc322.prototype.digest = function() { + return tslib_1.__awaiter(this, void 0, void 0, function() { + return tslib_1.__generator(this, function(_a) { + return [2, (0, util_1.numToUint8)(this.crc32.digest())]; + }); + }); + }; + AwsCrc322.prototype.reset = function() { + this.crc32 = new index_1.Crc32(); + }; + return AwsCrc322; + }() + ); + exports.AwsCrc32 = AwsCrc32; + } +}); + +// ../../../node_modules/@aws-crypto/crc32/build/index.js +var require_build2 = __commonJS({ + "../../../node_modules/@aws-crypto/crc32/build/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0; + var tslib_1 = (init_tslib_es62(), __toCommonJS(tslib_es6_exports2)); + var util_1 = require_build(); + function crc32(data) { + return new Crc32().update(data).digest(); + } + exports.crc32 = crc32; + var Crc32 = ( + /** @class */ + function() { + function Crc322() { + this.checksum = 4294967295; + } + Crc322.prototype.update = function(data) { + var e_1, _a; + try { + for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) { + var byte = data_1_1.value; + this.checksum = this.checksum >>> 8 ^ lookupTable[(this.checksum ^ byte) & 255]; + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (data_1_1 && !data_1_1.done && (_a = data_1.return)) + _a.call(data_1); + } finally { + if (e_1) + throw e_1.error; + } + } + return this; + }; + Crc322.prototype.digest = function() { + return (this.checksum ^ 4294967295) >>> 0; + }; + return Crc322; + }() + ); + exports.Crc32 = Crc32; + var a_lookUpTable = [ + 0, + 1996959894, + 3993919788, + 2567524794, + 124634137, + 1886057615, + 3915621685, + 2657392035, + 249268274, + 2044508324, + 3772115230, + 2547177864, + 162941995, + 2125561021, + 3887607047, + 2428444049, + 498536548, + 1789927666, + 4089016648, + 2227061214, + 450548861, + 1843258603, + 4107580753, + 2211677639, + 325883990, + 1684777152, + 4251122042, + 2321926636, + 335633487, + 1661365465, + 4195302755, + 2366115317, + 997073096, + 1281953886, + 3579855332, + 2724688242, + 1006888145, + 1258607687, + 3524101629, + 2768942443, + 901097722, + 1119000684, + 3686517206, + 2898065728, + 853044451, + 1172266101, + 3705015759, + 2882616665, + 651767980, + 1373503546, + 3369554304, + 3218104598, + 565507253, + 1454621731, + 3485111705, + 3099436303, + 671266974, + 1594198024, + 3322730930, + 2970347812, + 795835527, + 1483230225, + 3244367275, + 3060149565, + 1994146192, + 31158534, + 2563907772, + 4023717930, + 1907459465, + 112637215, + 2680153253, + 3904427059, + 2013776290, + 251722036, + 2517215374, + 3775830040, + 2137656763, + 141376813, + 2439277719, + 3865271297, + 1802195444, + 476864866, + 2238001368, + 4066508878, + 1812370925, + 453092731, + 2181625025, + 4111451223, + 1706088902, + 314042704, + 2344532202, + 4240017532, + 1658658271, + 366619977, + 2362670323, + 4224994405, + 1303535960, + 984961486, + 2747007092, + 3569037538, + 1256170817, + 1037604311, + 2765210733, + 3554079995, + 1131014506, + 879679996, + 2909243462, + 3663771856, + 1141124467, + 855842277, + 2852801631, + 3708648649, + 1342533948, + 654459306, + 3188396048, + 3373015174, + 1466479909, + 544179635, + 3110523913, + 3462522015, + 1591671054, + 702138776, + 2966460450, + 3352799412, + 1504918807, + 783551873, + 3082640443, + 3233442989, + 3988292384, + 2596254646, + 62317068, + 1957810842, + 3939845945, + 2647816111, + 81470997, + 1943803523, + 3814918930, + 2489596804, + 225274430, + 2053790376, + 3826175755, + 2466906013, + 167816743, + 2097651377, + 4027552580, + 2265490386, + 503444072, + 1762050814, + 4150417245, + 2154129355, + 426522225, + 1852507879, + 4275313526, + 2312317920, + 282753626, + 1742555852, + 4189708143, + 2394877945, + 397917763, + 1622183637, + 3604390888, + 2714866558, + 953729732, + 1340076626, + 3518719985, + 2797360999, + 1068828381, + 1219638859, + 3624741850, + 2936675148, + 906185462, + 1090812512, + 3747672003, + 2825379669, + 829329135, + 1181335161, + 3412177804, + 3160834842, + 628085408, + 1382605366, + 3423369109, + 3138078467, + 570562233, + 1426400815, + 3317316542, + 2998733608, + 733239954, + 1555261956, + 3268935591, + 3050360625, + 752459403, + 1541320221, + 2607071920, + 3965973030, + 1969922972, + 40735498, + 2617837225, + 3943577151, + 1913087877, + 83908371, + 2512341634, + 3803740692, + 2075208622, + 213261112, + 2463272603, + 3855990285, + 2094854071, + 198958881, + 2262029012, + 4057260610, + 1759359992, + 534414190, + 2176718541, + 4139329115, + 1873836001, + 414664567, + 2282248934, + 4279200368, + 1711684554, + 285281116, + 2405801727, + 4167216745, + 1634467795, + 376229701, + 2685067896, + 3608007406, + 1308918612, + 956543938, + 2808555105, + 3495958263, + 1231636301, + 1047427035, + 2932959818, + 3654703836, + 1088359270, + 936918e3, + 2847714899, + 3736837829, + 1202900863, + 817233897, + 3183342108, + 3401237130, + 1404277552, + 615818150, + 3134207493, + 3453421203, + 1423857449, + 601450431, + 3009837614, + 3294710456, + 1567103746, + 711928724, + 3020668471, + 3272380065, + 1510334235, + 755167117 + ]; + var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable); + var aws_crc32_1 = require_aws_crc32(); + Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function() { + return aws_crc32_1.AwsCrc32; + } }); + } +}); + +// ../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js +var require_dist_cjs8 = __commonJS({ + "../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toHex = exports.fromHex = void 0; + var SHORT_TO_HEX = {}; + var HEX_TO_SHORT = {}; + for (let i = 0; i < 256; i++) { + let encodedByte = i.toString(16).toLowerCase(); + if (encodedByte.length === 1) { + encodedByte = `0${encodedByte}`; + } + SHORT_TO_HEX[i] = encodedByte; + HEX_TO_SHORT[encodedByte] = i; + } + function fromHex(encoded) { + if (encoded.length % 2 !== 0) { + throw new Error("Hex encoded strings must have an even number length"); + } + const out = new Uint8Array(encoded.length / 2); + for (let i = 0; i < encoded.length; i += 2) { + const encodedByte = encoded.slice(i, i + 2).toLowerCase(); + if (encodedByte in HEX_TO_SHORT) { + out[i / 2] = HEX_TO_SHORT[encodedByte]; + } else { + throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); + } + } + return out; + } + exports.fromHex = fromHex; + function toHex(bytes) { + let out = ""; + for (let i = 0; i < bytes.byteLength; i++) { + out += SHORT_TO_HEX[bytes[i]]; + } + return out; + } + exports.toHex = toHex; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js +var require_Int64 = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Int64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Int64 = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var Int64 = class _Int64 { + constructor(bytes) { + this.bytes = bytes; + if (bytes.byteLength !== 8) { + throw new Error("Int64 buffers must be exactly 8 bytes"); + } + } + static fromNumber(number) { + if (number > 9223372036854776e3 || number < -9223372036854776e3) { + throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); + } + const bytes = new Uint8Array(8); + for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { + bytes[i] = remaining; + } + if (number < 0) { + negate(bytes); + } + return new _Int64(bytes); + } + valueOf() { + const bytes = this.bytes.slice(0); + const negative = bytes[0] & 128; + if (negative) { + negate(bytes); + } + return parseInt((0, util_hex_encoding_1.toHex)(bytes), 16) * (negative ? -1 : 1); + } + toString() { + return String(this.valueOf()); + } + }; + exports.Int64 = Int64; + function negate(bytes) { + for (let i = 0; i < 8; i++) { + bytes[i] ^= 255; + } + for (let i = 7; i > -1; i--) { + bytes[i]++; + if (bytes[i] !== 0) + break; + } + } + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js +var require_HeaderMarshaller = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/HeaderMarshaller.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HeaderMarshaller = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var Int64_1 = require_Int64(); + var HeaderMarshaller = class { + constructor(toUtf8, fromUtf8) { + this.toUtf8 = toUtf8; + this.fromUtf8 = fromUtf8; + } + format(headers) { + const chunks = []; + for (const headerName of Object.keys(headers)) { + const bytes = this.fromUtf8(headerName); + chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + } + const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); + let position = 0; + for (const chunk of chunks) { + out.set(chunk, position); + position += chunk.byteLength; + } + return out; + } + formatHeaderValue(header) { + switch (header.type) { + case "boolean": + return Uint8Array.from([header.value ? 0 : 1]); + case "byte": + return Uint8Array.from([2, header.value]); + case "short": + const shortView = new DataView(new ArrayBuffer(3)); + shortView.setUint8(0, 3); + shortView.setInt16(1, header.value, false); + return new Uint8Array(shortView.buffer); + case "integer": + const intView = new DataView(new ArrayBuffer(5)); + intView.setUint8(0, 4); + intView.setInt32(1, header.value, false); + return new Uint8Array(intView.buffer); + case "long": + const longBytes = new Uint8Array(9); + longBytes[0] = 5; + longBytes.set(header.value.bytes, 1); + return longBytes; + case "binary": + const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); + binView.setUint8(0, 6); + binView.setUint16(1, header.value.byteLength, false); + const binBytes = new Uint8Array(binView.buffer); + binBytes.set(header.value, 3); + return binBytes; + case "string": + const utf8Bytes = this.fromUtf8(header.value); + const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); + strView.setUint8(0, 7); + strView.setUint16(1, utf8Bytes.byteLength, false); + const strBytes = new Uint8Array(strView.buffer); + strBytes.set(utf8Bytes, 3); + return strBytes; + case "timestamp": + const tsBytes = new Uint8Array(9); + tsBytes[0] = 8; + tsBytes.set(Int64_1.Int64.fromNumber(header.value.valueOf()).bytes, 1); + return tsBytes; + case "uuid": + if (!UUID_PATTERN.test(header.value)) { + throw new Error(`Invalid UUID received: ${header.value}`); + } + const uuidBytes = new Uint8Array(17); + uuidBytes[0] = 9; + uuidBytes.set((0, util_hex_encoding_1.fromHex)(header.value.replace(/\-/g, "")), 1); + return uuidBytes; + } + } + parse(headers) { + const out = {}; + let position = 0; + while (position < headers.byteLength) { + const nameLength = headers.getUint8(position++); + const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength)); + position += nameLength; + switch (headers.getUint8(position++)) { + case 0: + out[name] = { + type: BOOLEAN_TAG, + value: true + }; + break; + case 1: + out[name] = { + type: BOOLEAN_TAG, + value: false + }; + break; + case 2: + out[name] = { + type: BYTE_TAG, + value: headers.getInt8(position++) + }; + break; + case 3: + out[name] = { + type: SHORT_TAG, + value: headers.getInt16(position, false) + }; + position += 2; + break; + case 4: + out[name] = { + type: INT_TAG, + value: headers.getInt32(position, false) + }; + position += 4; + break; + case 5: + out[name] = { + type: LONG_TAG, + value: new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)) + }; + position += 8; + break; + case 6: + const binaryLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: BINARY_TAG, + value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength) + }; + position += binaryLength; + break; + case 7: + const stringLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: STRING_TAG, + value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)) + }; + position += stringLength; + break; + case 8: + out[name] = { + type: TIMESTAMP_TAG, + value: new Date(new Int64_1.Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()) + }; + position += 8; + break; + case 9: + const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16); + position += 16; + out[name] = { + type: UUID_TAG, + value: `${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(0, 4))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(4, 6))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(6, 8))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(8, 10))}-${(0, util_hex_encoding_1.toHex)(uuidBytes.subarray(10))}` + }; + break; + default: + throw new Error(`Unrecognized header type tag`); + } + } + return out; + } + }; + exports.HeaderMarshaller = HeaderMarshaller; + var HEADER_VALUE_TYPE; + (function(HEADER_VALUE_TYPE2) { + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid"; + })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {})); + var BOOLEAN_TAG = "boolean"; + var BYTE_TAG = "byte"; + var SHORT_TAG = "short"; + var INT_TAG = "integer"; + var LONG_TAG = "long"; + var BINARY_TAG = "binary"; + var STRING_TAG = "string"; + var TIMESTAMP_TAG = "timestamp"; + var UUID_TAG = "uuid"; + var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js +var require_splitMessage = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/splitMessage.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.splitMessage = void 0; + var crc32_1 = require_build2(); + var PRELUDE_MEMBER_LENGTH = 4; + var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2; + var CHECKSUM_LENGTH = 4; + var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2; + function splitMessage({ byteLength, byteOffset, buffer }) { + if (byteLength < MINIMUM_MESSAGE_LENGTH) { + throw new Error("Provided message too short to accommodate event stream message overhead"); + } + const view = new DataView(buffer, byteOffset, byteLength); + const messageLength = view.getUint32(0, false); + if (byteLength !== messageLength) { + throw new Error("Reported message length does not match received message length"); + } + const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false); + const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false); + const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false); + const checksummer = new crc32_1.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH)); + if (expectedPreludeChecksum !== checksummer.digest()) { + throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`); + } + checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH))); + if (expectedMessageChecksum !== checksummer.digest()) { + throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`); + } + return { + headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength), + body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)) + }; + } + exports.splitMessage = splitMessage; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js +var require_EventStreamCodec = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/EventStreamCodec.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EventStreamCodec = void 0; + var crc32_1 = require_build2(); + var HeaderMarshaller_1 = require_HeaderMarshaller(); + var splitMessage_1 = require_splitMessage(); + var EventStreamCodec = class { + constructor(toUtf8, fromUtf8) { + this.headerMarshaller = new HeaderMarshaller_1.HeaderMarshaller(toUtf8, fromUtf8); + this.messageBuffer = []; + this.isEndOfStream = false; + } + feed(message) { + this.messageBuffer.push(this.decode(message)); + } + endOfStream() { + this.isEndOfStream = true; + } + getMessage() { + const message = this.messageBuffer.pop(); + const isEndOfStream = this.isEndOfStream; + return { + getMessage() { + return message; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + getAvailableMessages() { + const messages = this.messageBuffer; + this.messageBuffer = []; + const isEndOfStream = this.isEndOfStream; + return { + getMessages() { + return messages; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + encode({ headers: rawHeaders, body }) { + const headers = this.headerMarshaller.format(rawHeaders); + const length = headers.byteLength + body.byteLength + 16; + const out = new Uint8Array(length); + const view = new DataView(out.buffer, out.byteOffset, out.byteLength); + const checksum = new crc32_1.Crc32(); + view.setUint32(0, length, false); + view.setUint32(4, headers.byteLength, false); + view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false); + out.set(headers, 12); + out.set(body, headers.byteLength + 12); + view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false); + return out; + } + decode(message) { + const { headers, body } = (0, splitMessage_1.splitMessage)(message); + return { headers: this.headerMarshaller.parse(headers), body }; + } + formatHeaders(rawHeaders) { + return this.headerMarshaller.format(rawHeaders); + } + }; + exports.EventStreamCodec = EventStreamCodec; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js +var require_Message = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/Message.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js +var require_MessageDecoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageDecoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MessageDecoderStream = void 0; + var MessageDecoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const bytes of this.options.inputStream) { + const decoded = this.options.decoder.decode(bytes); + yield decoded; + } + } + }; + exports.MessageDecoderStream = MessageDecoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js +var require_MessageEncoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/MessageEncoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MessageEncoderStream = void 0; + var MessageEncoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const msg of this.options.messageStream) { + const encoded = this.options.encoder.encode(msg); + yield encoded; + } + if (this.options.includeEndFrame) { + yield new Uint8Array(0); + } + } + }; + exports.MessageEncoderStream = MessageEncoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js +var require_SmithyMessageDecoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageDecoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SmithyMessageDecoderStream = void 0; + var SmithyMessageDecoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const message of this.options.messageStream) { + const deserialized = await this.options.deserializer(message); + if (deserialized === void 0) + continue; + yield deserialized; + } + } + }; + exports.SmithyMessageDecoderStream = SmithyMessageDecoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js +var require_SmithyMessageEncoderStream = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/SmithyMessageEncoderStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SmithyMessageEncoderStream = void 0; + var SmithyMessageEncoderStream = class { + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const chunk of this.options.inputStream) { + const payloadBuf = this.options.serializer(chunk); + yield payloadBuf; + } + } + }; + exports.SmithyMessageEncoderStream = SmithyMessageEncoderStream; + } +}); + +// ../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js +var require_dist_cjs9 = __commonJS({ + "../../../node_modules/@smithy/eventstream-codec/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EventStreamCodec(), exports); + tslib_1.__exportStar(require_HeaderMarshaller(), exports); + tslib_1.__exportStar(require_Int64(), exports); + tslib_1.__exportStar(require_Message(), exports); + tslib_1.__exportStar(require_MessageDecoderStream(), exports); + tslib_1.__exportStar(require_MessageEncoderStream(), exports); + tslib_1.__exportStar(require_SmithyMessageDecoderStream(), exports); + tslib_1.__exportStar(require_SmithyMessageEncoderStream(), exports); + } +}); + +// ../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js +var require_normalizeProvider = __commonJS({ + "../../../node_modules/@smithy/util-middleware/dist-cjs/normalizeProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.normalizeProvider = void 0; + var normalizeProvider = (input) => { + if (typeof input === "function") + return input; + const promisified = Promise.resolve(input); + return () => promisified; + }; + exports.normalizeProvider = normalizeProvider; + } +}); + +// ../../../node_modules/@smithy/util-middleware/dist-cjs/index.js +var require_dist_cjs10 = __commonJS({ + "../../../node_modules/@smithy/util-middleware/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_normalizeProvider(), exports); + } +}); + +// ../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js +var require_dist_cjs11 = __commonJS({ + "../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isArrayBuffer = void 0; + var isArrayBuffer = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]"; + exports.isArrayBuffer = isArrayBuffer; + } +}); + +// ../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js +var require_dist_cjs12 = __commonJS({ + "../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromString = exports.fromArrayBuffer = void 0; + var is_array_buffer_1 = require_dist_cjs11(); + var buffer_1 = require("buffer"); + var fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => { + if (!(0, is_array_buffer_1.isArrayBuffer)(input)) { + throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); + } + return buffer_1.Buffer.from(input, offset, length); + }; + exports.fromArrayBuffer = fromArrayBuffer; + var fromString = (input, encoding) => { + if (typeof input !== "string") { + throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); + } + return encoding ? buffer_1.Buffer.from(input, encoding) : buffer_1.Buffer.from(input); + }; + exports.fromString = fromString; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js +var require_fromUtf8 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromUtf8 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var fromUtf8 = (input) => { + const buf = (0, util_buffer_from_1.fromString)(input, "utf8"); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); + }; + exports.fromUtf8 = fromUtf8; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js +var require_toUint8Array = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/toUint8Array.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUint8Array = void 0; + var fromUtf8_1 = require_fromUtf8(); + var toUint8Array = (data) => { + if (typeof data === "string") { + return (0, fromUtf8_1.fromUtf8)(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + }; + exports.toUint8Array = toUint8Array; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js +var require_toUtf8 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/toUtf8.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toUtf8 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var toUtf8 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); + exports.toUtf8 = toUtf8; + } +}); + +// ../../../node_modules/@smithy/util-utf8/dist-cjs/index.js +var require_dist_cjs13 = __commonJS({ + "../../../node_modules/@smithy/util-utf8/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromUtf8(), exports); + tslib_1.__exportStar(require_toUint8Array(), exports); + tslib_1.__exportStar(require_toUtf8(), exports); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js +var require_constants = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MAX_PRESIGNED_TTL = exports.KEY_TYPE_IDENTIFIER = exports.MAX_CACHE_SIZE = exports.UNSIGNED_PAYLOAD = exports.EVENT_ALGORITHM_IDENTIFIER = exports.ALGORITHM_IDENTIFIER_V4A = exports.ALGORITHM_IDENTIFIER = exports.UNSIGNABLE_PATTERNS = exports.SEC_HEADER_PATTERN = exports.PROXY_HEADER_PATTERN = exports.ALWAYS_UNSIGNABLE_HEADERS = exports.HOST_HEADER = exports.TOKEN_HEADER = exports.SHA256_HEADER = exports.SIGNATURE_HEADER = exports.GENERATED_HEADERS = exports.DATE_HEADER = exports.AMZ_DATE_HEADER = exports.AUTH_HEADER = exports.REGION_SET_PARAM = exports.TOKEN_QUERY_PARAM = exports.SIGNATURE_QUERY_PARAM = exports.EXPIRES_QUERY_PARAM = exports.SIGNED_HEADERS_QUERY_PARAM = exports.AMZ_DATE_QUERY_PARAM = exports.CREDENTIAL_QUERY_PARAM = exports.ALGORITHM_QUERY_PARAM = void 0; + exports.ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; + exports.CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; + exports.AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; + exports.SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; + exports.EXPIRES_QUERY_PARAM = "X-Amz-Expires"; + exports.SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; + exports.TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; + exports.REGION_SET_PARAM = "X-Amz-Region-Set"; + exports.AUTH_HEADER = "authorization"; + exports.AMZ_DATE_HEADER = exports.AMZ_DATE_QUERY_PARAM.toLowerCase(); + exports.DATE_HEADER = "date"; + exports.GENERATED_HEADERS = [exports.AUTH_HEADER, exports.AMZ_DATE_HEADER, exports.DATE_HEADER]; + exports.SIGNATURE_HEADER = exports.SIGNATURE_QUERY_PARAM.toLowerCase(); + exports.SHA256_HEADER = "x-amz-content-sha256"; + exports.TOKEN_HEADER = exports.TOKEN_QUERY_PARAM.toLowerCase(); + exports.HOST_HEADER = "host"; + exports.ALWAYS_UNSIGNABLE_HEADERS = { + authorization: true, + "cache-control": true, + connection: true, + expect: true, + from: true, + "keep-alive": true, + "max-forwards": true, + pragma: true, + referer: true, + te: true, + trailer: true, + "transfer-encoding": true, + upgrade: true, + "user-agent": true, + "x-amzn-trace-id": true + }; + exports.PROXY_HEADER_PATTERN = /^proxy-/; + exports.SEC_HEADER_PATTERN = /^sec-/; + exports.UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i]; + exports.ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; + exports.ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256"; + exports.EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; + exports.UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; + exports.MAX_CACHE_SIZE = 50; + exports.KEY_TYPE_IDENTIFIER = "aws4_request"; + exports.MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js +var require_credentialDerivation = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/credentialDerivation.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.clearCredentialCache = exports.getSigningKey = exports.createScope = void 0; + var util_hex_encoding_1 = require_dist_cjs8(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var signingKeyCache = {}; + var cacheQueue = []; + var createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`; + exports.createScope = createScope; + var getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => { + const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); + const cacheKey = `${shortDate}:${region}:${service}:${(0, util_hex_encoding_1.toHex)(credsHash)}:${credentials.sessionToken}`; + if (cacheKey in signingKeyCache) { + return signingKeyCache[cacheKey]; + } + cacheQueue.push(cacheKey); + while (cacheQueue.length > constants_1.MAX_CACHE_SIZE) { + delete signingKeyCache[cacheQueue.shift()]; + } + let key = `AWS4${credentials.secretAccessKey}`; + for (const signable of [shortDate, region, service, constants_1.KEY_TYPE_IDENTIFIER]) { + key = await hmac(sha256Constructor, key, signable); + } + return signingKeyCache[cacheKey] = key; + }; + exports.getSigningKey = getSigningKey; + var clearCredentialCache = () => { + cacheQueue.length = 0; + Object.keys(signingKeyCache).forEach((cacheKey) => { + delete signingKeyCache[cacheKey]; + }); + }; + exports.clearCredentialCache = clearCredentialCache; + var hmac = (ctor, secret, data) => { + const hash = new ctor(secret); + hash.update((0, util_utf8_1.toUint8Array)(data)); + return hash.digest(); + }; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js +var require_getCanonicalHeaders = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalHeaders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCanonicalHeaders = void 0; + var constants_1 = require_constants(); + var getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => { + const canonical = {}; + for (const headerName of Object.keys(headers).sort()) { + if (headers[headerName] == void 0) { + continue; + } + const canonicalHeaderName = headerName.toLowerCase(); + if (canonicalHeaderName in constants_1.ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) || constants_1.PROXY_HEADER_PATTERN.test(canonicalHeaderName) || constants_1.SEC_HEADER_PATTERN.test(canonicalHeaderName)) { + if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { + continue; + } + } + canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " "); + } + return canonical; + }; + exports.getCanonicalHeaders = getCanonicalHeaders; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js +var require_escape_uri = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.escapeUri = void 0; + var escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode); + exports.escapeUri = escapeUri; + var hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js +var require_escape_uri_path = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/escape-uri-path.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.escapeUriPath = void 0; + var escape_uri_1 = require_escape_uri(); + var escapeUriPath = (uri) => uri.split("/").map(escape_uri_1.escapeUri).join("/"); + exports.escapeUriPath = escapeUriPath; + } +}); + +// ../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js +var require_dist_cjs14 = __commonJS({ + "../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_escape_uri(), exports); + tslib_1.__exportStar(require_escape_uri_path(), exports); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js +var require_getCanonicalQuery = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getCanonicalQuery.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCanonicalQuery = void 0; + var util_uri_escape_1 = require_dist_cjs14(); + var constants_1 = require_constants(); + var getCanonicalQuery = ({ query = {} }) => { + const keys = []; + const serialized = {}; + for (const key of Object.keys(query).sort()) { + if (key.toLowerCase() === constants_1.SIGNATURE_HEADER) { + continue; + } + keys.push(key); + const value = query[key]; + if (typeof value === "string") { + serialized[key] = `${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value)}`; + } else if (Array.isArray(value)) { + serialized[key] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${(0, util_uri_escape_1.escapeUri)(key)}=${(0, util_uri_escape_1.escapeUri)(value2)}`]), []).sort().join("&"); + } + } + return keys.map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); + }; + exports.getCanonicalQuery = getCanonicalQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js +var require_getPayloadHash = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/getPayloadHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getPayloadHash = void 0; + var is_array_buffer_1 = require_dist_cjs11(); + var util_hex_encoding_1 = require_dist_cjs8(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var getPayloadHash = async ({ headers, body }, hashConstructor) => { + for (const headerName of Object.keys(headers)) { + if (headerName.toLowerCase() === constants_1.SHA256_HEADER) { + return headers[headerName]; + } + } + if (body == void 0) { + return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + } else if (typeof body === "string" || ArrayBuffer.isView(body) || (0, is_array_buffer_1.isArrayBuffer)(body)) { + const hashCtor = new hashConstructor(); + hashCtor.update((0, util_utf8_1.toUint8Array)(body)); + return (0, util_hex_encoding_1.toHex)(await hashCtor.digest()); + } + return constants_1.UNSIGNED_PAYLOAD; + }; + exports.getPayloadHash = getPayloadHash; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js +var require_headerUtil = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/headerUtil.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.deleteHeader = exports.getHeaderValue = exports.hasHeader = void 0; + var hasHeader = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return true; + } + } + return false; + }; + exports.hasHeader = hasHeader; + var getHeaderValue = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return headers[headerName]; + } + } + return void 0; + }; + exports.getHeaderValue = getHeaderValue; + var deleteHeader = (soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + delete headers[headerName]; + } + } + }; + exports.deleteHeader = deleteHeader; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js +var require_cloneRequest = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/cloneRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.cloneQuery = exports.cloneRequest = void 0; + var cloneRequest = ({ headers, query, ...rest }) => ({ + ...rest, + headers: { ...headers }, + query: query ? (0, exports.cloneQuery)(query) : void 0 + }); + exports.cloneRequest = cloneRequest; + var cloneQuery = (query) => Object.keys(query).reduce((carry, paramName) => { + const param = query[paramName]; + return { + ...carry, + [paramName]: Array.isArray(param) ? [...param] : param + }; + }, {}); + exports.cloneQuery = cloneQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js +var require_moveHeadersToQuery = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/moveHeadersToQuery.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.moveHeadersToQuery = void 0; + var cloneRequest_1 = require_cloneRequest(); + var moveHeadersToQuery = (request2, options = {}) => { + var _a; + const { headers, query = {} } = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); + for (const name of Object.keys(headers)) { + const lname = name.toLowerCase(); + if (lname.slice(0, 6) === "x-amz-" && !((_a = options.unhoistableHeaders) === null || _a === void 0 ? void 0 : _a.has(lname))) { + query[name] = headers[name]; + delete headers[name]; + } + } + return { + ...request2, + headers, + query + }; + }; + exports.moveHeadersToQuery = moveHeadersToQuery; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js +var require_prepareRequest = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/prepareRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.prepareRequest = void 0; + var cloneRequest_1 = require_cloneRequest(); + var constants_1 = require_constants(); + var prepareRequest = (request2) => { + request2 = typeof request2.clone === "function" ? request2.clone() : (0, cloneRequest_1.cloneRequest)(request2); + for (const headerName of Object.keys(request2.headers)) { + if (constants_1.GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { + delete request2.headers[headerName]; + } + } + return request2; + }; + exports.prepareRequest = prepareRequest; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js +var require_utilDate = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/utilDate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toDate = exports.iso8601 = void 0; + var iso8601 = (time) => (0, exports.toDate)(time).toISOString().replace(/\.\d{3}Z$/, "Z"); + exports.iso8601 = iso8601; + var toDate = (time) => { + if (typeof time === "number") { + return new Date(time * 1e3); + } + if (typeof time === "string") { + if (Number(time)) { + return new Date(Number(time) * 1e3); + } + return new Date(time); + } + return time; + }; + exports.toDate = toDate; + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js +var require_SignatureV4 = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/SignatureV4.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SignatureV4 = void 0; + var eventstream_codec_1 = require_dist_cjs9(); + var util_hex_encoding_1 = require_dist_cjs8(); + var util_middleware_1 = require_dist_cjs10(); + var util_utf8_1 = require_dist_cjs13(); + var constants_1 = require_constants(); + var credentialDerivation_1 = require_credentialDerivation(); + var getCanonicalHeaders_1 = require_getCanonicalHeaders(); + var getCanonicalQuery_1 = require_getCanonicalQuery(); + var getPayloadHash_1 = require_getPayloadHash(); + var headerUtil_1 = require_headerUtil(); + var moveHeadersToQuery_1 = require_moveHeadersToQuery(); + var prepareRequest_1 = require_prepareRequest(); + var utilDate_1 = require_utilDate(); + var SignatureV4 = class { + constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) { + this.headerMarshaller = new eventstream_codec_1.HeaderMarshaller(util_utf8_1.toUtf8, util_utf8_1.fromUtf8); + this.service = service; + this.sha256 = sha256; + this.uriEscapePath = uriEscapePath; + this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; + this.regionProvider = (0, util_middleware_1.normalizeProvider)(region); + this.credentialProvider = (0, util_middleware_1.normalizeProvider)(credentials); + } + async presign(originalRequest, options = {}) { + const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService } = options; + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { longDate, shortDate } = formatDate(signingDate); + if (expiresIn > constants_1.MAX_PRESIGNED_TTL) { + return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future"); + } + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + const request2 = (0, moveHeadersToQuery_1.moveHeadersToQuery)((0, prepareRequest_1.prepareRequest)(originalRequest), { unhoistableHeaders }); + if (credentials.sessionToken) { + request2.query[constants_1.TOKEN_QUERY_PARAM] = credentials.sessionToken; + } + request2.query[constants_1.ALGORITHM_QUERY_PARAM] = constants_1.ALGORITHM_IDENTIFIER; + request2.query[constants_1.CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; + request2.query[constants_1.AMZ_DATE_QUERY_PARAM] = longDate; + request2.query[constants_1.EXPIRES_QUERY_PARAM] = expiresIn.toString(10); + const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); + request2.query[constants_1.SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders); + request2.query[constants_1.SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, await (0, getPayloadHash_1.getPayloadHash)(originalRequest, this.sha256))); + return request2; + } + async sign(toSign, options) { + if (typeof toSign === "string") { + return this.signString(toSign, options); + } else if (toSign.headers && toSign.payload) { + return this.signEvent(toSign, options); + } else if (toSign.message) { + return this.signMessage(toSign, options); + } else { + return this.signRequest(toSign, options); + } + } + async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) { + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { shortDate, longDate } = formatDate(signingDate); + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + const hashedPayload = await (0, getPayloadHash_1.getPayloadHash)({ headers: {}, body: payload }, this.sha256); + const hash = new this.sha256(); + hash.update(headers); + const hashedHeaders = (0, util_hex_encoding_1.toHex)(await hash.digest()); + const stringToSign = [ + constants_1.EVENT_ALGORITHM_IDENTIFIER, + longDate, + scope, + priorSignature, + hashedHeaders, + hashedPayload + ].join("\n"); + return this.signString(stringToSign, { signingDate, signingRegion: region, signingService }); + } + async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) { + const promise = this.signEvent({ + headers: this.headerMarshaller.format(signableMessage.message.headers), + payload: signableMessage.message.body + }, { + signingDate, + signingRegion, + signingService, + priorSignature: signableMessage.priorSignature + }); + return promise.then((signature) => { + return { message: signableMessage.message, signature }; + }); + } + async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const { shortDate } = formatDate(signingDate); + const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); + hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); + return (0, util_hex_encoding_1.toHex)(await hash.digest()); + } + async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion !== null && signingRegion !== void 0 ? signingRegion : await this.regionProvider(); + const request2 = (0, prepareRequest_1.prepareRequest)(requestToSign); + const { longDate, shortDate } = formatDate(signingDate); + const scope = (0, credentialDerivation_1.createScope)(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); + request2.headers[constants_1.AMZ_DATE_HEADER] = longDate; + if (credentials.sessionToken) { + request2.headers[constants_1.TOKEN_HEADER] = credentials.sessionToken; + } + const payloadHash = await (0, getPayloadHash_1.getPayloadHash)(request2, this.sha256); + if (!(0, headerUtil_1.hasHeader)(constants_1.SHA256_HEADER, request2.headers) && this.applyChecksum) { + request2.headers[constants_1.SHA256_HEADER] = payloadHash; + } + const canonicalHeaders = (0, getCanonicalHeaders_1.getCanonicalHeaders)(request2, unsignableHeaders, signableHeaders); + const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request2, canonicalHeaders, payloadHash)); + request2.headers[constants_1.AUTH_HEADER] = `${constants_1.ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; + return request2; + } + createCanonicalRequest(request2, canonicalHeaders, payloadHash) { + const sortedHeaders = Object.keys(canonicalHeaders).sort(); + return `${request2.method} +${this.getCanonicalPath(request2)} +${(0, getCanonicalQuery_1.getCanonicalQuery)(request2)} +${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join("\n")} + +${sortedHeaders.join(";")} +${payloadHash}`; + } + async createStringToSign(longDate, credentialScope, canonicalRequest) { + const hash = new this.sha256(); + hash.update((0, util_utf8_1.toUint8Array)(canonicalRequest)); + const hashedRequest = await hash.digest(); + return `${constants_1.ALGORITHM_IDENTIFIER} +${longDate} +${credentialScope} +${(0, util_hex_encoding_1.toHex)(hashedRequest)}`; + } + getCanonicalPath({ path }) { + if (this.uriEscapePath) { + const normalizedPathSegments = []; + for (const pathSegment of path.split("/")) { + if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0) + continue; + if (pathSegment === ".") + continue; + if (pathSegment === "..") { + normalizedPathSegments.pop(); + } else { + normalizedPathSegments.push(pathSegment); + } + } + const normalizedPath = `${(path === null || path === void 0 ? void 0 : path.startsWith("/")) ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith("/")) ? "/" : ""}`; + const doubleEncoded = encodeURIComponent(normalizedPath); + return doubleEncoded.replace(/%2F/g, "/"); + } + return path; + } + async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { + const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest); + const hash = new this.sha256(await keyPromise); + hash.update((0, util_utf8_1.toUint8Array)(stringToSign)); + return (0, util_hex_encoding_1.toHex)(await hash.digest()); + } + getSigningKey(credentials, region, shortDate, service) { + return (0, credentialDerivation_1.getSigningKey)(this.sha256, credentials, shortDate, region, service || this.service); + } + validateResolvedCredentials(credentials) { + if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") { + throw new Error("Resolved credential object is not valid"); + } + } + }; + exports.SignatureV4 = SignatureV4; + var formatDate = (now) => { + const longDate = (0, utilDate_1.iso8601)(now).replace(/[\-:]/g, ""); + return { + longDate, + shortDate: longDate.slice(0, 8) + }; + }; + var getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(";"); + } +}); + +// ../../../node_modules/@smithy/signature-v4/dist-cjs/index.js +var require_dist_cjs15 = __commonJS({ + "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.prepareRequest = exports.moveHeadersToQuery = exports.getPayloadHash = exports.getCanonicalQuery = exports.getCanonicalHeaders = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SignatureV4(), exports); + var getCanonicalHeaders_1 = require_getCanonicalHeaders(); + Object.defineProperty(exports, "getCanonicalHeaders", { enumerable: true, get: function() { + return getCanonicalHeaders_1.getCanonicalHeaders; + } }); + var getCanonicalQuery_1 = require_getCanonicalQuery(); + Object.defineProperty(exports, "getCanonicalQuery", { enumerable: true, get: function() { + return getCanonicalQuery_1.getCanonicalQuery; + } }); + var getPayloadHash_1 = require_getPayloadHash(); + Object.defineProperty(exports, "getPayloadHash", { enumerable: true, get: function() { + return getPayloadHash_1.getPayloadHash; + } }); + var moveHeadersToQuery_1 = require_moveHeadersToQuery(); + Object.defineProperty(exports, "moveHeadersToQuery", { enumerable: true, get: function() { + return moveHeadersToQuery_1.moveHeadersToQuery; + } }); + var prepareRequest_1 = require_prepareRequest(); + Object.defineProperty(exports, "prepareRequest", { enumerable: true, get: function() { + return prepareRequest_1.prepareRequest; + } }); + tslib_1.__exportStar(require_credentialDerivation(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js +var require_awsAuthConfiguration = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthConfiguration.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0; + var property_provider_1 = require_dist_cjs6(); + var signature_v4_1 = require_dist_cjs15(); + var util_middleware_1 = require_dist_cjs10(); + var CREDENTIAL_EXPIRE_WINDOW = 3e5; + var resolveAwsAuthConfig = (input) => { + const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); + const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; + let signer; + if (input.signer) { + signer = (0, util_middleware_1.normalizeProvider)(input.signer); + } else if (input.regionInfoProvider) { + signer = () => (0, util_middleware_1.normalizeProvider)(input.region)().then(async (region) => [ + await input.regionInfoProvider(region, { + useFipsEndpoint: await input.useFipsEndpoint(), + useDualstackEndpoint: await input.useDualstackEndpoint() + }) || {}, + region + ]).then(([regionInfo, region]) => { + const { signingRegion, signingService } = regionInfo; + input.signingRegion = input.signingRegion || signingRegion || region; + input.signingName = input.signingName || signingService || input.serviceId; + const params = { + ...input, + credentials: normalizedCreds, + region: input.signingRegion, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; + return new SignerCtor(params); + }); + } else { + signer = async (authScheme) => { + authScheme = Object.assign({}, { + name: "sigv4", + signingName: input.signingName || input.defaultSigningName, + signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(), + properties: {} + }, authScheme); + const signingRegion = authScheme.signingRegion; + const signingService = authScheme.signingName; + input.signingRegion = input.signingRegion || signingRegion; + input.signingName = input.signingName || signingService || input.serviceId; + const params = { + ...input, + credentials: normalizedCreds, + region: input.signingRegion, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + }; + const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4; + return new SignerCtor(params); + }; + } + return { + ...input, + systemClockOffset, + signingEscapePath, + credentials: normalizedCreds, + signer + }; + }; + exports.resolveAwsAuthConfig = resolveAwsAuthConfig; + var resolveSigV4AuthConfig = (input) => { + const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input); + const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input; + let signer; + if (input.signer) { + signer = (0, util_middleware_1.normalizeProvider)(input.signer); + } else { + signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({ + credentials: normalizedCreds, + region: input.region, + service: input.signingName, + sha256, + uriEscapePath: signingEscapePath + })); + } + return { + ...input, + systemClockOffset, + signingEscapePath, + credentials: normalizedCreds, + signer + }; + }; + exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig; + var normalizeCredentialProvider = (credentials) => { + if (typeof credentials === "function") { + return (0, property_provider_1.memoize)(credentials, (credentials2) => credentials2.expiration !== void 0 && credentials2.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials2) => credentials2.expiration !== void 0); + } + return (0, util_middleware_1.normalizeProvider)(credentials); + }; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js +var require_getSkewCorrectedDate = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getSkewCorrectedDate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSkewCorrectedDate = void 0; + var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset); + exports.getSkewCorrectedDate = getSkewCorrectedDate; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js +var require_isClockSkewed = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/isClockSkewed.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isClockSkewed = void 0; + var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); + var isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 3e5; + exports.isClockSkewed = isClockSkewed; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js +var require_getUpdatedSystemClockOffset = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/utils/getUpdatedSystemClockOffset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUpdatedSystemClockOffset = void 0; + var isClockSkewed_1 = require_isClockSkewed(); + var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => { + const clockTimeInMs = Date.parse(clockTime); + if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) { + return clockTimeInMs - Date.now(); + } + return currentSystemClockOffset; + }; + exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js +var require_awsAuthMiddleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var getSkewCorrectedDate_1 = require_getSkewCorrectedDate(); + var getUpdatedSystemClockOffset_1 = require_getUpdatedSystemClockOffset(); + var awsAuthMiddleware = (options) => (next, context) => async function(args) { + var _a, _b, _c, _d; + if (!protocol_http_1.HttpRequest.isInstance(args.request)) + return next(args); + const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0]; + const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(",") : void 0; + const signer = await options.signer(authScheme); + const output = await next({ + ...args, + request: await signer.sign(args.request, { + signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset), + signingRegion: multiRegionOverride || context["signing_region"], + signingService: context["signing_service"] + }) + }).catch((error) => { + var _a2; + const serverTime = (_a2 = error.ServerTime) !== null && _a2 !== void 0 ? _a2 : getDateHeader(error.$response); + if (serverTime) { + options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset); + } + throw error; + }); + const dateHeader = getDateHeader(output.response); + if (dateHeader) { + options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset); + } + return output; + }; + exports.awsAuthMiddleware = awsAuthMiddleware; + var getDateHeader = (response) => { + var _a, _b, _c; + return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : void 0; + }; + exports.awsAuthMiddlewareOptions = { + name: "awsAuthMiddleware", + tags: ["SIGNATURE", "AWSAUTH"], + relation: "after", + toMiddleware: "retryMiddleware", + override: true + }; + var getAwsAuthPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions); + } + }); + exports.getAwsAuthPlugin = getAwsAuthPlugin; + exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js +var require_dist_cjs16 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_awsAuthConfiguration(), exports); + tslib_1.__exportStar(require_awsAuthMiddleware(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js +var require_configurations = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/configurations.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveUserAgentConfig = void 0; + function resolveUserAgentConfig(input) { + return { + ...input, + customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent + }; + } + exports.resolveUserAgentConfig = resolveUserAgentConfig; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +var require_partitions = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json"(exports, module2) { + module2.exports = { + partitions: [{ + id: "aws", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + name: "aws", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$", + regions: { + "af-south-1": { + description: "Africa (Cape Town)" + }, + "ap-east-1": { + description: "Asia Pacific (Hong Kong)" + }, + "ap-northeast-1": { + description: "Asia Pacific (Tokyo)" + }, + "ap-northeast-2": { + description: "Asia Pacific (Seoul)" + }, + "ap-northeast-3": { + description: "Asia Pacific (Osaka)" + }, + "ap-south-1": { + description: "Asia Pacific (Mumbai)" + }, + "ap-south-2": { + description: "Asia Pacific (Hyderabad)" + }, + "ap-southeast-1": { + description: "Asia Pacific (Singapore)" + }, + "ap-southeast-2": { + description: "Asia Pacific (Sydney)" + }, + "ap-southeast-3": { + description: "Asia Pacific (Jakarta)" + }, + "ap-southeast-4": { + description: "Asia Pacific (Melbourne)" + }, + "aws-global": { + description: "AWS Standard global region" + }, + "ca-central-1": { + description: "Canada (Central)" + }, + "eu-central-1": { + description: "Europe (Frankfurt)" + }, + "eu-central-2": { + description: "Europe (Zurich)" + }, + "eu-north-1": { + description: "Europe (Stockholm)" + }, + "eu-south-1": { + description: "Europe (Milan)" + }, + "eu-south-2": { + description: "Europe (Spain)" + }, + "eu-west-1": { + description: "Europe (Ireland)" + }, + "eu-west-2": { + description: "Europe (London)" + }, + "eu-west-3": { + description: "Europe (Paris)" + }, + "il-central-1": { + description: "Israel (Tel Aviv)" + }, + "me-central-1": { + description: "Middle East (UAE)" + }, + "me-south-1": { + description: "Middle East (Bahrain)" + }, + "sa-east-1": { + description: "South America (Sao Paulo)" + }, + "us-east-1": { + description: "US East (N. Virginia)" + }, + "us-east-2": { + description: "US East (Ohio)" + }, + "us-west-1": { + description: "US West (N. California)" + }, + "us-west-2": { + description: "US West (Oregon)" + } + } + }, { + id: "aws-cn", + outputs: { + dnsSuffix: "amazonaws.com.cn", + dualStackDnsSuffix: "api.amazonwebservices.com.cn", + name: "aws-cn", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^cn\\-\\w+\\-\\d+$", + regions: { + "aws-cn-global": { + description: "AWS China global region" + }, + "cn-north-1": { + description: "China (Beijing)" + }, + "cn-northwest-1": { + description: "China (Ningxia)" + } + } + }, { + id: "aws-us-gov", + outputs: { + dnsSuffix: "amazonaws.com", + dualStackDnsSuffix: "api.aws", + name: "aws-us-gov", + supportsDualStack: true, + supportsFIPS: true + }, + regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", + regions: { + "aws-us-gov-global": { + description: "AWS GovCloud (US) global region" + }, + "us-gov-east-1": { + description: "AWS GovCloud (US-East)" + }, + "us-gov-west-1": { + description: "AWS GovCloud (US-West)" + } + } + }, { + id: "aws-iso", + outputs: { + dnsSuffix: "c2s.ic.gov", + dualStackDnsSuffix: "c2s.ic.gov", + name: "aws-iso", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", + regions: { + "aws-iso-global": { + description: "AWS ISO (US) global region" + }, + "us-iso-east-1": { + description: "US ISO East" + }, + "us-iso-west-1": { + description: "US ISO WEST" + } + } + }, { + id: "aws-iso-b", + outputs: { + dnsSuffix: "sc2s.sgov.gov", + dualStackDnsSuffix: "sc2s.sgov.gov", + name: "aws-iso-b", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isob\\-\\w+\\-\\d+$", + regions: { + "aws-iso-b-global": { + description: "AWS ISOB (US) global region" + }, + "us-isob-east-1": { + description: "US ISOB East (Ohio)" + } + } + }, { + id: "aws-iso-e", + outputs: { + dnsSuffix: "cloud.adc-e.uk", + dualStackDnsSuffix: "cloud.adc-e.uk", + name: "aws-iso-e", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$", + regions: {} + }, { + id: "aws-iso-f", + outputs: { + dnsSuffix: "csp.hci.ic.gov", + dualStackDnsSuffix: "csp.hci.ic.gov", + name: "aws-iso-f", + supportsDualStack: false, + supportsFIPS: true + }, + regionRegex: "^us\\-isof\\-\\w+\\-\\d+$", + regions: {} + }], + version: "1.1" + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js +var require_partition = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUserAgentPrefix = exports.useDefaultPartitionInfo = exports.setPartitionInfo = exports.partition = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var partitions_json_1 = tslib_1.__importDefault(require_partitions()); + var selectedPartitionsInfo = partitions_json_1.default; + var selectedUserAgentPrefix = ""; + var partition = (value) => { + const { partitions } = selectedPartitionsInfo; + for (const partition2 of partitions) { + const { regions, outputs } = partition2; + for (const [region, regionData] of Object.entries(regions)) { + if (region === value) { + return { + ...outputs, + ...regionData + }; + } + } + } + for (const partition2 of partitions) { + const { regionRegex, outputs } = partition2; + if (new RegExp(regionRegex).test(value)) { + return { + ...outputs + }; + } + } + const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); + if (!DEFAULT_PARTITION) { + throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist."); + } + return { + ...DEFAULT_PARTITION.outputs + }; + }; + exports.partition = partition; + var setPartitionInfo = (partitionsInfo, userAgentPrefix = "") => { + selectedPartitionsInfo = partitionsInfo; + selectedUserAgentPrefix = userAgentPrefix; + }; + exports.setPartitionInfo = setPartitionInfo; + var useDefaultPartitionInfo = () => { + (0, exports.setPartitionInfo)(partitions_json_1.default, ""); + }; + exports.useDefaultPartitionInfo = useDefaultPartitionInfo; + var getUserAgentPrefix = () => selectedUserAgentPrefix; + exports.getUserAgentPrefix = getUserAgentPrefix; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js +var require_isIpAddress = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isIpAddress.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isIpAddress = void 0; + var IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`); + var isIpAddress = (value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"); + exports.isIpAddress = isIpAddress; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js +var require_debugId = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/debugId.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.debugId = void 0; + exports.debugId = "endpoints"; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js +var require_toDebugString = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/toDebugString.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toDebugString = void 0; + function toDebugString(input) { + if (typeof input !== "object" || input == null) { + return input; + } + if ("ref" in input) { + return `$${toDebugString(input.ref)}`; + } + if ("fn" in input) { + return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; + } + return JSON.stringify(input, null, 2); + } + exports.toDebugString = toDebugString; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js +var require_debug = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/debug/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_debugId(), exports); + tslib_1.__exportStar(require_toDebugString(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js +var require_EndpointError = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointError = void 0; + var EndpointError = class extends Error { + constructor(message) { + super(message); + this.name = "EndpointError"; + } + }; + exports.EndpointError = EndpointError; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js +var require_EndpointRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/EndpointRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js +var require_ErrorRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/ErrorRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js +var require_RuleSetObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/RuleSetObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js +var require_TreeRuleObject2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/TreeRuleObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js +var require_shared2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js +var require_types2 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/types/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_EndpointError(), exports); + tslib_1.__exportStar(require_EndpointRuleObject2(), exports); + tslib_1.__exportStar(require_ErrorRuleObject2(), exports); + tslib_1.__exportStar(require_RuleSetObject2(), exports); + tslib_1.__exportStar(require_TreeRuleObject2(), exports); + tslib_1.__exportStar(require_shared2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js +var require_isValidHostLabel = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isValidHostLabel.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isValidHostLabel = void 0; + var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); + var isValidHostLabel = (value, allowSubDomains = false) => { + if (!allowSubDomains) { + return VALID_HOST_LABEL_REGEX.test(value); + } + const labels = value.split("."); + for (const label of labels) { + if (!(0, exports.isValidHostLabel)(label)) { + return false; + } + } + return true; + }; + exports.isValidHostLabel = isValidHostLabel; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js +var require_isVirtualHostableS3Bucket = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/isVirtualHostableS3Bucket.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isVirtualHostableS3Bucket = void 0; + var isIpAddress_1 = require_isIpAddress(); + var isValidHostLabel_1 = require_isValidHostLabel(); + var isVirtualHostableS3Bucket = (value, allowSubDomains = false) => { + if (allowSubDomains) { + for (const label of value.split(".")) { + if (!(0, exports.isVirtualHostableS3Bucket)(label)) { + return false; + } + } + return true; + } + if (!(0, isValidHostLabel_1.isValidHostLabel)(value)) { + return false; + } + if (value.length < 3 || value.length > 63) { + return false; + } + if (value !== value.toLowerCase()) { + return false; + } + if ((0, isIpAddress_1.isIpAddress)(value)) { + return false; + } + return true; + }; + exports.isVirtualHostableS3Bucket = isVirtualHostableS3Bucket; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js +var require_parseArn = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/parseArn.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseArn = void 0; + var parseArn = (value) => { + const segments = value.split(":"); + if (segments.length < 6) + return null; + const [arn, partition, service, region, accountId, ...resourceId] = segments; + if (arn !== "arn" || partition === "" || service === "" || resourceId[0] === "") + return null; + return { + partition, + service, + region, + accountId, + resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId + }; + }; + exports.parseArn = parseArn; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js +var require_aws = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_isVirtualHostableS3Bucket(), exports); + tslib_1.__exportStar(require_parseArn(), exports); + tslib_1.__exportStar(require_partition(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js +var require_booleanEquals = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/booleanEquals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.booleanEquals = void 0; + var booleanEquals = (value1, value2) => value1 === value2; + exports.booleanEquals = booleanEquals; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js +var require_getAttrPathList = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttrPathList.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAttrPathList = void 0; + var types_1 = require_types2(); + var getAttrPathList = (path) => { + const parts = path.split("."); + const pathList = []; + for (const part of parts) { + const squareBracketIndex = part.indexOf("["); + if (squareBracketIndex !== -1) { + if (part.indexOf("]") !== part.length - 1) { + throw new types_1.EndpointError(`Path: '${path}' does not end with ']'`); + } + const arrayIndex = part.slice(squareBracketIndex + 1, -1); + if (Number.isNaN(parseInt(arrayIndex))) { + throw new types_1.EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`); + } + if (squareBracketIndex !== 0) { + pathList.push(part.slice(0, squareBracketIndex)); + } + pathList.push(arrayIndex); + } else { + pathList.push(part); + } + } + return pathList; + }; + exports.getAttrPathList = getAttrPathList; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js +var require_getAttr = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/getAttr.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAttr = void 0; + var types_1 = require_types2(); + var getAttrPathList_1 = require_getAttrPathList(); + var getAttr = (value, path) => (0, getAttrPathList_1.getAttrPathList)(path).reduce((acc, index) => { + if (typeof acc !== "object") { + throw new types_1.EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); + } else if (Array.isArray(acc)) { + return acc[parseInt(index)]; + } + return acc[index]; + }, value); + exports.getAttr = getAttr; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js +var require_isSet = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/isSet.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isSet = void 0; + var isSet = (value) => value != null; + exports.isSet = isSet; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js +var require_not = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/not.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.not = void 0; + var not = (value) => !value; + exports.not = not; + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/abort.js +var require_abort2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/abort.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/auth.js +var require_auth2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/auth.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpAuthLocation = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "HttpAuthLocation", { enumerable: true, get: function() { + return types_1.HttpAuthLocation; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js +var require_blob_types = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/blob/blob-types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js +var require_checksum2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/checksum.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/client.js +var require_client2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/command.js +var require_command2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/connection.js +var require_connection2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/connection.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js +var require_credentials = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/credentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js +var require_crypto2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/crypto.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/dns.js +var require_dns = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/dns.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HostAddressType = void 0; + var HostAddressType; + (function(HostAddressType2) { + HostAddressType2["AAAA"] = "AAAA"; + HostAddressType2["A"] = "A"; + })(HostAddressType = exports.HostAddressType || (exports.HostAddressType = {})); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/encode.js +var require_encode2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/encode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js +var require_endpoint2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointURLScheme = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "EndpointURLScheme", { enumerable: true, get: function() { + return types_1.EndpointURLScheme; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js +var require_eventStream2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/eventStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/http.js +var require_http2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/http.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js +var require_AnonymousIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js +var require_AwsCredentialIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js +var require_Identity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js +var require_LoginIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js +var require_TokenIdentity = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js +var require_identity3 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/identity/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AnonymousIdentity(), exports); + tslib_1.__exportStar(require_AwsCredentialIdentity(), exports); + tslib_1.__exportStar(require_Identity(), exports); + tslib_1.__exportStar(require_LoginIdentity(), exports); + tslib_1.__exportStar(require_TokenIdentity(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/logger.js +var require_logger2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/logger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js +var require_middleware2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js +var require_pagination2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/pagination.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/profile.js +var require_profile2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/profile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/request.js +var require_request = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/request.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/response.js +var require_response2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/response.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/retry.js +var require_retry2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/serde.js +var require_serde2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/serde.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js +var require_shapes2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/shapes.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/signature.js +var require_signature2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/signature.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/stream.js +var require_stream2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/stream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/token.js +var require_token = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/token.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js +var require_transfer2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/transfer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.RequestHandlerProtocol = void 0; + var types_1 = require_dist_cjs(); + Object.defineProperty(exports, "RequestHandlerProtocol", { enumerable: true, get: function() { + return types_1.RequestHandlerProtocol; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/uri.js +var require_uri2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/uri.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/util.js +var require_util2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js +var require_waiter2 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/waiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/types/dist-cjs/index.js +var require_dist_cjs17 = __commonJS({ + "../../../node_modules/@aws-sdk/types/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_abort2(), exports); + tslib_1.__exportStar(require_auth2(), exports); + tslib_1.__exportStar(require_blob_types(), exports); + tslib_1.__exportStar(require_checksum2(), exports); + tslib_1.__exportStar(require_client2(), exports); + tslib_1.__exportStar(require_command2(), exports); + tslib_1.__exportStar(require_connection2(), exports); + tslib_1.__exportStar(require_credentials(), exports); + tslib_1.__exportStar(require_crypto2(), exports); + tslib_1.__exportStar(require_dns(), exports); + tslib_1.__exportStar(require_encode2(), exports); + tslib_1.__exportStar(require_endpoint2(), exports); + tslib_1.__exportStar(require_eventStream2(), exports); + tslib_1.__exportStar(require_http2(), exports); + tslib_1.__exportStar(require_identity3(), exports); + tslib_1.__exportStar(require_logger2(), exports); + tslib_1.__exportStar(require_middleware2(), exports); + tslib_1.__exportStar(require_pagination2(), exports); + tslib_1.__exportStar(require_profile2(), exports); + tslib_1.__exportStar(require_request(), exports); + tslib_1.__exportStar(require_response2(), exports); + tslib_1.__exportStar(require_retry2(), exports); + tslib_1.__exportStar(require_serde2(), exports); + tslib_1.__exportStar(require_shapes2(), exports); + tslib_1.__exportStar(require_signature2(), exports); + tslib_1.__exportStar(require_stream2(), exports); + tslib_1.__exportStar(require_token(), exports); + tslib_1.__exportStar(require_transfer2(), exports); + tslib_1.__exportStar(require_uri2(), exports); + tslib_1.__exportStar(require_util2(), exports); + tslib_1.__exportStar(require_waiter2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js +var require_parseURL = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/parseURL.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseURL = void 0; + var types_1 = require_dist_cjs17(); + var isIpAddress_1 = require_isIpAddress(); + var DEFAULT_PORTS = { + [types_1.EndpointURLScheme.HTTP]: 80, + [types_1.EndpointURLScheme.HTTPS]: 443 + }; + var parseURL = (value) => { + const whatwgURL = (() => { + try { + if (value instanceof URL) { + return value; + } + if (typeof value === "object" && "hostname" in value) { + const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; + const url2 = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); + url2.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); + return url2; + } + return new URL(value); + } catch (error) { + return null; + } + })(); + if (!whatwgURL) { + console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); + return null; + } + const urlString = whatwgURL.href; + const { host, hostname, pathname, protocol, search } = whatwgURL; + if (search) { + return null; + } + const scheme = protocol.slice(0, -1); + if (!Object.values(types_1.EndpointURLScheme).includes(scheme)) { + return null; + } + const isIp = (0, isIpAddress_1.isIpAddress)(hostname); + const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); + const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; + return { + scheme, + authority, + path: pathname, + normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, + isIp + }; + }; + exports.parseURL = parseURL; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js +var require_stringEquals = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/stringEquals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.stringEquals = void 0; + var stringEquals = (value1, value2) => value1 === value2; + exports.stringEquals = stringEquals; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js +var require_substring = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/substring.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.substring = void 0; + var substring = (input, start, stop, reverse) => { + if (start >= stop || input.length < stop) { + return null; + } + if (!reverse) { + return input.substring(start, stop); + } + return input.substring(input.length - stop, input.length - start); + }; + exports.substring = substring; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js +var require_uriEncode = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/uriEncode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.uriEncode = void 0; + var uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`); + exports.uriEncode = uriEncode; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js +var require_lib = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.aws = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + exports.aws = tslib_1.__importStar(require_aws()); + tslib_1.__exportStar(require_booleanEquals(), exports); + tslib_1.__exportStar(require_getAttr(), exports); + tslib_1.__exportStar(require_isSet(), exports); + tslib_1.__exportStar(require_isValidHostLabel(), exports); + tslib_1.__exportStar(require_not(), exports); + tslib_1.__exportStar(require_parseURL(), exports); + tslib_1.__exportStar(require_stringEquals(), exports); + tslib_1.__exportStar(require_substring(), exports); + tslib_1.__exportStar(require_uriEncode(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js +var require_evaluateTemplate = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTemplate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateTemplate = void 0; + var lib_1 = require_lib(); + var evaluateTemplate = (template, options) => { + const evaluatedTemplateArr = []; + const templateContext = { + ...options.endpointParams, + ...options.referenceRecord + }; + let currentIndex = 0; + while (currentIndex < template.length) { + const openingBraceIndex = template.indexOf("{", currentIndex); + if (openingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(currentIndex)); + break; + } + evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); + const closingBraceIndex = template.indexOf("}", openingBraceIndex); + if (closingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(openingBraceIndex)); + break; + } + if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { + evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); + currentIndex = closingBraceIndex + 2; + } + const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); + if (parameterName.includes("#")) { + const [refName, attrName] = parameterName.split("#"); + evaluatedTemplateArr.push((0, lib_1.getAttr)(templateContext[refName], attrName)); + } else { + evaluatedTemplateArr.push(templateContext[parameterName]); + } + currentIndex = closingBraceIndex + 1; + } + return evaluatedTemplateArr.join(""); + }; + exports.evaluateTemplate = evaluateTemplate; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js +var require_getReferenceValue = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getReferenceValue.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getReferenceValue = void 0; + var getReferenceValue = ({ ref }, options) => { + const referenceRecord = { + ...options.endpointParams, + ...options.referenceRecord + }; + return referenceRecord[ref]; + }; + exports.getReferenceValue = getReferenceValue; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js +var require_evaluateExpression = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateExpression.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateExpression = void 0; + var types_1 = require_types2(); + var callFunction_1 = require_callFunction(); + var evaluateTemplate_1 = require_evaluateTemplate(); + var getReferenceValue_1 = require_getReferenceValue(); + var evaluateExpression = (obj, keyName, options) => { + if (typeof obj === "string") { + return (0, evaluateTemplate_1.evaluateTemplate)(obj, options); + } else if (obj["fn"]) { + return (0, callFunction_1.callFunction)(obj, options); + } else if (obj["ref"]) { + return (0, getReferenceValue_1.getReferenceValue)(obj, options); + } + throw new types_1.EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`); + }; + exports.evaluateExpression = evaluateExpression; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js +var require_callFunction = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/callFunction.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.callFunction = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var lib = tslib_1.__importStar(require_lib()); + var evaluateExpression_1 = require_evaluateExpression(); + var callFunction = ({ fn, argv }, options) => { + const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : (0, evaluateExpression_1.evaluateExpression)(arg, "arg", options)); + return fn.split(".").reduce((acc, key) => acc[key], lib)(...evaluatedArgs); + }; + exports.callFunction = callFunction; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js +var require_evaluateCondition = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateCondition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateCondition = void 0; + var debug_1 = require_debug(); + var types_1 = require_types2(); + var callFunction_1 = require_callFunction(); + var evaluateCondition = ({ assign, ...fnArgs }, options) => { + var _a, _b; + if (assign && assign in options.referenceRecord) { + throw new types_1.EndpointError(`'${assign}' is already defined in Reference Record.`); + } + const value = (0, callFunction_1.callFunction)(fnArgs, options); + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `evaluateCondition: ${(0, debug_1.toDebugString)(fnArgs)} = ${(0, debug_1.toDebugString)(value)}`); + return { + result: value === "" ? true : !!value, + ...assign != null && { toAssign: { name: assign, value } } + }; + }; + exports.evaluateCondition = evaluateCondition; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js +var require_evaluateConditions = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateConditions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateConditions = void 0; + var debug_1 = require_debug(); + var evaluateCondition_1 = require_evaluateCondition(); + var evaluateConditions = (conditions = [], options) => { + var _a, _b; + const conditionsReferenceRecord = {}; + for (const condition of conditions) { + const { result, toAssign } = (0, evaluateCondition_1.evaluateCondition)(condition, { + ...options, + referenceRecord: { + ...options.referenceRecord, + ...conditionsReferenceRecord + } + }); + if (!result) { + return { result }; + } + if (toAssign) { + conditionsReferenceRecord[toAssign.name] = toAssign.value; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `assign: ${toAssign.name} := ${(0, debug_1.toDebugString)(toAssign.value)}`); + } + } + return { result: true, referenceRecord: conditionsReferenceRecord }; + }; + exports.evaluateConditions = evaluateConditions; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js +var require_getEndpointHeaders = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointHeaders.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointHeaders = void 0; + var types_1 = require_types2(); + var evaluateExpression_1 = require_evaluateExpression(); + var getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({ + ...acc, + [headerKey]: headerVal.map((headerValEntry) => { + const processedExpr = (0, evaluateExpression_1.evaluateExpression)(headerValEntry, "Header value entry", options); + if (typeof processedExpr !== "string") { + throw new types_1.EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`); + } + return processedExpr; + }) + }), {}); + exports.getEndpointHeaders = getEndpointHeaders; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js +var require_getEndpointProperty = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointProperty = void 0; + var types_1 = require_types2(); + var evaluateTemplate_1 = require_evaluateTemplate(); + var getEndpointProperties_1 = require_getEndpointProperties(); + var getEndpointProperty = (property, options) => { + if (Array.isArray(property)) { + return property.map((propertyEntry) => (0, exports.getEndpointProperty)(propertyEntry, options)); + } + switch (typeof property) { + case "string": + return (0, evaluateTemplate_1.evaluateTemplate)(property, options); + case "object": + if (property === null) { + throw new types_1.EndpointError(`Unexpected endpoint property: ${property}`); + } + return (0, getEndpointProperties_1.getEndpointProperties)(property, options); + case "boolean": + return property; + default: + throw new types_1.EndpointError(`Unexpected endpoint property type: ${typeof property}`); + } + }; + exports.getEndpointProperty = getEndpointProperty; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js +var require_getEndpointProperties = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointProperties.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointProperties = void 0; + var getEndpointProperty_1 = require_getEndpointProperty(); + var getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({ + ...acc, + [propertyKey]: (0, getEndpointProperty_1.getEndpointProperty)(propertyVal, options) + }), {}); + exports.getEndpointProperties = getEndpointProperties; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js +var require_getEndpointUrl = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/getEndpointUrl.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointUrl = void 0; + var types_1 = require_types2(); + var evaluateExpression_1 = require_evaluateExpression(); + var getEndpointUrl = (endpointUrl, options) => { + const expression = (0, evaluateExpression_1.evaluateExpression)(endpointUrl, "Endpoint URL", options); + if (typeof expression === "string") { + try { + return new URL(expression); + } catch (error) { + console.error(`Failed to construct URL with ${expression}`, error); + throw error; + } + } + throw new types_1.EndpointError(`Endpoint URL must be a string, got ${typeof expression}`); + }; + exports.getEndpointUrl = getEndpointUrl; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js +var require_evaluateEndpointRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateEndpointRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateEndpointRule = void 0; + var debug_1 = require_debug(); + var evaluateConditions_1 = require_evaluateConditions(); + var getEndpointHeaders_1 = require_getEndpointHeaders(); + var getEndpointProperties_1 = require_getEndpointProperties(); + var getEndpointUrl_1 = require_getEndpointUrl(); + var evaluateEndpointRule = (endpointRule, options) => { + var _a, _b; + const { conditions, endpoint } = endpointRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + const endpointRuleOptions = { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }; + const { url: url2, properties, headers } = endpoint; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, debug_1.debugId, `Resolving endpoint from template: ${(0, debug_1.toDebugString)(endpoint)}`); + return { + ...headers != void 0 && { + headers: (0, getEndpointHeaders_1.getEndpointHeaders)(headers, endpointRuleOptions) + }, + ...properties != void 0 && { + properties: (0, getEndpointProperties_1.getEndpointProperties)(properties, endpointRuleOptions) + }, + url: (0, getEndpointUrl_1.getEndpointUrl)(url2, endpointRuleOptions) + }; + }; + exports.evaluateEndpointRule = evaluateEndpointRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js +var require_evaluateErrorRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateErrorRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateErrorRule = void 0; + var types_1 = require_types2(); + var evaluateConditions_1 = require_evaluateConditions(); + var evaluateExpression_1 = require_evaluateExpression(); + var evaluateErrorRule = (errorRule, options) => { + const { conditions, error } = errorRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + throw new types_1.EndpointError((0, evaluateExpression_1.evaluateExpression)(error, "Error", { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + })); + }; + exports.evaluateErrorRule = evaluateErrorRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js +var require_evaluateTreeRule = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateTreeRule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateTreeRule = void 0; + var evaluateConditions_1 = require_evaluateConditions(); + var evaluateRules_1 = require_evaluateRules(); + var evaluateTreeRule = (treeRule, options) => { + const { conditions, rules } = treeRule; + const { result, referenceRecord } = (0, evaluateConditions_1.evaluateConditions)(conditions, options); + if (!result) { + return; + } + return (0, evaluateRules_1.evaluateRules)(rules, { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + }); + }; + exports.evaluateTreeRule = evaluateTreeRule; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js +var require_evaluateRules = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/evaluateRules.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.evaluateRules = void 0; + var types_1 = require_types2(); + var evaluateEndpointRule_1 = require_evaluateEndpointRule(); + var evaluateErrorRule_1 = require_evaluateErrorRule(); + var evaluateTreeRule_1 = require_evaluateTreeRule(); + var evaluateRules = (rules, options) => { + for (const rule of rules) { + if (rule.type === "endpoint") { + const endpointOrUndefined = (0, evaluateEndpointRule_1.evaluateEndpointRule)(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else if (rule.type === "error") { + (0, evaluateErrorRule_1.evaluateErrorRule)(rule, options); + } else if (rule.type === "tree") { + const endpointOrUndefined = (0, evaluateTreeRule_1.evaluateTreeRule)(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else { + throw new types_1.EndpointError(`Unknown endpoint rule: ${rule}`); + } + } + throw new types_1.EndpointError(`Rules evaluation failed`); + }; + exports.evaluateRules = evaluateRules; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js +var require_utils = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/utils/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_evaluateRules(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js +var require_resolveEndpoint = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/resolveEndpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpoint = void 0; + var debug_1 = require_debug(); + var types_1 = require_types2(); + var utils_1 = require_utils(); + var resolveEndpoint = (ruleSetObject, options) => { + var _a, _b, _c, _d, _e, _f; + const { endpointParams, logger } = options; + const { parameters, rules } = ruleSetObject; + (_b = (_a = options.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, `${debug_1.debugId} Initial EndpointParams: ${(0, debug_1.toDebugString)(endpointParams)}`); + const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]); + if (paramsWithDefault.length > 0) { + for (const [paramKey, paramDefaultValue] of paramsWithDefault) { + endpointParams[paramKey] = (_c = endpointParams[paramKey]) !== null && _c !== void 0 ? _c : paramDefaultValue; + } + } + const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k); + for (const requiredParam of requiredParams) { + if (endpointParams[requiredParam] == null) { + throw new types_1.EndpointError(`Missing required parameter: '${requiredParam}'`); + } + } + const endpoint = (0, utils_1.evaluateRules)(rules, { endpointParams, logger, referenceRecord: {} }); + if ((_d = options.endpointParams) === null || _d === void 0 ? void 0 : _d.Endpoint) { + try { + const givenEndpoint = new URL(options.endpointParams.Endpoint); + const { protocol, port } = givenEndpoint; + endpoint.url.protocol = protocol; + endpoint.url.port = port; + } catch (e) { + } + } + (_f = (_e = options.logger) === null || _e === void 0 ? void 0 : _e.debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${debug_1.debugId} Resolved endpoint: ${(0, debug_1.toDebugString)(endpoint)}`); + return endpoint; + }; + exports.resolveEndpoint = resolveEndpoint; + } +}); + +// ../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +var require_dist_cjs18 = __commonJS({ + "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_partition(), exports); + tslib_1.__exportStar(require_isIpAddress(), exports); + tslib_1.__exportStar(require_resolveEndpoint(), exports); + tslib_1.__exportStar(require_types2(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js +var require_constants2 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UA_ESCAPE_CHAR = exports.UA_VALUE_ESCAPE_REGEX = exports.UA_NAME_ESCAPE_REGEX = exports.UA_NAME_SEPARATOR = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0; + exports.USER_AGENT = "user-agent"; + exports.X_AMZ_USER_AGENT = "x-amz-user-agent"; + exports.SPACE = " "; + exports.UA_NAME_SEPARATOR = "/"; + exports.UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; + exports.UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; + exports.UA_ESCAPE_CHAR = "-"; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js +var require_user_agent_middleware = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/user-agent-middleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var protocol_http_1 = require_dist_cjs2(); + var constants_1 = require_constants2(); + var userAgentMiddleware = (options) => (next, context) => async (args) => { + var _a, _b; + const { request: request2 } = args; + if (!protocol_http_1.HttpRequest.isInstance(request2)) + return next(args); + const { headers } = request2; + const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || []; + const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent); + const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || []; + const prefix = (0, util_endpoints_1.getUserAgentPrefix)(); + const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(constants_1.SPACE); + const normalUAValue = [ + ...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")), + ...customUserAgent + ].join(constants_1.SPACE); + if (options.runtime !== "browser") { + if (normalUAValue) { + headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT] ? `${headers[constants_1.USER_AGENT]} ${normalUAValue}` : normalUAValue; + } + headers[constants_1.USER_AGENT] = sdkUserAgentValue; + } else { + headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue; + } + return next({ + ...args, + request: request2 + }); + }; + exports.userAgentMiddleware = userAgentMiddleware; + var escapeUserAgent = (userAgentPair) => { + var _a; + const name = userAgentPair[0].split(constants_1.UA_NAME_SEPARATOR).map((part) => part.replace(constants_1.UA_NAME_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR)).join(constants_1.UA_NAME_SEPARATOR); + const version2 = (_a = userAgentPair[1]) === null || _a === void 0 ? void 0 : _a.replace(constants_1.UA_VALUE_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR); + const prefixSeparatorIndex = name.indexOf(constants_1.UA_NAME_SEPARATOR); + const prefix = name.substring(0, prefixSeparatorIndex); + let uaName = name.substring(prefixSeparatorIndex + 1); + if (prefix === "api") { + uaName = uaName.toLowerCase(); + } + return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { + switch (index) { + case 0: + return item; + case 1: + return `${acc}/${item}`; + default: + return `${acc}#${item}`; + } + }, ""); + }; + exports.getUserAgentMiddlewareOptions = { + name: "getUserAgentMiddleware", + step: "build", + priority: "low", + tags: ["SET_USER_AGENT", "USER_AGENT"], + override: true + }; + var getUserAgentPlugin = (config) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions); + } + }); + exports.getUserAgentPlugin = getUserAgentPlugin; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +var require_dist_cjs19 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_configurations(), exports); + tslib_1.__exportStar(require_user_agent_middleware(), exports); + } +}); + +// ../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js +var require_booleanSelector = __commonJS({ + "../../../node_modules/@smithy/util-config-provider/dist-cjs/booleanSelector.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.booleanSelector = exports.SelectorType = void 0; + var SelectorType; + (function(SelectorType2) { + SelectorType2["ENV"] = "env"; + SelectorType2["CONFIG"] = "shared config entry"; + })(SelectorType = exports.SelectorType || (exports.SelectorType = {})); + var booleanSelector = (obj, key, type) => { + if (!(key in obj)) + return void 0; + if (obj[key] === "true") + return true; + if (obj[key] === "false") + return false; + throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); + }; + exports.booleanSelector = booleanSelector; + } +}); + +// ../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js +var require_dist_cjs20 = __commonJS({ + "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_booleanSelector(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js +var require_NodeUseDualstackEndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_DUALSTACK_ENDPOINT = exports.CONFIG_USE_DUALSTACK_ENDPOINT = exports.ENV_USE_DUALSTACK_ENDPOINT = void 0; + var util_config_provider_1 = require_dist_cjs20(); + exports.ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; + exports.CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; + exports.DEFAULT_USE_DUALSTACK_ENDPOINT = false; + exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.ENV), + configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_DUALSTACK_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), + default: false + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js +var require_NodeUseFipsEndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/NodeUseFipsEndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = exports.DEFAULT_USE_FIPS_ENDPOINT = exports.CONFIG_USE_FIPS_ENDPOINT = exports.ENV_USE_FIPS_ENDPOINT = void 0; + var util_config_provider_1 = require_dist_cjs20(); + exports.ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; + exports.CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; + exports.DEFAULT_USE_FIPS_ENDPOINT = false; + exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => (0, util_config_provider_1.booleanSelector)(env, exports.ENV_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.ENV), + configFileSelector: (profile) => (0, util_config_provider_1.booleanSelector)(profile, exports.CONFIG_USE_FIPS_ENDPOINT, util_config_provider_1.SelectorType.CONFIG), + default: false + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js +var require_resolveCustomEndpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveCustomEndpointsConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveCustomEndpointsConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var resolveCustomEndpointsConfig = (input) => { + var _a, _b; + const { endpoint, urlParser } = input; + return { + ...input, + tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, + endpoint: (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), + isCustomEndpoint: true, + useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false) + }; + }; + exports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js +var require_getEndpointFromRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/utils/getEndpointFromRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointFromRegion = void 0; + var getEndpointFromRegion = async (input) => { + var _a; + const { tls = true } = input; + const region = await input.region(); + const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); + if (!dnsHostRegex.test(region)) { + throw new Error("Invalid region in client config"); + } + const useDualstackEndpoint = await input.useDualstackEndpoint(); + const useFipsEndpoint = await input.useFipsEndpoint(); + const { hostname } = (_a = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) !== null && _a !== void 0 ? _a : {}; + if (!hostname) { + throw new Error("Cannot resolve hostname from client config"); + } + return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); + }; + exports.getEndpointFromRegion = getEndpointFromRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js +var require_resolveEndpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpointsConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var getEndpointFromRegion_1 = require_getEndpointFromRegion(); + var resolveEndpointsConfig = (input) => { + var _a, _b; + const useDualstackEndpoint = (0, util_middleware_1.normalizeProvider)((_a = input.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false); + const { endpoint, useFipsEndpoint, urlParser } = input; + return { + ...input, + tls: (_b = input.tls) !== null && _b !== void 0 ? _b : true, + endpoint: endpoint ? (0, util_middleware_1.normalizeProvider)(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => (0, getEndpointFromRegion_1.getEndpointFromRegion)({ ...input, useDualstackEndpoint, useFipsEndpoint }), + isCustomEndpoint: !!endpoint, + useDualstackEndpoint + }; + }; + exports.resolveEndpointsConfig = resolveEndpointsConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js +var require_endpointsConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/endpointsConfig/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_NodeUseDualstackEndpointConfigOptions(), exports); + tslib_1.__exportStar(require_NodeUseFipsEndpointConfigOptions(), exports); + tslib_1.__exportStar(require_resolveCustomEndpointsConfig(), exports); + tslib_1.__exportStar(require_resolveEndpointsConfig(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js +var require_config2 = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_REGION_CONFIG_FILE_OPTIONS = exports.NODE_REGION_CONFIG_OPTIONS = exports.REGION_INI_NAME = exports.REGION_ENV_NAME = void 0; + exports.REGION_ENV_NAME = "AWS_REGION"; + exports.REGION_INI_NAME = "region"; + exports.NODE_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.REGION_ENV_NAME], + configFileSelector: (profile) => profile[exports.REGION_INI_NAME], + default: () => { + throw new Error("Region is missing"); + } + }; + exports.NODE_REGION_CONFIG_FILE_OPTIONS = { + preferredFile: "credentials" + }; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js +var require_isFipsRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/isFipsRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isFipsRegion = void 0; + var isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")); + exports.isFipsRegion = isFipsRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js +var require_getRealRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/getRealRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRealRegion = void 0; + var isFipsRegion_1 = require_isFipsRegion(); + var getRealRegion = (region) => (0, isFipsRegion_1.isFipsRegion)(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region; + exports.getRealRegion = getRealRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js +var require_resolveRegionConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/resolveRegionConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveRegionConfig = void 0; + var getRealRegion_1 = require_getRealRegion(); + var isFipsRegion_1 = require_isFipsRegion(); + var resolveRegionConfig = (input) => { + const { region, useFipsEndpoint } = input; + if (!region) { + throw new Error("Region is missing"); + } + return { + ...input, + region: async () => { + if (typeof region === "string") { + return (0, getRealRegion_1.getRealRegion)(region); + } + const providedRegion = await region(); + return (0, getRealRegion_1.getRealRegion)(providedRegion); + }, + useFipsEndpoint: async () => { + const providedRegion = typeof region === "string" ? region : await region(); + if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) { + return true; + } + return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); + } + }; + }; + exports.resolveRegionConfig = resolveRegionConfig; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js +var require_regionConfig = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionConfig/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_config2(), exports); + tslib_1.__exportStar(require_resolveRegionConfig(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js +var require_PartitionHash = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/PartitionHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js +var require_RegionHash = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/RegionHash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js +var require_getHostnameFromVariants = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getHostnameFromVariants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHostnameFromVariants = void 0; + var getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => { + var _a; + return (_a = variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))) === null || _a === void 0 ? void 0 : _a.hostname; + }; + exports.getHostnameFromVariants = getHostnameFromVariants; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js +var require_getResolvedHostname = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedHostname.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedHostname = void 0; + var getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0; + exports.getResolvedHostname = getResolvedHostname; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js +var require_getResolvedPartition = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedPartition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedPartition = void 0; + var getResolvedPartition = (region, { partitionHash }) => { + var _a; + return (_a = Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region))) !== null && _a !== void 0 ? _a : "aws"; + }; + exports.getResolvedPartition = getResolvedPartition; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js +var require_getResolvedSigningRegion = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getResolvedSigningRegion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getResolvedSigningRegion = void 0; + var getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { + if (signingRegion) { + return signingRegion; + } else if (useFipsEndpoint) { + const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); + const regionRegexmatchArray = hostname.match(regionRegexJs); + if (regionRegexmatchArray) { + return regionRegexmatchArray[0].slice(1, -1); + } + } + }; + exports.getResolvedSigningRegion = getResolvedSigningRegion; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js +var require_getRegionInfo = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/getRegionInfo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRegionInfo = void 0; + var getHostnameFromVariants_1 = require_getHostnameFromVariants(); + var getResolvedHostname_1 = require_getResolvedHostname(); + var getResolvedPartition_1 = require_getResolvedPartition(); + var getResolvedSigningRegion_1 = require_getResolvedSigningRegion(); + var getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => { + var _a, _b, _c, _d, _e, _f; + const partition = (0, getResolvedPartition_1.getResolvedPartition)(region, { partitionHash }); + const resolvedRegion = region in regionHash ? region : (_b = (_a = partitionHash[partition]) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : region; + const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; + const regionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_c = regionHash[resolvedRegion]) === null || _c === void 0 ? void 0 : _c.variants, hostnameOptions); + const partitionHostname = (0, getHostnameFromVariants_1.getHostnameFromVariants)((_d = partitionHash[partition]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions); + const hostname = (0, getResolvedHostname_1.getResolvedHostname)(resolvedRegion, { regionHostname, partitionHostname }); + if (hostname === void 0) { + throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); + } + const signingRegion = (0, getResolvedSigningRegion_1.getResolvedSigningRegion)(hostname, { + signingRegion: (_e = regionHash[resolvedRegion]) === null || _e === void 0 ? void 0 : _e.signingRegion, + regionRegex: partitionHash[partition].regionRegex, + useFipsEndpoint + }); + return { + partition, + signingService, + hostname, + ...signingRegion && { signingRegion }, + ...((_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingService) && { + signingService: regionHash[resolvedRegion].signingService + } + }; + }; + exports.getRegionInfo = getRegionInfo; + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js +var require_regionInfo = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/regionInfo/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_PartitionHash(), exports); + tslib_1.__exportStar(require_RegionHash(), exports); + tslib_1.__exportStar(require_getRegionInfo(), exports); + } +}); + +// ../../../node_modules/@smithy/config-resolver/dist-cjs/index.js +var require_dist_cjs21 = __commonJS({ + "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_endpointsConfig(), exports); + tslib_1.__exportStar(require_regionConfig(), exports); + tslib_1.__exportStar(require_regionInfo(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js +var require_dist_cjs22 = __commonJS({ + "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getContentLengthPlugin = exports.contentLengthMiddlewareOptions = exports.contentLengthMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var CONTENT_LENGTH_HEADER = "content-length"; + function contentLengthMiddleware(bodyLengthChecker) { + return (next) => async (args) => { + const request2 = args.request; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + const { body, headers } = request2; + if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { + try { + const length = bodyLengthChecker(body); + request2.headers = { + ...request2.headers, + [CONTENT_LENGTH_HEADER]: String(length) + }; + } catch (error) { + } + } + } + return next({ + ...args, + request: request2 + }); + }; + } + exports.contentLengthMiddleware = contentLengthMiddleware; + exports.contentLengthMiddlewareOptions = { + step: "build", + tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], + name: "contentLengthMiddleware", + override: true + }; + var getContentLengthPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), exports.contentLengthMiddlewareOptions); + } + }); + exports.getContentLengthPlugin = getContentLengthPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js +var require_s3 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/s3.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0; + var resolveParamsForS3 = async (endpointParams) => { + const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || ""; + if (typeof endpointParams.Bucket === "string") { + endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); + } + if ((0, exports.isArnBucketName)(bucket)) { + if (endpointParams.ForcePathStyle === true) { + throw new Error("Path-style addressing cannot be used with ARN buckets"); + } + } else if (!(0, exports.isDnsCompatibleBucketName)(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { + endpointParams.ForcePathStyle = true; + } + if (endpointParams.DisableMultiRegionAccessPoints) { + endpointParams.disableMultiRegionAccessPoints = true; + endpointParams.DisableMRAP = true; + } + return endpointParams; + }; + exports.resolveParamsForS3 = resolveParamsForS3; + var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; + var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; + var DOTS_PATTERN = /\.\./; + exports.DOT_PATTERN = /\./; + exports.S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./; + var isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName); + exports.isDnsCompatibleBucketName = isDnsCompatibleBucketName; + var isArnBucketName = (bucketName) => { + const [arn, partition, service, region, account, typeOrId] = bucketName.split(":"); + const isArn = arn === "arn" && bucketName.split(":").length >= 6; + const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5; + if (isArn && !isValidArn) { + throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); + } + return arn === "arn" && !!partition && !!service && !!account && !!typeOrId; + }; + exports.isArnBucketName = isArnBucketName; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js +var require_service_customizations = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/service-customizations/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_s3(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js +var require_createConfigValueProvider = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/createConfigValueProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createConfigValueProvider = void 0; + var createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => { + const configProvider = async () => { + var _a; + const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey]; + if (typeof configValue === "function") { + return configValue(); + } + return configValue; + }; + if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { + return async () => { + const endpoint = await configProvider(); + if (endpoint && typeof endpoint === "object") { + if ("url" in endpoint) { + return endpoint.url.href; + } + if ("hostname" in endpoint) { + const { protocol, hostname, port, path } = endpoint; + return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; + } + } + return endpoint; + }; + } + return configProvider; + }; + exports.createConfigValueProvider = createConfigValueProvider; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js +var require_getEndpointFromInstructions = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromInstructions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveParams = exports.getEndpointFromInstructions = void 0; + var service_customizations_1 = require_service_customizations(); + var createConfigValueProvider_1 = require_createConfigValueProvider(); + var getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => { + const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig); + if (typeof clientConfig.endpointProvider !== "function") { + throw new Error("config.endpointProvider is not set."); + } + const endpoint = clientConfig.endpointProvider(endpointParams, context); + return endpoint; + }; + exports.getEndpointFromInstructions = getEndpointFromInstructions; + var resolveParams = async (commandInput, instructionsSupplier, clientConfig) => { + var _a; + const endpointParams = {}; + const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {}; + for (const [name, instruction] of Object.entries(instructions)) { + switch (instruction.type) { + case "staticContextParams": + endpointParams[name] = instruction.value; + break; + case "contextParams": + endpointParams[name] = commandInput[instruction.name]; + break; + case "clientContextParams": + case "builtInParams": + endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)(); + break; + default: + throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); + } + } + if (Object.keys(instructions).length === 0) { + Object.assign(endpointParams, clientConfig); + } + if (String(clientConfig.serviceId).toLowerCase() === "s3") { + await (0, service_customizations_1.resolveParamsForS3)(endpointParams); + } + return endpointParams; + }; + exports.resolveParams = resolveParams; + } +}); + +// ../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js +var require_dist_cjs23 = __commonJS({ + "../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseQueryString = void 0; + function parseQueryString(querystring) { + const query = {}; + querystring = querystring.replace(/^\?/, ""); + if (querystring) { + for (const pair of querystring.split("&")) { + let [key, value = null] = pair.split("="); + key = decodeURIComponent(key); + if (value) { + value = decodeURIComponent(value); + } + if (!(key in query)) { + query[key] = value; + } else if (Array.isArray(query[key])) { + query[key].push(value); + } else { + query[key] = [query[key], value]; + } + } + } + return query; + } + exports.parseQueryString = parseQueryString; + } +}); + +// ../../../node_modules/@smithy/url-parser/dist-cjs/index.js +var require_dist_cjs24 = __commonJS({ + "../../../node_modules/@smithy/url-parser/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseUrl = void 0; + var querystring_parser_1 = require_dist_cjs23(); + var parseUrl = (url2) => { + if (typeof url2 === "string") { + return (0, exports.parseUrl)(new URL(url2)); + } + const { hostname, pathname, port, protocol, search } = url2; + let query; + if (search) { + query = (0, querystring_parser_1.parseQueryString)(search); + } + return { + hostname, + port: port ? parseInt(port) : void 0, + protocol, + path: pathname, + query + }; + }; + exports.parseUrl = parseUrl; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js +var require_toEndpointV1 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toEndpointV1 = void 0; + var url_parser_1 = require_dist_cjs24(); + var toEndpointV1 = (endpoint) => { + if (typeof endpoint === "object") { + if ("url" in endpoint) { + return (0, url_parser_1.parseUrl)(endpoint.url); + } + return endpoint; + } + return (0, url_parser_1.parseUrl)(endpoint); + }; + exports.toEndpointV1 = toEndpointV1; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js +var require_adaptors = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_getEndpointFromInstructions(), exports); + tslib_1.__exportStar(require_toEndpointV1(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js +var require_endpointMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/endpointMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.endpointMiddleware = void 0; + var getEndpointFromInstructions_1 = require_getEndpointFromInstructions(); + var endpointMiddleware = ({ config, instructions }) => { + return (next, context) => async (args) => { + var _a, _b; + const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, { + getEndpointParameterInstructions() { + return instructions; + } + }, { ...config }, context); + context.endpointV2 = endpoint; + context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes; + const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0]; + if (authScheme) { + context["signing_region"] = authScheme.signingRegion; + context["signing_service"] = authScheme.signingName; + } + return next({ + ...args + }); + }; + }; + exports.endpointMiddleware = endpointMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js +var require_deserializerMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.deserializerMiddleware = void 0; + var deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => { + const { response } = await next(args); + try { + const parsed = await deserializer(response, options); + return { + response, + output: parsed + }; + } catch (error) { + Object.defineProperty(error, "$response", { + value: response + }); + if (!("$metadata" in error)) { + const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; + error.message += "\n " + hint; + } + throw error; + } + }; + exports.deserializerMiddleware = deserializerMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js +var require_serializerMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/serializerMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.serializerMiddleware = void 0; + var serializerMiddleware = (options, serializer) => (next, context) => async (args) => { + var _a; + const endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint; + if (!endpoint) { + throw new Error("No valid endpoint provider available."); + } + const request2 = await serializer(args.input, { ...options, endpoint }); + return next({ + ...args, + request: request2 + }); + }; + exports.serializerMiddleware = serializerMiddleware; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js +var require_serdePlugin = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/serdePlugin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSerdePlugin = exports.serializerMiddlewareOption = exports.deserializerMiddlewareOption = void 0; + var deserializerMiddleware_1 = require_deserializerMiddleware(); + var serializerMiddleware_1 = require_serializerMiddleware(); + exports.deserializerMiddlewareOption = { + name: "deserializerMiddleware", + step: "deserialize", + tags: ["DESERIALIZER"], + override: true + }; + exports.serializerMiddlewareOption = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + function getSerdePlugin(config, serializer, deserializer) { + return { + applyToStack: (commandStack) => { + commandStack.add((0, deserializerMiddleware_1.deserializerMiddleware)(config, deserializer), exports.deserializerMiddlewareOption); + commandStack.add((0, serializerMiddleware_1.serializerMiddleware)(config, serializer), exports.serializerMiddlewareOption); + } + }; + } + exports.getSerdePlugin = getSerdePlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js +var require_dist_cjs25 = __commonJS({ + "../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_deserializerMiddleware(), exports); + tslib_1.__exportStar(require_serdePlugin(), exports); + tslib_1.__exportStar(require_serializerMiddleware(), exports); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js +var require_getEndpointPlugin = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/getEndpointPlugin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0; + var middleware_serde_1 = require_dist_cjs25(); + var endpointMiddleware_1 = require_endpointMiddleware(); + exports.endpointMiddlewareOptions = { + step: "serialize", + tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], + name: "endpointV2Middleware", + override: true, + relation: "before", + toMiddleware: middleware_serde_1.serializerMiddlewareOption.name + }; + var getEndpointPlugin = (config, instructions) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({ + config, + instructions + }), exports.endpointMiddlewareOptions); + } + }); + exports.getEndpointPlugin = getEndpointPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js +var require_resolveEndpointConfig = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/resolveEndpointConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveEndpointConfig = void 0; + var util_middleware_1 = require_dist_cjs10(); + var toEndpointV1_1 = require_toEndpointV1(); + var resolveEndpointConfig = (input) => { + var _a, _b, _c; + const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true; + const { endpoint } = input; + const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : void 0; + const isCustomEndpoint = !!endpoint; + return { + ...input, + endpoint: customEndpointProvider, + tls, + isCustomEndpoint, + useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false), + useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false) + }; + }; + exports.resolveEndpointConfig = resolveEndpointConfig; + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js +var require_types3 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +var require_dist_cjs26 = __commonJS({ + "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_adaptors(), exports); + tslib_1.__exportStar(require_endpointMiddleware(), exports); + tslib_1.__exportStar(require_getEndpointPlugin(), exports); + tslib_1.__exportStar(require_resolveEndpointConfig(), exports); + tslib_1.__exportStar(require_types3(), exports); + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/config.js +var require_config3 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DEFAULT_RETRY_MODE = exports.DEFAULT_MAX_ATTEMPTS = exports.RETRY_MODES = void 0; + var RETRY_MODES; + (function(RETRY_MODES2) { + RETRY_MODES2["STANDARD"] = "standard"; + RETRY_MODES2["ADAPTIVE"] = "adaptive"; + })(RETRY_MODES = exports.RETRY_MODES || (exports.RETRY_MODES = {})); + exports.DEFAULT_MAX_ATTEMPTS = 3; + exports.DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD; + } +}); + +// ../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js +var require_constants3 = __commonJS({ + "../../../node_modules/@smithy/service-error-classification/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODEJS_TIMEOUT_ERROR_CODES = exports.TRANSIENT_ERROR_STATUS_CODES = exports.TRANSIENT_ERROR_CODES = exports.THROTTLING_ERROR_CODES = exports.CLOCK_SKEW_ERROR_CODES = void 0; + exports.CLOCK_SKEW_ERROR_CODES = [ + "AuthFailure", + "InvalidSignatureException", + "RequestExpired", + "RequestInTheFuture", + "RequestTimeTooSkewed", + "SignatureDoesNotMatch" + ]; + exports.THROTTLING_ERROR_CODES = [ + "BandwidthLimitExceeded", + "EC2ThrottledException", + "LimitExceededException", + "PriorRequestNotComplete", + "ProvisionedThroughputExceededException", + "RequestLimitExceeded", + "RequestThrottled", + "RequestThrottledException", + "SlowDown", + "ThrottledException", + "Throttling", + "ThrottlingException", + "TooManyRequestsException", + "TransactionInProgressException" + ]; + exports.TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; + exports.TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; + exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; + } +}); + +// ../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js +var require_dist_cjs27 = __commonJS({ + "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isServerError = exports.isTransientError = exports.isThrottlingError = exports.isClockSkewError = exports.isRetryableByTrait = void 0; + var constants_1 = require_constants3(); + var isRetryableByTrait = (error) => error.$retryable !== void 0; + exports.isRetryableByTrait = isRetryableByTrait; + var isClockSkewError = (error) => constants_1.CLOCK_SKEW_ERROR_CODES.includes(error.name); + exports.isClockSkewError = isClockSkewError; + var isThrottlingError = (error) => { + var _a, _b; + return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 || constants_1.THROTTLING_ERROR_CODES.includes(error.name) || ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true; + }; + exports.isThrottlingError = isThrottlingError; + var isTransientError = (error) => { + var _a; + return constants_1.TRANSIENT_ERROR_CODES.includes(error.name) || constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || "") || constants_1.TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0); + }; + exports.isTransientError = isTransientError; + var isServerError = (error) => { + var _a; + if (((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) !== void 0) { + const statusCode = error.$metadata.httpStatusCode; + if (500 <= statusCode && statusCode <= 599 && !(0, exports.isTransientError)(error)) { + return true; + } + return false; + } + return false; + }; + exports.isServerError = isServerError; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js +var require_DefaultRateLimiter = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DefaultRateLimiter = void 0; + var service_error_classification_1 = require_dist_cjs27(); + var DefaultRateLimiter = class { + constructor(options) { + var _a, _b, _c, _d, _e; + this.currentCapacity = 0; + this.enabled = false; + this.lastMaxRate = 0; + this.measuredTxRate = 0; + this.requestCount = 0; + this.lastTimestamp = 0; + this.timeWindow = 0; + this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7; + this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1; + this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5; + this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4; + this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8; + const currentTimeInSeconds = this.getCurrentTimeInSeconds(); + this.lastThrottleTime = currentTimeInSeconds; + this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); + this.fillRate = this.minFillRate; + this.maxCapacity = this.minCapacity; + } + getCurrentTimeInSeconds() { + return Date.now() / 1e3; + } + async getSendToken() { + return this.acquireTokenBucket(1); + } + async acquireTokenBucket(amount) { + if (!this.enabled) { + return; + } + this.refillTokenBucket(); + if (amount > this.currentCapacity) { + const delay = (amount - this.currentCapacity) / this.fillRate * 1e3; + await new Promise((resolve) => setTimeout(resolve, delay)); + } + this.currentCapacity = this.currentCapacity - amount; + } + refillTokenBucket() { + const timestamp = this.getCurrentTimeInSeconds(); + if (!this.lastTimestamp) { + this.lastTimestamp = timestamp; + return; + } + const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; + this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount); + this.lastTimestamp = timestamp; + } + updateClientSendingRate(response) { + let calculatedRate; + this.updateMeasuredRate(); + if ((0, service_error_classification_1.isThrottlingError)(response)) { + const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); + this.lastMaxRate = rateToUse; + this.calculateTimeWindow(); + this.lastThrottleTime = this.getCurrentTimeInSeconds(); + calculatedRate = this.cubicThrottle(rateToUse); + this.enableTokenBucket(); + } else { + this.calculateTimeWindow(); + calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); + } + const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); + this.updateTokenBucketRate(newRate); + } + calculateTimeWindow() { + this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); + } + cubicThrottle(rateToUse) { + return this.getPrecise(rateToUse * this.beta); + } + cubicSuccess(timestamp) { + return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate); + } + enableTokenBucket() { + this.enabled = true; + } + updateTokenBucketRate(newRate) { + this.refillTokenBucket(); + this.fillRate = Math.max(newRate, this.minFillRate); + this.maxCapacity = Math.max(newRate, this.minCapacity); + this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity); + } + updateMeasuredRate() { + const t = this.getCurrentTimeInSeconds(); + const timeBucket = Math.floor(t * 2) / 2; + this.requestCount++; + if (timeBucket > this.lastTxRateBucket) { + const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); + this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); + this.requestCount = 0; + this.lastTxRateBucket = timeBucket; + } + } + getPrecise(num) { + return parseFloat(num.toFixed(8)); + } + }; + exports.DefaultRateLimiter = DefaultRateLimiter; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/constants.js +var require_constants4 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.REQUEST_HEADER = exports.INVOCATION_ID_HEADER = exports.NO_RETRY_INCREMENT = exports.TIMEOUT_RETRY_COST = exports.RETRY_COST = exports.INITIAL_RETRY_TOKENS = exports.THROTTLING_RETRY_DELAY_BASE = exports.MAXIMUM_RETRY_DELAY = exports.DEFAULT_RETRY_DELAY_BASE = void 0; + exports.DEFAULT_RETRY_DELAY_BASE = 100; + exports.MAXIMUM_RETRY_DELAY = 20 * 1e3; + exports.THROTTLING_RETRY_DELAY_BASE = 500; + exports.INITIAL_RETRY_TOKENS = 500; + exports.RETRY_COST = 5; + exports.TIMEOUT_RETRY_COST = 10; + exports.NO_RETRY_INCREMENT = 1; + exports.INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; + exports.REQUEST_HEADER = "amz-sdk-request"; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js +var require_defaultRetryBackoffStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getDefaultRetryBackoffStrategy = void 0; + var constants_1 = require_constants4(); + var getDefaultRetryBackoffStrategy = () => { + let delayBase = constants_1.DEFAULT_RETRY_DELAY_BASE; + const computeNextBackoffDelay = (attempts) => { + return Math.floor(Math.min(constants_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); + }; + const setDelayBase = (delay) => { + delayBase = delay; + }; + return { + computeNextBackoffDelay, + setDelayBase + }; + }; + exports.getDefaultRetryBackoffStrategy = getDefaultRetryBackoffStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js +var require_defaultRetryToken = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createDefaultRetryToken = void 0; + var constants_1 = require_constants4(); + var createDefaultRetryToken = ({ retryDelay, retryCount, retryCost }) => { + const getRetryCount = () => retryCount; + const getRetryDelay = () => Math.min(constants_1.MAXIMUM_RETRY_DELAY, retryDelay); + const getRetryCost = () => retryCost; + return { + getRetryCount, + getRetryDelay, + getRetryCost + }; + }; + exports.createDefaultRetryToken = createDefaultRetryToken; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js +var require_StandardRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StandardRetryStrategy = void 0; + var config_1 = require_config3(); + var constants_1 = require_constants4(); + var defaultRetryBackoffStrategy_1 = require_defaultRetryBackoffStrategy(); + var defaultRetryToken_1 = require_defaultRetryToken(); + var StandardRetryStrategy = class { + constructor(maxAttempts) { + this.maxAttempts = maxAttempts; + this.mode = config_1.RETRY_MODES.STANDARD; + this.capacity = constants_1.INITIAL_RETRY_TOKENS; + this.retryBackoffStrategy = (0, defaultRetryBackoffStrategy_1.getDefaultRetryBackoffStrategy)(); + this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts; + } + async acquireInitialRetryToken(retryTokenScope) { + return (0, defaultRetryToken_1.createDefaultRetryToken)({ + retryDelay: constants_1.DEFAULT_RETRY_DELAY_BASE, + retryCount: 0 + }); + } + async refreshRetryTokenForRetry(token, errorInfo) { + const maxAttempts = await this.getMaxAttempts(); + if (this.shouldRetry(token, errorInfo, maxAttempts)) { + const errorType = errorInfo.errorType; + this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? constants_1.THROTTLING_RETRY_DELAY_BASE : constants_1.DEFAULT_RETRY_DELAY_BASE); + const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); + const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType; + const capacityCost = this.getCapacityCost(errorType); + this.capacity -= capacityCost; + return (0, defaultRetryToken_1.createDefaultRetryToken)({ + retryDelay, + retryCount: token.getRetryCount() + 1, + retryCost: capacityCost + }); + } + throw new Error("No retry token available"); + } + recordSuccess(token) { + var _a; + this.capacity = Math.max(constants_1.INITIAL_RETRY_TOKENS, this.capacity + ((_a = token.getRetryCost()) !== null && _a !== void 0 ? _a : constants_1.NO_RETRY_INCREMENT)); + } + getCapacity() { + return this.capacity; + } + async getMaxAttempts() { + try { + return await this.maxAttemptsProvider(); + } catch (error) { + console.warn(`Max attempts provider could not resolve. Using default of ${config_1.DEFAULT_MAX_ATTEMPTS}`); + return config_1.DEFAULT_MAX_ATTEMPTS; + } + } + shouldRetry(tokenToRenew, errorInfo, maxAttempts) { + const attempts = tokenToRenew.getRetryCount() + 1; + return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType); + } + getCapacityCost(errorType) { + return errorType === "TRANSIENT" ? constants_1.TIMEOUT_RETRY_COST : constants_1.RETRY_COST; + } + isRetryableError(errorType) { + return errorType === "THROTTLING" || errorType === "TRANSIENT"; + } + }; + exports.StandardRetryStrategy = StandardRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js +var require_AdaptiveRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AdaptiveRetryStrategy = void 0; + var config_1 = require_config3(); + var DefaultRateLimiter_1 = require_DefaultRateLimiter(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy(); + var AdaptiveRetryStrategy = class { + constructor(maxAttemptsProvider, options) { + this.maxAttemptsProvider = maxAttemptsProvider; + this.mode = config_1.RETRY_MODES.ADAPTIVE; + const { rateLimiter } = options !== null && options !== void 0 ? options : {}; + this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter_1.DefaultRateLimiter(); + this.standardRetryStrategy = new StandardRetryStrategy_1.StandardRetryStrategy(maxAttemptsProvider); + } + async acquireInitialRetryToken(retryTokenScope) { + await this.rateLimiter.getSendToken(); + return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + this.rateLimiter.updateClientSendingRate(errorInfo); + return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + } + recordSuccess(token) { + this.rateLimiter.updateClientSendingRate({}); + this.standardRetryStrategy.recordSuccess(token); + } + }; + exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js +var require_ConfiguredRetryStrategy = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ConfiguredRetryStrategy = void 0; + var constants_1 = require_constants4(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy(); + var ConfiguredRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { + constructor(maxAttempts, computeNextBackoffDelay = constants_1.DEFAULT_RETRY_DELAY_BASE) { + super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); + if (typeof computeNextBackoffDelay === "number") { + this.computeNextBackoffDelay = () => computeNextBackoffDelay; + } else { + this.computeNextBackoffDelay = computeNextBackoffDelay; + } + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount()); + return token; + } + }; + exports.ConfiguredRetryStrategy = ConfiguredRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/types.js +var require_types4 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/util-retry/dist-cjs/index.js +var require_dist_cjs28 = __commonJS({ + "../../../node_modules/@smithy/util-retry/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AdaptiveRetryStrategy(), exports); + tslib_1.__exportStar(require_ConfiguredRetryStrategy(), exports); + tslib_1.__exportStar(require_DefaultRateLimiter(), exports); + tslib_1.__exportStar(require_StandardRetryStrategy(), exports); + tslib_1.__exportStar(require_config3(), exports); + tslib_1.__exportStar(require_constants4(), exports); + tslib_1.__exportStar(require_types4(), exports); + } +}); + +// ../../../node_modules/uuid/dist/esm-node/rng.js +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + import_crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +var import_crypto, rnds8Pool, poolPtr; +var init_rng = __esm({ + "../../../node_modules/uuid/dist/esm-node/rng.js"() { + import_crypto = __toESM(require("crypto")); + rnds8Pool = new Uint8Array(256); + poolPtr = rnds8Pool.length; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/regex.js +var regex_default; +var init_regex = __esm({ + "../../../node_modules/uuid/dist/esm-node/regex.js"() { + regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/validate.js +function validate(uuid) { + return typeof uuid === "string" && regex_default.test(uuid); +} +var validate_default; +var init_validate = __esm({ + "../../../node_modules/uuid/dist/esm-node/validate.js"() { + init_regex(); + validate_default = validate; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/stringify.js +function stringify(arr, offset = 0) { + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); + if (!validate_default(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; +} +var byteToHex, stringify_default; +var init_stringify = __esm({ + "../../../node_modules/uuid/dist/esm-node/stringify.js"() { + init_validate(); + byteToHex = []; + for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 256).toString(16).substr(1)); + } + stringify_default = stringify; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v1.js +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + if (node == null) { + node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; + } + } + let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { + clockseq = clockseq + 1 & 16383; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + msecs += 122192928e5; + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + const tmh = msecs / 4294967296 * 1e4 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + b[i++] = tmh >>> 24 & 15 | 16; + b[i++] = tmh >>> 16 & 255; + b[i++] = clockseq >>> 8 | 128; + b[i++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || stringify_default(b); +} +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var init_v1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v1.js"() { + init_rng(); + init_stringify(); + _lastMSecs = 0; + _lastNSecs = 0; + v1_default = v1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/parse.js +function parse(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + let v; + const arr = new Uint8Array(16); + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 255; + arr[2] = v >>> 8 & 255; + arr[3] = v & 255; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 255; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 255; + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 255; + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; + arr[11] = v / 4294967296 & 255; + arr[12] = v >>> 24 & 255; + arr[13] = v >>> 16 & 255; + arr[14] = v >>> 8 & 255; + arr[15] = v & 255; + return arr; +} +var parse_default; +var init_parse = __esm({ + "../../../node_modules/uuid/dist/esm-node/parse.js"() { + init_validate(); + parse_default = parse; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v35.js +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; +} +function v35_default(name, version2, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === "string") { + value = stringToBytes(value); + } + if (typeof namespace === "string") { + namespace = parse_default(namespace); + } + if (namespace.length !== 16) { + throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); + } + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 15 | version2; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return stringify_default(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; +} +var DNS, URL2; +var init_v35 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v35.js"() { + init_stringify(); + init_parse(); + DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/md5.js +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto2.default.createHash("md5").update(bytes).digest(); +} +var import_crypto2, md5_default; +var init_md5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/md5.js"() { + import_crypto2 = __toESM(require("crypto")); + md5_default = md5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v3.js +var v3, v3_default; +var init_v3 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v3.js"() { + init_v35(); + init_md5(); + v3 = v35_default("v3", 48, md5_default); + v3_default = v3; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v4.js +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return stringify_default(rnds); +} +var v4_default; +var init_v4 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v4.js"() { + init_rng(); + init_stringify(); + v4_default = v4; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/sha1.js +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto3.default.createHash("sha1").update(bytes).digest(); +} +var import_crypto3, sha1_default; +var init_sha1 = __esm({ + "../../../node_modules/uuid/dist/esm-node/sha1.js"() { + import_crypto3 = __toESM(require("crypto")); + sha1_default = sha1; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/v5.js +var v5, v5_default; +var init_v5 = __esm({ + "../../../node_modules/uuid/dist/esm-node/v5.js"() { + init_v35(); + init_sha1(); + v5 = v35_default("v5", 80, sha1_default); + v5_default = v5; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/nil.js +var nil_default; +var init_nil = __esm({ + "../../../node_modules/uuid/dist/esm-node/nil.js"() { + nil_default = "00000000-0000-0000-0000-000000000000"; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/version.js +function version(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.substr(14, 1), 16); +} +var version_default; +var init_version = __esm({ + "../../../node_modules/uuid/dist/esm-node/version.js"() { + init_validate(); + version_default = version; + } +}); + +// ../../../node_modules/uuid/dist/esm-node/index.js +var esm_node_exports = {}; +__export(esm_node_exports, { + NIL: () => nil_default, + parse: () => parse_default, + stringify: () => stringify_default, + v1: () => v1_default, + v3: () => v3_default, + v4: () => v4_default, + v5: () => v5_default, + validate: () => validate_default, + version: () => version_default +}); +var init_esm_node = __esm({ + "../../../node_modules/uuid/dist/esm-node/index.js"() { + init_v1(); + init_v3(); + init_v4(); + init_v5(); + init_nil(); + init_version(); + init_validate(); + init_stringify(); + init_parse(); + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js +var require_defaultRetryQuota = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/defaultRetryQuota.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getDefaultRetryQuota = void 0; + var util_retry_1 = require_dist_cjs28(); + var getDefaultRetryQuota = (initialRetryTokens, options) => { + var _a, _b, _c; + const MAX_CAPACITY = initialRetryTokens; + const noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : util_retry_1.NO_RETRY_INCREMENT; + const retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : util_retry_1.RETRY_COST; + const timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : util_retry_1.TIMEOUT_RETRY_COST; + let availableCapacity = initialRetryTokens; + const getCapacityAmount = (error) => error.name === "TimeoutError" ? timeoutRetryCost : retryCost; + const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity; + const retrieveRetryTokens = (error) => { + if (!hasRetryTokens(error)) { + throw new Error("No retry token available"); + } + const capacityAmount = getCapacityAmount(error); + availableCapacity -= capacityAmount; + return capacityAmount; + }; + const releaseRetryTokens = (capacityReleaseAmount) => { + availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : noRetryIncrement; + availableCapacity = Math.min(availableCapacity, MAX_CAPACITY); + }; + return Object.freeze({ + hasRetryTokens, + retrieveRetryTokens, + releaseRetryTokens + }); + }; + exports.getDefaultRetryQuota = getDefaultRetryQuota; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js +var require_delayDecider = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/delayDecider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultDelayDecider = void 0; + var util_retry_1 = require_dist_cjs28(); + var defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(util_retry_1.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)); + exports.defaultDelayDecider = defaultDelayDecider; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js +var require_retryDecider = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryDecider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultRetryDecider = void 0; + var service_error_classification_1 = require_dist_cjs27(); + var defaultRetryDecider = (error) => { + if (!error) { + return false; + } + return (0, service_error_classification_1.isRetryableByTrait)(error) || (0, service_error_classification_1.isClockSkewError)(error) || (0, service_error_classification_1.isThrottlingError)(error) || (0, service_error_classification_1.isTransientError)(error); + }; + exports.defaultRetryDecider = defaultRetryDecider; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js +var require_util3 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.asSdkError = void 0; + var asSdkError = (error) => { + if (error instanceof Error) + return error; + if (error instanceof Object) + return Object.assign(new Error(), error); + if (typeof error === "string") + return new Error(error); + return new Error(`AWS SDK error wrapper for ${error}`); + }; + exports.asSdkError = asSdkError; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js +var require_StandardRetryStrategy2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/StandardRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StandardRetryStrategy = void 0; + var protocol_http_1 = require_dist_cjs2(); + var service_error_classification_1 = require_dist_cjs27(); + var util_retry_1 = require_dist_cjs28(); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var defaultRetryQuota_1 = require_defaultRetryQuota(); + var delayDecider_1 = require_delayDecider(); + var retryDecider_1 = require_retryDecider(); + var util_1 = require_util3(); + var StandardRetryStrategy = class { + constructor(maxAttemptsProvider, options) { + var _a, _b, _c; + this.maxAttemptsProvider = maxAttemptsProvider; + this.mode = util_retry_1.RETRY_MODES.STANDARD; + this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : retryDecider_1.defaultRetryDecider; + this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : delayDecider_1.defaultDelayDecider; + this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : (0, defaultRetryQuota_1.getDefaultRetryQuota)(util_retry_1.INITIAL_RETRY_TOKENS); + } + shouldRetry(error, attempts, maxAttempts) { + return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error); + } + async getMaxAttempts() { + let maxAttempts; + try { + maxAttempts = await this.maxAttemptsProvider(); + } catch (error) { + maxAttempts = util_retry_1.DEFAULT_MAX_ATTEMPTS; + } + return maxAttempts; + } + async retry(next, args, options) { + let retryTokenAmount; + let attempts = 0; + let totalDelay = 0; + const maxAttempts = await this.getMaxAttempts(); + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); + } + while (true) { + try { + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + if (options === null || options === void 0 ? void 0 : options.beforeRequest) { + await options.beforeRequest(); + } + const { response, output } = await next(args); + if (options === null || options === void 0 ? void 0 : options.afterRequest) { + options.afterRequest(response); + } + this.retryQuota.releaseRetryTokens(retryTokenAmount); + output.$metadata.attempts = attempts + 1; + output.$metadata.totalRetryDelay = totalDelay; + return { response, output }; + } catch (e) { + const err = (0, util_1.asSdkError)(e); + attempts++; + if (this.shouldRetry(err, attempts, maxAttempts)) { + retryTokenAmount = this.retryQuota.retrieveRetryTokens(err); + const delayFromDecider = this.delayDecider((0, service_error_classification_1.isThrottlingError)(err) ? util_retry_1.THROTTLING_RETRY_DELAY_BASE : util_retry_1.DEFAULT_RETRY_DELAY_BASE, attempts); + const delayFromResponse = getDelayFromRetryAfterHeader(err.$response); + const delay = Math.max(delayFromResponse || 0, delayFromDecider); + totalDelay += delay; + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + if (!err.$metadata) { + err.$metadata = {}; + } + err.$metadata.attempts = attempts; + err.$metadata.totalRetryDelay = totalDelay; + throw err; + } + } + } + }; + exports.StandardRetryStrategy = StandardRetryStrategy; + var getDelayFromRetryAfterHeader = (response) => { + if (!protocol_http_1.HttpResponse.isInstance(response)) + return; + const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); + if (!retryAfterHeaderName) + return; + const retryAfter = response.headers[retryAfterHeaderName]; + const retryAfterSeconds = Number(retryAfter); + if (!Number.isNaN(retryAfterSeconds)) + return retryAfterSeconds * 1e3; + const retryAfterDate = new Date(retryAfter); + return retryAfterDate.getTime() - Date.now(); + }; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js +var require_AdaptiveRetryStrategy2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/AdaptiveRetryStrategy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AdaptiveRetryStrategy = void 0; + var util_retry_1 = require_dist_cjs28(); + var StandardRetryStrategy_1 = require_StandardRetryStrategy2(); + var AdaptiveRetryStrategy = class extends StandardRetryStrategy_1.StandardRetryStrategy { + constructor(maxAttemptsProvider, options) { + const { rateLimiter, ...superOptions } = options !== null && options !== void 0 ? options : {}; + super(maxAttemptsProvider, superOptions); + this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new util_retry_1.DefaultRateLimiter(); + this.mode = util_retry_1.RETRY_MODES.ADAPTIVE; + } + async retry(next, args) { + return super.retry(next, args, { + beforeRequest: async () => { + return this.rateLimiter.getSendToken(); + }, + afterRequest: (response) => { + this.rateLimiter.updateClientSendingRate(response); + } + }); + } + }; + exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js +var require_configurations2 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/configurations.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0; + var util_middleware_1 = require_dist_cjs10(); + var util_retry_1 = require_dist_cjs28(); + exports.ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; + exports.CONFIG_MAX_ATTEMPTS = "max_attempts"; + exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => { + const value = env[exports.ENV_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, + configFileSelector: (profile) => { + const value = profile[exports.CONFIG_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, + default: util_retry_1.DEFAULT_MAX_ATTEMPTS + }; + var resolveRetryConfig = (input) => { + var _a; + const { retryStrategy } = input; + const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS); + return { + ...input, + maxAttempts, + retryStrategy: async () => { + if (retryStrategy) { + return retryStrategy; + } + const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)(); + if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) { + return new util_retry_1.AdaptiveRetryStrategy(maxAttempts); + } + return new util_retry_1.StandardRetryStrategy(maxAttempts); + } + }; + }; + exports.resolveRetryConfig = resolveRetryConfig; + exports.ENV_RETRY_MODE = "AWS_RETRY_MODE"; + exports.CONFIG_RETRY_MODE = "retry_mode"; + exports.NODE_RETRY_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE], + configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE], + default: util_retry_1.DEFAULT_RETRY_MODE + }; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js +var require_omitRetryHeadersMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/omitRetryHeadersMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getOmitRetryHeadersPlugin = exports.omitRetryHeadersMiddlewareOptions = exports.omitRetryHeadersMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var util_retry_1 = require_dist_cjs28(); + var omitRetryHeadersMiddleware = () => (next) => async (args) => { + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + delete request2.headers[util_retry_1.INVOCATION_ID_HEADER]; + delete request2.headers[util_retry_1.REQUEST_HEADER]; + } + return next(args); + }; + exports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware; + exports.omitRetryHeadersMiddlewareOptions = { + name: "omitRetryHeadersMiddleware", + tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"], + relation: "before", + toMiddleware: "awsAuthMiddleware", + override: true + }; + var getOmitRetryHeadersPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.addRelativeTo((0, exports.omitRetryHeadersMiddleware)(), exports.omitRetryHeadersMiddlewareOptions); + } + }); + exports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js +var require_retryMiddleware = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRetryAfterHint = exports.getRetryPlugin = exports.retryMiddlewareOptions = exports.retryMiddleware = void 0; + var protocol_http_1 = require_dist_cjs2(); + var service_error_classification_1 = require_dist_cjs27(); + var util_retry_1 = require_dist_cjs28(); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var util_1 = require_util3(); + var retryMiddleware = (options) => (next, context) => async (args) => { + let retryStrategy = await options.retryStrategy(); + const maxAttempts = await options.maxAttempts(); + if (isRetryStrategyV2(retryStrategy)) { + retryStrategy = retryStrategy; + let retryToken = await retryStrategy.acquireInitialRetryToken(context["partition_id"]); + let lastError = new Error(); + let attempts = 0; + let totalRetryDelay = 0; + const { request: request2 } = args; + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.INVOCATION_ID_HEADER] = (0, uuid_1.v4)(); + } + while (true) { + try { + if (protocol_http_1.HttpRequest.isInstance(request2)) { + request2.headers[util_retry_1.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + const { response, output } = await next(args); + retryStrategy.recordSuccess(retryToken); + output.$metadata.attempts = attempts + 1; + output.$metadata.totalRetryDelay = totalRetryDelay; + return { response, output }; + } catch (e) { + const retryErrorInfo = getRetryErrorInfo(e); + lastError = (0, util_1.asSdkError)(e); + try { + retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo); + } catch (refreshError) { + if (!lastError.$metadata) { + lastError.$metadata = {}; + } + lastError.$metadata.attempts = attempts + 1; + lastError.$metadata.totalRetryDelay = totalRetryDelay; + throw lastError; + } + attempts = retryToken.getRetryCount(); + const delay = retryToken.getRetryDelay(); + totalRetryDelay += delay; + await new Promise((resolve) => setTimeout(resolve, delay)); + } + } + } else { + retryStrategy = retryStrategy; + if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode) + context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]]; + return retryStrategy.retry(next, args); + } + }; + exports.retryMiddleware = retryMiddleware; + var isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined"; + var getRetryErrorInfo = (error) => { + const errorInfo = { + errorType: getRetryErrorType(error) + }; + const retryAfterHint = (0, exports.getRetryAfterHint)(error.$response); + if (retryAfterHint) { + errorInfo.retryAfterHint = retryAfterHint; + } + return errorInfo; + }; + var getRetryErrorType = (error) => { + if ((0, service_error_classification_1.isThrottlingError)(error)) + return "THROTTLING"; + if ((0, service_error_classification_1.isTransientError)(error)) + return "TRANSIENT"; + if ((0, service_error_classification_1.isServerError)(error)) + return "SERVER_ERROR"; + return "CLIENT_ERROR"; + }; + exports.retryMiddlewareOptions = { + name: "retryMiddleware", + tags: ["RETRY"], + step: "finalizeRequest", + priority: "high", + override: true + }; + var getRetryPlugin = (options) => ({ + applyToStack: (clientStack) => { + clientStack.add((0, exports.retryMiddleware)(options), exports.retryMiddlewareOptions); + } + }); + exports.getRetryPlugin = getRetryPlugin; + var getRetryAfterHint = (response) => { + if (!protocol_http_1.HttpResponse.isInstance(response)) + return; + const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); + if (!retryAfterHeaderName) + return; + const retryAfter = response.headers[retryAfterHeaderName]; + const retryAfterSeconds = Number(retryAfter); + if (!Number.isNaN(retryAfterSeconds)) + return new Date(retryAfterSeconds * 1e3); + const retryAfterDate = new Date(retryAfter); + return retryAfterDate; + }; + exports.getRetryAfterHint = getRetryAfterHint; + } +}); + +// ../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js +var require_dist_cjs29 = __commonJS({ + "../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AdaptiveRetryStrategy2(), exports); + tslib_1.__exportStar(require_StandardRetryStrategy2(), exports); + tslib_1.__exportStar(require_configurations2(), exports); + tslib_1.__exportStar(require_delayDecider(), exports); + tslib_1.__exportStar(require_omitRetryHeadersMiddleware(), exports); + tslib_1.__exportStar(require_retryDecider(), exports); + tslib_1.__exportStar(require_retryMiddleware(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js +var require_NoOpLogger = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/NoOpLogger.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NoOpLogger = void 0; + var NoOpLogger = class { + trace() { + } + debug() { + } + info() { + } + warn() { + } + error() { + } + }; + exports.NoOpLogger = NoOpLogger; + } +}); + +// ../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js +var require_MiddlewareStack = __commonJS({ + "../../../node_modules/@smithy/middleware-stack/dist-cjs/MiddlewareStack.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.constructStack = void 0; + var constructStack = () => { + let absoluteEntries = []; + let relativeEntries = []; + const entriesNameSet = /* @__PURE__ */ new Set(); + const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"]); + const removeByName = (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + if (entry.name && entry.name === toRemove) { + isRemoved = true; + entriesNameSet.delete(toRemove); + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }; + const removeByReference = (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + if (entry.middleware === toRemove) { + isRemoved = true; + if (entry.name) + entriesNameSet.delete(entry.name); + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }; + const cloneTo = (toStack) => { + absoluteEntries.forEach((entry) => { + toStack.add(entry.middleware, { ...entry }); + }); + relativeEntries.forEach((entry) => { + toStack.addRelativeTo(entry.middleware, { ...entry }); + }); + return toStack; + }; + const expandRelativeMiddlewareList = (from) => { + const expandedMiddlewareList = []; + from.before.forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + expandedMiddlewareList.push(from); + from.after.reverse().forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + return expandedMiddlewareList; + }; + const getMiddlewareList = (debug = false) => { + const normalizedAbsoluteEntries = []; + const normalizedRelativeEntries = []; + const normalizedEntriesNameMap = {}; + absoluteEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + if (normalizedEntry.name) + normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; + normalizedAbsoluteEntries.push(normalizedEntry); + }); + relativeEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + if (normalizedEntry.name) + normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry; + normalizedRelativeEntries.push(normalizedEntry); + }); + normalizedRelativeEntries.forEach((entry) => { + if (entry.toMiddleware) { + const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; + if (toMiddleware === void 0) { + if (debug) { + return; + } + throw new Error(`${entry.toMiddleware} is not found when adding ${entry.name || "anonymous"} middleware ${entry.relation} ${entry.toMiddleware}`); + } + if (entry.relation === "after") { + toMiddleware.after.push(entry); + } + if (entry.relation === "before") { + toMiddleware.before.push(entry); + } + } + }); + const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => { + wholeList.push(...expandedMiddlewareList); + return wholeList; + }, []); + return mainChain; + }; + const stack = { + add: (middleware, options = {}) => { + const { name, override } = options; + const entry = { + step: "initialize", + priority: "normal", + middleware, + ...options + }; + if (name) { + if (entriesNameSet.has(name)) { + if (!override) + throw new Error(`Duplicate middleware name '${name}'`); + const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === name); + const toOverride = absoluteEntries[toOverrideIndex]; + if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) { + throw new Error(`"${name}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`); + } + absoluteEntries.splice(toOverrideIndex, 1); + } + entriesNameSet.add(name); + } + absoluteEntries.push(entry); + }, + addRelativeTo: (middleware, options) => { + const { name, override } = options; + const entry = { + middleware, + ...options + }; + if (name) { + if (entriesNameSet.has(name)) { + if (!override) + throw new Error(`Duplicate middleware name '${name}'`); + const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === name); + const toOverride = relativeEntries[toOverrideIndex]; + if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { + throw new Error(`"${name}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by same-name middleware ${entry.relation} "${entry.toMiddleware}" middleware.`); + } + relativeEntries.splice(toOverrideIndex, 1); + } + entriesNameSet.add(name); + } + relativeEntries.push(entry); + }, + clone: () => cloneTo((0, exports.constructStack)()), + use: (plugin) => { + plugin.applyToStack(stack); + }, + remove: (toRemove) => { + if (typeof toRemove === "string") + return removeByName(toRemove); + else + return removeByReference(toRemove); + }, + removeByTag: (toRemove) => { + let isRemoved = false; + const filterCb = (entry) => { + const { tags, name } = entry; + if (tags && tags.includes(toRemove)) { + if (name) + entriesNameSet.delete(name); + isRemoved = true; + return false; + } + return true; + }; + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, + concat: (from) => { + const cloned = cloneTo((0, exports.constructStack)()); + cloned.use(from); + return cloned; + }, + applyToStack: cloneTo, + identify: () => { + return getMiddlewareList(true).map((mw) => { + return mw.name + ": " + (mw.tags || []).join(","); + }); + }, + resolve: (handler2, context) => { + for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { + handler2 = middleware(handler2, context); + } + return handler2; + } + }; + return stack; + }; + exports.constructStack = constructStack; + var stepWeights = { + initialize: 5, + serialize: 4, + build: 3, + finalizeRequest: 2, + deserialize: 1 + }; + var priorityWeights = { + high: 3, + normal: 2, + low: 1 + }; + } +}); + +// ../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js +var require_dist_cjs30 = __commonJS({ + "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_MiddlewareStack(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/client.js +var require_client3 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Client = void 0; + var middleware_stack_1 = require_dist_cjs30(); + var Client = class { + constructor(config) { + this.middlewareStack = (0, middleware_stack_1.constructStack)(); + this.config = config; + } + send(command, optionsOrCb, cb) { + const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; + const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; + const handler2 = command.resolveMiddleware(this.middlewareStack, this.config, options); + if (callback) { + handler2(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => { + }); + } else { + return handler2(command).then((result) => result.output); + } + } + destroy() { + if (this.config.requestHandler.destroy) + this.config.requestHandler.destroy(); + } + }; + exports.Client = Client; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js +var require_fromBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; + var fromBase64 = (input) => { + if (input.length * 3 % 4 !== 0) { + throw new TypeError(`Incorrect padding on base64 string.`); + } + if (!BASE64_REGEX.exec(input)) { + throw new TypeError(`Invalid base64 string.`); + } + const buffer = (0, util_buffer_from_1.fromString)(input, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + }; + exports.fromBase64 = fromBase64; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js +var require_toBase64 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toBase64 = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var toBase64 = (input) => (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64"); + exports.toBase64 = toBase64; + } +}); + +// ../../../node_modules/@smithy/util-base64/dist-cjs/index.js +var require_dist_cjs31 = __commonJS({ + "../../../node_modules/@smithy/util-base64/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromBase64(), exports); + tslib_1.__exportStar(require_toBase64(), exports); + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js +var require_transforms = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/blob/transforms.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.transformFromString = exports.transformToString = void 0; + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var Uint8ArrayBlobAdapter_1 = require_Uint8ArrayBlobAdapter(); + function transformToString(payload, encoding = "utf-8") { + if (encoding === "base64") { + return (0, util_base64_1.toBase64)(payload); + } + return (0, util_utf8_1.toUtf8)(payload); + } + exports.transformToString = transformToString; + function transformFromString(str, encoding) { + if (encoding === "base64") { + return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_base64_1.fromBase64)(str)); + } + return Uint8ArrayBlobAdapter_1.Uint8ArrayBlobAdapter.mutate((0, util_utf8_1.fromUtf8)(str)); + } + exports.transformFromString = transformFromString; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js +var require_Uint8ArrayBlobAdapter = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/blob/Uint8ArrayBlobAdapter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Uint8ArrayBlobAdapter = void 0; + var transforms_1 = require_transforms(); + var Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter extends Uint8Array { + static fromString(source, encoding = "utf-8") { + switch (typeof source) { + case "string": + return (0, transforms_1.transformFromString)(source, encoding); + default: + throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); + } + } + static mutate(source) { + Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter.prototype); + return source; + } + transformToString(encoding = "utf-8") { + return (0, transforms_1.transformToString)(this, encoding); + } + }; + exports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js +var require_getAwsChunkedEncodingStream = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getAwsChunkedEncodingStream = void 0; + var stream_1 = require("stream"); + var getAwsChunkedEncodingStream = (readableStream, options) => { + const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; + const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; + const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; + const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { + } }); + readableStream.on("data", (data) => { + const length = bodyLengthChecker(data) || 0; + awsChunkedEncodingStream.push(`${length.toString(16)}\r +`); + awsChunkedEncodingStream.push(data); + awsChunkedEncodingStream.push("\r\n"); + }); + readableStream.on("end", async () => { + awsChunkedEncodingStream.push(`0\r +`); + if (checksumRequired) { + const checksum = base64Encoder(await digest); + awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r +`); + awsChunkedEncodingStream.push(`\r +`); + } + awsChunkedEncodingStream.push(null); + }); + return awsChunkedEncodingStream; + }; + exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream; + } +}); + +// ../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js +var require_dist_cjs32 = __commonJS({ + "../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.buildQueryString = void 0; + var util_uri_escape_1 = require_dist_cjs14(); + function buildQueryString(query) { + const parts = []; + for (let key of Object.keys(query).sort()) { + const value = query[key]; + key = (0, util_uri_escape_1.escapeUri)(key); + if (Array.isArray(value)) { + for (let i = 0, iLen = value.length; i < iLen; i++) { + parts.push(`${key}=${(0, util_uri_escape_1.escapeUri)(value[i])}`); + } + } else { + let qsEntry = key; + if (value || typeof value === "string") { + qsEntry += `=${(0, util_uri_escape_1.escapeUri)(value)}`; + } + parts.push(qsEntry); + } + } + return parts.join("&"); + } + exports.buildQueryString = buildQueryString; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js +var require_constants5 = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODEJS_TIMEOUT_ERROR_CODES = void 0; + exports.NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js +var require_get_transformed_headers = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/get-transformed-headers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getTransformedHeaders = void 0; + var getTransformedHeaders = (headers) => { + const transformedHeaders = {}; + for (const name of Object.keys(headers)) { + const headerValues = headers[name]; + transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; + } + return transformedHeaders; + }; + exports.getTransformedHeaders = getTransformedHeaders; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js +var require_set_connection_timeout = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-connection-timeout.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setConnectionTimeout = void 0; + var setConnectionTimeout = (request2, reject, timeoutInMs = 0) => { + if (!timeoutInMs) { + return; + } + const timeoutId = setTimeout(() => { + request2.destroy(); + reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { + name: "TimeoutError" + })); + }, timeoutInMs); + request2.on("socket", (socket) => { + if (socket.connecting) { + socket.on("connect", () => { + clearTimeout(timeoutId); + }); + } else { + clearTimeout(timeoutId); + } + }); + }; + exports.setConnectionTimeout = setConnectionTimeout; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js +var require_set_socket_keep_alive = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-keep-alive.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setSocketKeepAlive = void 0; + var setSocketKeepAlive = (request2, { keepAlive, keepAliveMsecs }) => { + if (keepAlive !== true) { + return; + } + request2.on("socket", (socket) => { + socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + }); + }; + exports.setSocketKeepAlive = setSocketKeepAlive; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js +var require_set_socket_timeout = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/set-socket-timeout.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.setSocketTimeout = void 0; + var setSocketTimeout = (request2, reject, timeoutInMs = 0) => { + request2.setTimeout(timeoutInMs, () => { + request2.destroy(); + reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" })); + }); + }; + exports.setSocketTimeout = setSocketTimeout; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js +var require_write_request_body = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/write-request-body.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.writeRequestBody = void 0; + var stream_1 = require("stream"); + var MIN_WAIT_TIME = 1e3; + async function writeRequestBody(httpRequest, request2, maxContinueTimeoutMs = MIN_WAIT_TIME) { + var _a; + const headers = (_a = request2.headers) !== null && _a !== void 0 ? _a : {}; + const expect = headers["Expect"] || headers["expect"]; + let timeoutId = -1; + let hasError = false; + if (expect === "100-continue") { + await Promise.race([ + new Promise((resolve) => { + timeoutId = Number(setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); + }), + new Promise((resolve) => { + httpRequest.on("continue", () => { + clearTimeout(timeoutId); + resolve(); + }); + httpRequest.on("error", () => { + hasError = true; + clearTimeout(timeoutId); + resolve(); + }); + }) + ]); + } + if (!hasError) { + writeBody(httpRequest, request2.body); + } + } + exports.writeRequestBody = writeRequestBody; + function writeBody(httpRequest, body) { + if (body instanceof stream_1.Readable) { + body.pipe(httpRequest); + } else if (body) { + httpRequest.end(Buffer.from(body)); + } else { + httpRequest.end(); + } + } + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js +var require_node_http_handler = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttpHandler = exports.DEFAULT_REQUEST_TIMEOUT = void 0; + var protocol_http_1 = require_dist_cjs2(); + var querystring_builder_1 = require_dist_cjs32(); + var http_1 = require("http"); + var https_1 = require("https"); + var constants_1 = require_constants5(); + var get_transformed_headers_1 = require_get_transformed_headers(); + var set_connection_timeout_1 = require_set_connection_timeout(); + var set_socket_keep_alive_1 = require_set_socket_keep_alive(); + var set_socket_timeout_1 = require_set_socket_timeout(); + var write_request_body_1 = require_write_request_body(); + exports.DEFAULT_REQUEST_TIMEOUT = 0; + var NodeHttpHandler = class { + constructor(options) { + this.metadata = { handlerProtocol: "http/1.1" }; + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((_options) => { + resolve(this.resolveDefaultConfig(_options)); + }).catch(reject); + } else { + resolve(this.resolveDefaultConfig(options)); + } + }); + } + resolveDefaultConfig(options) { + const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {}; + const keepAlive = true; + const maxSockets = 50; + return { + connectionTimeout, + requestTimeout: requestTimeout !== null && requestTimeout !== void 0 ? requestTimeout : socketTimeout, + httpAgent: httpAgent || new http_1.Agent({ keepAlive, maxSockets }), + httpsAgent: httpsAgent || new https_1.Agent({ keepAlive, maxSockets }) + }; + } + destroy() { + var _a, _b, _c, _d; + (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.httpAgent) === null || _b === void 0 ? void 0 : _b.destroy(); + (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.httpsAgent) === null || _d === void 0 ? void 0 : _d.destroy(); + } + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + } + return new Promise((_resolve, _reject) => { + var _a, _b; + let writeRequestBodyPromise = void 0; + const resolve = async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }; + const reject = async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }; + if (!this.config) { + throw new Error("Node HTTP request handler config is not resolved"); + } + if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; + } + const isSSL = request2.protocol === "https:"; + const queryString = (0, querystring_builder_1.buildQueryString)(request2.query || {}); + let auth = void 0; + if (request2.username != null || request2.password != null) { + const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; + const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; + auth = `${username}:${password}`; + } + let path = request2.path; + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + const nodeHttpsOptions = { + headers: request2.headers, + host: request2.hostname, + method: request2.method, + path, + port: request2.port, + agent: isSSL ? this.config.httpsAgent : this.config.httpAgent, + auth + }; + const requestFunc = isSSL ? https_1.request : http_1.request; + const req = requestFunc(nodeHttpsOptions, (res) => { + const httpResponse = new protocol_http_1.HttpResponse({ + statusCode: res.statusCode || -1, + reason: res.statusMessage, + headers: (0, get_transformed_headers_1.getTransformedHeaders)(res.headers), + body: res + }); + resolve({ response: httpResponse }); + }); + req.on("error", (err) => { + if (constants_1.NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) { + reject(Object.assign(err, { name: "TimeoutError" })); + } else { + reject(err); + } + }); + (0, set_connection_timeout_1.setConnectionTimeout)(req, reject, this.config.connectionTimeout); + (0, set_socket_timeout_1.setSocketTimeout)(req, reject, this.config.requestTimeout); + if (abortSignal) { + abortSignal.onabort = () => { + req.abort(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + }; + } + const httpAgent = nodeHttpsOptions.agent; + if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { + (0, set_socket_keep_alive_1.setSocketKeepAlive)(req, { + keepAlive: httpAgent.keepAlive, + keepAliveMsecs: httpAgent.keepAliveMsecs + }); + } + writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, this.config.requestTimeout).catch(_reject); + }); + } + }; + exports.NodeHttpHandler = NodeHttpHandler; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js +var require_node_http2_connection_pool = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-pool.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2ConnectionPool = void 0; + var NodeHttp2ConnectionPool = class { + constructor(sessions) { + this.sessions = []; + this.sessions = sessions !== null && sessions !== void 0 ? sessions : []; + } + poll() { + if (this.sessions.length > 0) { + return this.sessions.shift(); + } + } + offerLast(session) { + this.sessions.push(session); + } + contains(session) { + return this.sessions.includes(session); + } + remove(session) { + this.sessions = this.sessions.filter((s) => s !== session); + } + [Symbol.iterator]() { + return this.sessions[Symbol.iterator](); + } + destroy(connection) { + for (const session of this.sessions) { + if (session === connection) { + if (!session.destroyed) { + session.destroy(); + } + } + } + } + }; + exports.NodeHttp2ConnectionPool = NodeHttp2ConnectionPool; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js +var require_node_http2_connection_manager = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-connection-manager.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2ConnectionManager = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var http2_1 = tslib_1.__importDefault(require("http2")); + var node_http2_connection_pool_1 = require_node_http2_connection_pool(); + var NodeHttp2ConnectionManager = class { + constructor(config) { + this.sessionCache = /* @__PURE__ */ new Map(); + this.config = config; + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrency must be greater than zero."); + } + } + lease(requestContext, connectionConfiguration) { + const url2 = this.getUrlString(requestContext); + const existingPool = this.sessionCache.get(url2); + if (existingPool) { + const existingSession = existingPool.poll(); + if (existingSession && !this.config.disableConcurrency) { + return existingSession; + } + } + const session = http2_1.default.connect(url2); + if (this.config.maxConcurrency) { + session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { + if (err) { + throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString()); + } + }); + } + session.unref(); + const destroySessionCb = () => { + session.destroy(); + this.deleteSession(url2, session); + }; + session.on("goaway", destroySessionCb); + session.on("error", destroySessionCb); + session.on("frameError", destroySessionCb); + session.on("close", () => this.deleteSession(url2, session)); + if (connectionConfiguration.requestTimeout) { + session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb); + } + const connectionPool = this.sessionCache.get(url2) || new node_http2_connection_pool_1.NodeHttp2ConnectionPool(); + connectionPool.offerLast(session); + this.sessionCache.set(url2, connectionPool); + return session; + } + deleteSession(authority, session) { + const existingConnectionPool = this.sessionCache.get(authority); + if (!existingConnectionPool) { + return; + } + if (!existingConnectionPool.contains(session)) { + return; + } + existingConnectionPool.remove(session); + this.sessionCache.set(authority, existingConnectionPool); + } + release(requestContext, session) { + var _a; + const cacheKey = this.getUrlString(requestContext); + (_a = this.sessionCache.get(cacheKey)) === null || _a === void 0 ? void 0 : _a.offerLast(session); + } + destroy() { + for (const [key, connectionPool] of this.sessionCache) { + for (const session of connectionPool) { + if (!session.destroyed) { + session.destroy(); + } + connectionPool.remove(session); + } + this.sessionCache.delete(key); + } + } + setMaxConcurrentStreams(maxConcurrentStreams) { + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrentStreams must be greater than zero."); + } + this.config.maxConcurrency = maxConcurrentStreams; + } + setDisableConcurrentStreams(disableConcurrentStreams) { + this.config.disableConcurrency = disableConcurrentStreams; + } + getUrlString(request2) { + return request2.destination.toString(); + } + }; + exports.NodeHttp2ConnectionManager = NodeHttp2ConnectionManager; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js +var require_node_http2_handler = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/node-http2-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NodeHttp2Handler = void 0; + var protocol_http_1 = require_dist_cjs2(); + var querystring_builder_1 = require_dist_cjs32(); + var http2_1 = require("http2"); + var get_transformed_headers_1 = require_get_transformed_headers(); + var node_http2_connection_manager_1 = require_node_http2_connection_manager(); + var write_request_body_1 = require_write_request_body(); + var NodeHttp2Handler = class { + constructor(options) { + this.metadata = { handlerProtocol: "h2" }; + this.connectionManager = new node_http2_connection_manager_1.NodeHttp2ConnectionManager({}); + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((opts) => { + resolve(opts || {}); + }).catch(reject); + } else { + resolve(options || {}); + } + }); + } + destroy() { + this.connectionManager.destroy(); + } + async handle(request2, { abortSignal } = {}) { + if (!this.config) { + this.config = await this.configProvider; + this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false); + if (this.config.maxConcurrentStreams) { + this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams); + } + } + const { requestTimeout, disableConcurrentStreams } = this.config; + return new Promise((_resolve, _reject) => { + var _a, _b, _c; + let fulfilled = false; + let writeRequestBodyPromise = void 0; + const resolve = async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }; + const reject = async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }; + if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) { + fulfilled = true; + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + reject(abortError); + return; + } + const { hostname, method, port, protocol, query } = request2; + let auth = ""; + if (request2.username != null || request2.password != null) { + const username = (_a = request2.username) !== null && _a !== void 0 ? _a : ""; + const password = (_b = request2.password) !== null && _b !== void 0 ? _b : ""; + auth = `${username}:${password}@`; + } + const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : ""}`; + const requestContext = { destination: new URL(authority) }; + const session = this.connectionManager.lease(requestContext, { + requestTimeout: (_c = this.config) === null || _c === void 0 ? void 0 : _c.sessionTimeout, + disableConcurrentStreams: disableConcurrentStreams || false + }); + const rejectWithDestroy = (err) => { + if (disableConcurrentStreams) { + this.destroySession(session); + } + fulfilled = true; + reject(err); + }; + const queryString = (0, querystring_builder_1.buildQueryString)(query || {}); + let path = request2.path; + if (queryString) { + path += `?${queryString}`; + } + if (request2.fragment) { + path += `#${request2.fragment}`; + } + const req = session.request({ + ...request2.headers, + [http2_1.constants.HTTP2_HEADER_PATH]: path, + [http2_1.constants.HTTP2_HEADER_METHOD]: method + }); + session.ref(); + req.on("response", (headers) => { + const httpResponse = new protocol_http_1.HttpResponse({ + statusCode: headers[":status"] || -1, + headers: (0, get_transformed_headers_1.getTransformedHeaders)(headers), + body: req + }); + fulfilled = true; + resolve({ response: httpResponse }); + if (disableConcurrentStreams) { + session.close(); + this.connectionManager.deleteSession(authority, session); + } + }); + if (requestTimeout) { + req.setTimeout(requestTimeout, () => { + req.close(); + const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`); + timeoutError.name = "TimeoutError"; + rejectWithDestroy(timeoutError); + }); + } + if (abortSignal) { + abortSignal.onabort = () => { + req.close(); + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + rejectWithDestroy(abortError); + }; + } + req.on("frameError", (type, code, id) => { + rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); + }); + req.on("error", rejectWithDestroy); + req.on("aborted", () => { + rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`)); + }); + req.on("close", () => { + session.unref(); + if (disableConcurrentStreams) { + session.destroy(); + } + if (!fulfilled) { + rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response")); + } + }); + writeRequestBodyPromise = (0, write_request_body_1.writeRequestBody)(req, request2, requestTimeout); + }); + } + destroySession(session) { + if (!session.destroyed) { + session.destroy(); + } + } + }; + exports.NodeHttp2Handler = NodeHttp2Handler; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js +var require_collector = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/collector.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Collector = void 0; + var stream_1 = require("stream"); + var Collector = class extends stream_1.Writable { + constructor() { + super(...arguments); + this.bufferedBytes = []; + } + _write(chunk, encoding, callback) { + this.bufferedBytes.push(chunk); + callback(); + } + }; + exports.Collector = Collector; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js +var require_stream_collector = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/stream-collector/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.streamCollector = void 0; + var collector_1 = require_collector(); + var streamCollector = (stream) => new Promise((resolve, reject) => { + const collector = new collector_1.Collector(); + stream.pipe(collector); + stream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes)); + resolve(bytes); + }); + }); + exports.streamCollector = streamCollector; + } +}); + +// ../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js +var require_dist_cjs33 = __commonJS({ + "../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_node_http_handler(), exports); + tslib_1.__exportStar(require_node_http2_handler(), exports); + tslib_1.__exportStar(require_stream_collector(), exports); + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js +var require_sdk_stream_mixin = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sdkStreamMixin = void 0; + var node_http_handler_1 = require_dist_cjs33(); + var util_buffer_from_1 = require_dist_cjs12(); + var stream_1 = require("stream"); + var util_1 = require("util"); + var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; + var sdkStreamMixin = (stream) => { + var _a, _b; + if (!(stream instanceof stream_1.Readable)) { + const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream; + throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); + } + let transformed = false; + const transformToByteArray = async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + return await (0, node_http_handler_1.streamCollector)(stream); + }; + return Object.assign(stream, { + transformToByteArray, + transformToString: async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === void 0 || Buffer.isEncoding(encoding)) { + return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); + } else { + const decoder = new util_1.TextDecoder(encoding); + return decoder.decode(buf); + } + }, + transformToWebStream: () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + if (stream.readableFlowing !== null) { + throw new Error("The stream has been consumed by other callbacks."); + } + if (typeof stream_1.Readable.toWeb !== "function") { + throw new Error("Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available."); + } + transformed = true; + return stream_1.Readable.toWeb(stream); + } + }); + }; + exports.sdkStreamMixin = sdkStreamMixin; + } +}); + +// ../../../node_modules/@smithy/util-stream/dist-cjs/index.js +var require_dist_cjs34 = __commonJS({ + "../../../node_modules/@smithy/util-stream/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Uint8ArrayBlobAdapter(), exports); + tslib_1.__exportStar(require_getAwsChunkedEncodingStream(), exports); + tslib_1.__exportStar(require_sdk_stream_mixin(), exports); + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js +var require_collect_stream_body = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/collect-stream-body.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.collectBody = void 0; + var util_stream_1 = require_dist_cjs34(); + var collectBody = async (streamBody = new Uint8Array(), context) => { + if (streamBody instanceof Uint8Array) { + return util_stream_1.Uint8ArrayBlobAdapter.mutate(streamBody); + } + if (!streamBody) { + return util_stream_1.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); + } + const fromContext = context.streamCollector(streamBody); + return util_stream_1.Uint8ArrayBlobAdapter.mutate(await fromContext); + }; + exports.collectBody = collectBody; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/command.js +var require_command3 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/command.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Command = void 0; + var middleware_stack_1 = require_dist_cjs30(); + var Command = class { + constructor() { + this.middlewareStack = (0, middleware_stack_1.constructStack)(); + } + }; + exports.Command = Command; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js +var require_constants6 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SENSITIVE_STRING = void 0; + exports.SENSITIVE_STRING = "***SensitiveInformation***"; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js +var require_create_aggregated_client = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/create-aggregated-client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createAggregatedClient = void 0; + var createAggregatedClient = (commands, Client) => { + for (const command of Object.keys(commands)) { + const CommandCtor = commands[command]; + const methodImpl = async function(args, optionsOrCb, cb) { + const command2 = new CommandCtor(args); + if (typeof optionsOrCb === "function") { + this.send(command2, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") + throw new Error(`Expected http options but got ${typeof optionsOrCb}`); + this.send(command2, optionsOrCb || {}, cb); + } else { + return this.send(command2, optionsOrCb); + } + }; + const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); + Client.prototype[methodName] = methodImpl; + } + }; + exports.createAggregatedClient = createAggregatedClient; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js +var require_parse_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/parse-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0; + var parseBoolean = (value) => { + switch (value) { + case "true": + return true; + case "false": + return false; + default: + throw new Error(`Unable to parse boolean value "${value}"`); + } + }; + exports.parseBoolean = parseBoolean; + var expectBoolean = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "number") { + if (value === 0 || value === 1) { + exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (value === 0) { + return false; + } + if (value === 1) { + return true; + } + } + if (typeof value === "string") { + const lower = value.toLowerCase(); + if (lower === "false" || lower === "true") { + exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (lower === "false") { + return false; + } + if (lower === "true") { + return true; + } + } + if (typeof value === "boolean") { + return value; + } + throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); + }; + exports.expectBoolean = expectBoolean; + var expectNumber = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + const parsed = parseFloat(value); + if (!Number.isNaN(parsed)) { + if (String(parsed) !== String(value)) { + exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); + } + return parsed; + } + } + if (typeof value === "number") { + return value; + } + throw new TypeError(`Expected number, got ${typeof value}: ${value}`); + }; + exports.expectNumber = expectNumber; + var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); + var expectFloat32 = (value) => { + const expected = (0, exports.expectNumber)(value); + if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { + if (Math.abs(expected) > MAX_FLOAT) { + throw new TypeError(`Expected 32-bit float, got ${value}`); + } + } + return expected; + }; + exports.expectFloat32 = expectFloat32; + var expectLong = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (Number.isInteger(value) && !Number.isNaN(value)) { + return value; + } + throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); + }; + exports.expectLong = expectLong; + exports.expectInt = exports.expectLong; + var expectInt32 = (value) => expectSizedInt(value, 32); + exports.expectInt32 = expectInt32; + var expectShort = (value) => expectSizedInt(value, 16); + exports.expectShort = expectShort; + var expectByte = (value) => expectSizedInt(value, 8); + exports.expectByte = expectByte; + var expectSizedInt = (value, size) => { + const expected = (0, exports.expectLong)(value); + if (expected !== void 0 && castInt(expected, size) !== expected) { + throw new TypeError(`Expected ${size}-bit integer, got ${value}`); + } + return expected; + }; + var castInt = (value, size) => { + switch (size) { + case 32: + return Int32Array.of(value)[0]; + case 16: + return Int16Array.of(value)[0]; + case 8: + return Int8Array.of(value)[0]; + } + }; + var expectNonNull = (value, location) => { + if (value === null || value === void 0) { + if (location) { + throw new TypeError(`Expected a non-null value for ${location}`); + } + throw new TypeError("Expected a non-null value"); + } + return value; + }; + exports.expectNonNull = expectNonNull; + var expectObject = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "object" && !Array.isArray(value)) { + return value; + } + const receivedType = Array.isArray(value) ? "array" : typeof value; + throw new TypeError(`Expected object, got ${receivedType}: ${value}`); + }; + exports.expectObject = expectObject; + var expectString = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + return value; + } + if (["boolean", "number", "bigint"].includes(typeof value)) { + exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); + return String(value); + } + throw new TypeError(`Expected string, got ${typeof value}: ${value}`); + }; + exports.expectString = expectString; + var expectUnion = (value) => { + if (value === null || value === void 0) { + return void 0; + } + const asObject = (0, exports.expectObject)(value); + const setKeys = Object.entries(asObject).filter(([, v]) => v != null).map(([k]) => k); + if (setKeys.length === 0) { + throw new TypeError(`Unions must have exactly one non-null member. None were found.`); + } + if (setKeys.length > 1) { + throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); + } + return asObject; + }; + exports.expectUnion = expectUnion; + var strictParseDouble = (value) => { + if (typeof value == "string") { + return (0, exports.expectNumber)(parseNumber(value)); + } + return (0, exports.expectNumber)(value); + }; + exports.strictParseDouble = strictParseDouble; + exports.strictParseFloat = exports.strictParseDouble; + var strictParseFloat32 = (value) => { + if (typeof value == "string") { + return (0, exports.expectFloat32)(parseNumber(value)); + } + return (0, exports.expectFloat32)(value); + }; + exports.strictParseFloat32 = strictParseFloat32; + var NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; + var parseNumber = (value) => { + const matches = value.match(NUMBER_REGEX); + if (matches === null || matches[0].length !== value.length) { + throw new TypeError(`Expected real number, got implicit NaN`); + } + return parseFloat(value); + }; + var limitedParseDouble = (value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return (0, exports.expectNumber)(value); + }; + exports.limitedParseDouble = limitedParseDouble; + exports.handleFloat = exports.limitedParseDouble; + exports.limitedParseFloat = exports.limitedParseDouble; + var limitedParseFloat32 = (value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return (0, exports.expectFloat32)(value); + }; + exports.limitedParseFloat32 = limitedParseFloat32; + var parseFloatString = (value) => { + switch (value) { + case "NaN": + return NaN; + case "Infinity": + return Infinity; + case "-Infinity": + return -Infinity; + default: + throw new Error(`Unable to parse float value: ${value}`); + } + }; + var strictParseLong = (value) => { + if (typeof value === "string") { + return (0, exports.expectLong)(parseNumber(value)); + } + return (0, exports.expectLong)(value); + }; + exports.strictParseLong = strictParseLong; + exports.strictParseInt = exports.strictParseLong; + var strictParseInt32 = (value) => { + if (typeof value === "string") { + return (0, exports.expectInt32)(parseNumber(value)); + } + return (0, exports.expectInt32)(value); + }; + exports.strictParseInt32 = strictParseInt32; + var strictParseShort = (value) => { + if (typeof value === "string") { + return (0, exports.expectShort)(parseNumber(value)); + } + return (0, exports.expectShort)(value); + }; + exports.strictParseShort = strictParseShort; + var strictParseByte = (value) => { + if (typeof value === "string") { + return (0, exports.expectByte)(parseNumber(value)); + } + return (0, exports.expectByte)(value); + }; + exports.strictParseByte = strictParseByte; + var stackTraceWarning = (message) => { + return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n"); + }; + exports.logger = { + warn: console.warn + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js +var require_date_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/date-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0; + var parse_utils_1 = require_parse_utils(); + var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; + var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + function dateToUtcString(date) { + const year = date.getUTCFullYear(); + const month = date.getUTCMonth(); + const dayOfWeek = date.getUTCDay(); + const dayOfMonthInt = date.getUTCDate(); + const hoursInt = date.getUTCHours(); + const minutesInt = date.getUTCMinutes(); + const secondsInt = date.getUTCSeconds(); + const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; + const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; + const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; + const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; + return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`; + } + exports.dateToUtcString = dateToUtcString; + var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); + var parseRfc3339DateTime = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; + const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + }; + exports.parseRfc3339DateTime = parseRfc3339DateTime; + var RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/); + var parseRfc3339DateTimeWithOffset = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339_WITH_OFFSET.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; + const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + if (offsetStr.toUpperCase() != "Z") { + date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr)); + } + return date; + }; + exports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset; + var IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + var RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + var ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/); + var parseRfc7231DateTime = (value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-7231 date-times must be expressed as strings"); + } + let match = IMF_FIXDATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + match = RFC_850_DATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { + hours, + minutes, + seconds, + fractionalMilliseconds + })); + } + match = ASC_TIME.exec(value); + if (match) { + const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; + return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + throw new TypeError("Invalid RFC-7231 date-time value"); + }; + exports.parseRfc7231DateTime = parseRfc7231DateTime; + var parseEpochTimestamp = (value) => { + if (value === null || value === void 0) { + return void 0; + } + let valueAsDouble; + if (typeof value === "number") { + valueAsDouble = value; + } else if (typeof value === "string") { + valueAsDouble = (0, parse_utils_1.strictParseDouble)(value); + } else { + throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); + } + if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { + throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); + } + return new Date(Math.round(valueAsDouble * 1e3)); + }; + exports.parseEpochTimestamp = parseEpochTimestamp; + var buildDate = (year, month, day, time) => { + const adjustedMonth = month - 1; + validateDayOfMonth(year, adjustedMonth, day); + return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, "hour", 0, 23), parseDateValue(time.minutes, "minute", 0, 59), parseDateValue(time.seconds, "seconds", 0, 60), parseMilliseconds(time.fractionalMilliseconds))); + }; + var parseTwoDigitYear = (value) => { + const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); + const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value)); + if (valueInThisCentury < thisYear) { + return valueInThisCentury + 100; + } + return valueInThisCentury; + }; + var FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3; + var adjustRfc850Year = (input) => { + if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) { + return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds())); + } + return input; + }; + var parseMonthByShortName = (value) => { + const monthIdx = MONTHS.indexOf(value); + if (monthIdx < 0) { + throw new TypeError(`Invalid month: ${value}`); + } + return monthIdx + 1; + }; + var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var validateDayOfMonth = (year, month, day) => { + let maxDays = DAYS_IN_MONTH[month]; + if (month === 1 && isLeapYear(year)) { + maxDays = 29; + } + if (day > maxDays) { + throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`); + } + }; + var isLeapYear = (year) => { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + }; + var parseDateValue = (value, type, lower, upper) => { + const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value)); + if (dateVal < lower || dateVal > upper) { + throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); + } + return dateVal; + }; + var parseMilliseconds = (value) => { + if (value === null || value === void 0) { + return 0; + } + return (0, parse_utils_1.strictParseFloat32)("0." + value) * 1e3; + }; + var parseOffsetToMilliseconds = (value) => { + const directionStr = value[0]; + let direction = 1; + if (directionStr == "+") { + direction = 1; + } else if (directionStr == "-") { + direction = -1; + } else { + throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); + } + const hour = Number(value.substring(1, 3)); + const minute = Number(value.substring(4, 6)); + return direction * (hour * 60 + minute) * 60 * 1e3; + }; + var stripLeadingZeroes = (value) => { + let idx = 0; + while (idx < value.length - 1 && value.charAt(idx) === "0") { + idx++; + } + if (idx === 0) { + return value; + } + return value.slice(idx); + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js +var require_exceptions = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/exceptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateServiceException = exports.ServiceException = void 0; + var ServiceException = class _ServiceException extends Error { + constructor(options) { + super(options.message); + Object.setPrototypeOf(this, _ServiceException.prototype); + this.name = options.name; + this.$fault = options.$fault; + this.$metadata = options.$metadata; + } + }; + exports.ServiceException = ServiceException; + var decorateServiceException = (exception, additions = {}) => { + Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => { + if (exception[k] == void 0 || exception[k] === "") { + exception[k] = v; + } + }); + const message = exception.message || exception.Message || "UnknownError"; + exception.message = message; + delete exception.Message; + return exception; + }; + exports.decorateServiceException = decorateServiceException; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js +var require_default_error_handler = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.withBaseException = exports.throwDefaultError = void 0; + var exceptions_1 = require_exceptions(); + var throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => { + const $metadata = deserializeMetadata(output); + const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0; + const response = new exceptionCtor({ + name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || "UnknownError", + $fault: "client", + $metadata + }); + throw (0, exceptions_1.decorateServiceException)(response, parsedBody); + }; + exports.throwDefaultError = throwDefaultError; + var withBaseException = (ExceptionCtor) => { + return ({ output, parsedBody, errorCode }) => { + (0, exports.throwDefaultError)({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); + }; + }; + exports.withBaseException = withBaseException; + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js +var require_defaults_mode = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/defaults-mode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadConfigsForDefaultMode = void 0; + var loadConfigsForDefaultMode = (mode) => { + switch (mode) { + case "standard": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "in-region": + return { + retryMode: "standard", + connectionTimeout: 1100 + }; + case "cross-region": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "mobile": + return { + retryMode: "standard", + connectionTimeout: 3e4 + }; + default: + return {}; + } + }; + exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js +var require_emitWarningIfUnsupportedVersion = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/emitWarningIfUnsupportedVersion.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.emitWarningIfUnsupportedVersion = void 0; + var warningEmitted = false; + var emitWarningIfUnsupportedVersion = (version2) => { + if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 14) { + warningEmitted = true; + } + }; + exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js +var require_extended_encode_uri_component = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/extended-encode-uri-component.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.extendedEncodeURIComponent = void 0; + function extendedEncodeURIComponent(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); + } + exports.extendedEncodeURIComponent = extendedEncodeURIComponent; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js +var require_get_array_if_single_item = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/get-array-if-single-item.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getArrayIfSingleItem = void 0; + var getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray]; + exports.getArrayIfSingleItem = getArrayIfSingleItem; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js +var require_get_value_from_text_node = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/get-value-from-text-node.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getValueFromTextNode = void 0; + var getValueFromTextNode = (obj) => { + const textNodeName = "#text"; + for (const key in obj) { + if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) { + obj[key] = obj[key][textNodeName]; + } else if (typeof obj[key] === "object" && obj[key] !== null) { + obj[key] = (0, exports.getValueFromTextNode)(obj[key]); + } + } + return obj; + }; + exports.getValueFromTextNode = getValueFromTextNode; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js +var require_lazy_json = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/lazy-json.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LazyJsonString = exports.StringWrapper = void 0; + var StringWrapper = function() { + const Class = Object.getPrototypeOf(this).constructor; + const Constructor = Function.bind.apply(String, [null, ...arguments]); + const instance = new Constructor(); + Object.setPrototypeOf(instance, Class.prototype); + return instance; + }; + exports.StringWrapper = StringWrapper; + exports.StringWrapper.prototype = Object.create(String.prototype, { + constructor: { + value: exports.StringWrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + Object.setPrototypeOf(exports.StringWrapper, String); + var LazyJsonString = class _LazyJsonString extends exports.StringWrapper { + deserializeJSON() { + return JSON.parse(super.toString()); + } + toJSON() { + return super.toString(); + } + static fromObject(object) { + if (object instanceof _LazyJsonString) { + return object; + } else if (object instanceof String || typeof object === "string") { + return new _LazyJsonString(object); + } + return new _LazyJsonString(JSON.stringify(object)); + } + }; + exports.LazyJsonString = LazyJsonString; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js +var require_object_mapping = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/object-mapping.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.take = exports.convertMap = exports.map = void 0; + function map(arg0, arg1, arg2) { + let target; + let filter; + let instructions; + if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { + target = {}; + instructions = arg0; + } else { + target = arg0; + if (typeof arg1 === "function") { + filter = arg1; + instructions = arg2; + return mapWithFilter(target, filter, instructions); + } else { + instructions = arg1; + } + } + for (const key of Object.keys(instructions)) { + if (!Array.isArray(instructions[key])) { + target[key] = instructions[key]; + continue; + } + applyInstruction(target, null, instructions, key); + } + return target; + } + exports.map = map; + var convertMap = (target) => { + const output = {}; + for (const [k, v] of Object.entries(target || {})) { + output[k] = [, v]; + } + return output; + }; + exports.convertMap = convertMap; + var take = (source, instructions) => { + const out = {}; + for (const key in instructions) { + applyInstruction(out, source, instructions, key); + } + return out; + }; + exports.take = take; + var mapWithFilter = (target, filter, instructions) => { + return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => { + if (Array.isArray(value)) { + _instructions[key] = value; + } else { + if (typeof value === "function") { + _instructions[key] = [filter, value()]; + } else { + _instructions[key] = [filter, value]; + } + } + return _instructions; + }, {})); + }; + var applyInstruction = (target, source, instructions, targetKey) => { + if (source !== null) { + let instruction = instructions[targetKey]; + if (typeof instruction === "function") { + instruction = [, instruction]; + } + const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; + if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) { + target[targetKey] = valueFn(source[sourceKey]); + } + return; + } + let [filter, value] = instructions[targetKey]; + if (typeof value === "function") { + let _value; + const defaultFilterPassed = filter === void 0 && (_value = value()) != null; + const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed) { + target[targetKey] = _value; + } else if (customFilterPassed) { + target[targetKey] = value(); + } + } else { + const defaultFilterPassed = filter === void 0 && value != null; + const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed || customFilterPassed) { + target[targetKey] = value; + } + } + }; + var nonNullish = (_) => _ != null; + var pass = (_) => _; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js +var require_resolve_path = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/resolve-path.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolvedPath = void 0; + var extended_encode_uri_component_1 = require_extended_encode_uri_component(); + var resolvedPath = (resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { + if (input != null && input[memberName] !== void 0) { + const labelValue = labelValueProvider(); + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: " + memberName + "."); + } + resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment)).join("/") : (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: " + memberName + "."); + } + return resolvedPath2; + }; + exports.resolvedPath = resolvedPath; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js +var require_ser_utils = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/ser-utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.serializeFloat = void 0; + var serializeFloat = (value) => { + if (value !== value) { + return "NaN"; + } + switch (value) { + case Infinity: + return "Infinity"; + case -Infinity: + return "-Infinity"; + default: + return value; + } + }; + exports.serializeFloat = serializeFloat; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js +var require_serde_json = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/serde-json.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._json = void 0; + var _json = (obj) => { + if (obj == null) { + return {}; + } + if (Array.isArray(obj)) { + return obj.filter((_) => _ != null); + } + if (typeof obj === "object") { + const target = {}; + for (const key of Object.keys(obj)) { + if (obj[key] == null) { + continue; + } + target[key] = (0, exports._json)(obj[key]); + } + return target; + } + return obj; + }; + exports._json = _json; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js +var require_split_every = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/split-every.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.splitEvery = void 0; + function splitEvery(value, delimiter, numDelimiters) { + if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { + throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); + } + const segments = value.split(delimiter); + if (numDelimiters === 1) { + return segments; + } + const compoundSegments = []; + let currentSegment = ""; + for (let i = 0; i < segments.length; i++) { + if (currentSegment === "") { + currentSegment = segments[i]; + } else { + currentSegment += delimiter + segments[i]; + } + if ((i + 1) % numDelimiters === 0) { + compoundSegments.push(currentSegment); + currentSegment = ""; + } + } + if (currentSegment !== "") { + compoundSegments.push(currentSegment); + } + return compoundSegments; + } + exports.splitEvery = splitEvery; + } +}); + +// ../../../node_modules/@smithy/smithy-client/dist-cjs/index.js +var require_dist_cjs35 = __commonJS({ + "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_NoOpLogger(), exports); + tslib_1.__exportStar(require_client3(), exports); + tslib_1.__exportStar(require_collect_stream_body(), exports); + tslib_1.__exportStar(require_command3(), exports); + tslib_1.__exportStar(require_constants6(), exports); + tslib_1.__exportStar(require_create_aggregated_client(), exports); + tslib_1.__exportStar(require_date_utils(), exports); + tslib_1.__exportStar(require_default_error_handler(), exports); + tslib_1.__exportStar(require_defaults_mode(), exports); + tslib_1.__exportStar(require_emitWarningIfUnsupportedVersion(), exports); + tslib_1.__exportStar(require_exceptions(), exports); + tslib_1.__exportStar(require_extended_encode_uri_component(), exports); + tslib_1.__exportStar(require_get_array_if_single_item(), exports); + tslib_1.__exportStar(require_get_value_from_text_node(), exports); + tslib_1.__exportStar(require_lazy_json(), exports); + tslib_1.__exportStar(require_object_mapping(), exports); + tslib_1.__exportStar(require_parse_utils(), exports); + tslib_1.__exportStar(require_resolve_path(), exports); + tslib_1.__exportStar(require_ser_utils(), exports); + tslib_1.__exportStar(require_serde_json(), exports); + tslib_1.__exportStar(require_split_every(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "states" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/package.json +var require_package = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sfn", + description: "AWS SDK for JavaScript Sfn Client for Node.js, Browser and React Native", + version: "3.388.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sfn" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.388.0", + "@aws-sdk/credential-provider-node": "3.388.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sfn", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sfn" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js +var require_dist_cjs36 = __commonJS({ + "../../../node_modules/@aws-sdk/middleware-sdk-sts/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveStsAuthConfig = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var resolveStsAuthConfig = (input, { stsClientCtor }) => (0, middleware_signing_1.resolveAwsAuthConfig)({ + ...input, + stsClientCtor + }); + exports.resolveStsAuthConfig = resolveStsAuthConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + useGlobalEndpoint: options.useGlobalEndpoint ?? false, + defaultSigningName: "sts" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/package.json +var require_package2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sts", + description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native", + version: "3.388.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sts", + test: "yarn test:unit", + "test:unit": "jest" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/credential-provider-node": "3.388.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-sdk-sts": "3.387.0", + "@aws-sdk/middleware-signing": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "fast-xml-parser": "4.2.5", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sts" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js +var require_STSServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var STSServiceException = class _STSServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _STSServiceException.prototype); + } + }; + exports.STSServiceException = STSServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js +var require_models_0 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetSessionTokenResponseFilterSensitiveLog = exports.GetFederationTokenResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = exports.AssumeRoleResponseFilterSensitiveLog = exports.CredentialsFilterSensitiveLog = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = void 0; + var smithy_client_1 = require_dist_cjs35(); + var STSServiceException_1 = require_STSServiceException(); + var ExpiredTokenException = class _ExpiredTokenException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + this.name = "ExpiredTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + } + }; + exports.ExpiredTokenException = ExpiredTokenException; + var MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "MalformedPolicyDocumentException", + $fault: "client", + ...opts + }); + this.name = "MalformedPolicyDocumentException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype); + } + }; + exports.MalformedPolicyDocumentException = MalformedPolicyDocumentException; + var PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "PackedPolicyTooLargeException", + $fault: "client", + ...opts + }); + this.name = "PackedPolicyTooLargeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype); + } + }; + exports.PackedPolicyTooLargeException = PackedPolicyTooLargeException; + var RegionDisabledException = class _RegionDisabledException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "RegionDisabledException", + $fault: "client", + ...opts + }); + this.name = "RegionDisabledException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _RegionDisabledException.prototype); + } + }; + exports.RegionDisabledException = RegionDisabledException; + var IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "IDPRejectedClaimException", + $fault: "client", + ...opts + }); + this.name = "IDPRejectedClaimException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype); + } + }; + exports.IDPRejectedClaimException = IDPRejectedClaimException; + var InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "InvalidIdentityTokenException", + $fault: "client", + ...opts + }); + this.name = "InvalidIdentityTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype); + } + }; + exports.InvalidIdentityTokenException = InvalidIdentityTokenException; + var IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "IDPCommunicationErrorException", + $fault: "client", + ...opts + }); + this.name = "IDPCommunicationErrorException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype); + } + }; + exports.IDPCommunicationErrorException = IDPCommunicationErrorException; + var InvalidAuthorizationMessageException = class _InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException { + constructor(opts) { + super({ + name: "InvalidAuthorizationMessageException", + $fault: "client", + ...opts + }); + this.name = "InvalidAuthorizationMessageException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidAuthorizationMessageException.prototype); + } + }; + exports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException; + var CredentialsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.SecretAccessKey && { SecretAccessKey: smithy_client_1.SENSITIVE_STRING } + }); + exports.CredentialsFilterSensitiveLog = CredentialsFilterSensitiveLog; + var AssumeRoleResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleResponseFilterSensitiveLog = AssumeRoleResponseFilterSensitiveLog; + var AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.SAMLAssertion && { SAMLAssertion: smithy_client_1.SENSITIVE_STRING } + }); + exports.AssumeRoleWithSAMLRequestFilterSensitiveLog = AssumeRoleWithSAMLRequestFilterSensitiveLog; + var AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleWithSAMLResponseFilterSensitiveLog = AssumeRoleWithSAMLResponseFilterSensitiveLog; + var AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.WebIdentityToken && { WebIdentityToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.AssumeRoleWithWebIdentityRequestFilterSensitiveLog = AssumeRoleWithWebIdentityRequestFilterSensitiveLog; + var AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.AssumeRoleWithWebIdentityResponseFilterSensitiveLog = AssumeRoleWithWebIdentityResponseFilterSensitiveLog; + var GetFederationTokenResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.GetFederationTokenResponseFilterSensitiveLog = GetFederationTokenResponseFilterSensitiveLog; + var GetSessionTokenResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.Credentials && { Credentials: (0, exports.CredentialsFilterSensitiveLog)(obj.Credentials) } + }); + exports.GetSessionTokenResponseFilterSensitiveLog = GetSessionTokenResponseFilterSensitiveLog; + } +}); + +// ../../../node_modules/fast-xml-parser/src/util.js +var require_util4 = __commonJS({ + "../../../node_modules/fast-xml-parser/src/util.js"(exports) { + "use strict"; + var nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; + var nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; + var nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; + var regexName = new RegExp("^" + nameRegexp + "$"); + var getAllMatches = function(string, regex) { + const matches = []; + let match = regex.exec(string); + while (match) { + const allmatches = []; + allmatches.startIndex = regex.lastIndex - match[0].length; + const len = match.length; + for (let index = 0; index < len; index++) { + allmatches.push(match[index]); + } + matches.push(allmatches); + match = regex.exec(string); + } + return matches; + }; + var isName = function(string) { + const match = regexName.exec(string); + return !(match === null || typeof match === "undefined"); + }; + exports.isExist = function(v) { + return typeof v !== "undefined"; + }; + exports.isEmptyObject = function(obj) { + return Object.keys(obj).length === 0; + }; + exports.merge = function(target, a, arrayMode) { + if (a) { + const keys = Object.keys(a); + const len = keys.length; + for (let i = 0; i < len; i++) { + if (arrayMode === "strict") { + target[keys[i]] = [a[keys[i]]]; + } else { + target[keys[i]] = a[keys[i]]; + } + } + } + }; + exports.getValue = function(v) { + if (exports.isExist(v)) { + return v; + } else { + return ""; + } + }; + exports.isName = isName; + exports.getAllMatches = getAllMatches; + exports.nameRegexp = nameRegexp; + } +}); + +// ../../../node_modules/fast-xml-parser/src/validator.js +var require_validator = __commonJS({ + "../../../node_modules/fast-xml-parser/src/validator.js"(exports) { + "use strict"; + var util = require_util4(); + var defaultOptions = { + allowBooleanAttributes: false, + //A tag can have attributes without any value + unpairedTags: [] + }; + exports.validate = function(xmlData, options) { + options = Object.assign({}, defaultOptions, options); + const tags = []; + let tagFound = false; + let reachedRoot = false; + if (xmlData[0] === "\uFEFF") { + xmlData = xmlData.substr(1); + } + for (let i = 0; i < xmlData.length; i++) { + if (xmlData[i] === "<" && xmlData[i + 1] === "?") { + i += 2; + i = readPI(xmlData, i); + if (i.err) + return i; + } else if (xmlData[i] === "<") { + let tagStartPos = i; + i++; + if (xmlData[i] === "!") { + i = readCommentAndCDATA(xmlData, i); + continue; + } else { + let closingTag = false; + if (xmlData[i] === "/") { + closingTag = true; + i++; + } + let tagName = ""; + for (; i < xmlData.length && xmlData[i] !== ">" && xmlData[i] !== " " && xmlData[i] !== " " && xmlData[i] !== "\n" && xmlData[i] !== "\r"; i++) { + tagName += xmlData[i]; + } + tagName = tagName.trim(); + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substring(0, tagName.length - 1); + i--; + } + if (!validateTagName(tagName)) { + let msg; + if (tagName.trim().length === 0) { + msg = "Invalid space after '<'."; + } else { + msg = "Tag '" + tagName + "' is an invalid name."; + } + return getErrorObject("InvalidTag", msg, getLineNumberForPosition(xmlData, i)); + } + const result = readAttributeStr(xmlData, i); + if (result === false) { + return getErrorObject("InvalidAttr", "Attributes for '" + tagName + "' have open quote.", getLineNumberForPosition(xmlData, i)); + } + let attrStr = result.value; + i = result.index; + if (attrStr[attrStr.length - 1] === "/") { + const attrStrStart = i - attrStr.length; + attrStr = attrStr.substring(0, attrStr.length - 1); + const isValid = validateAttributeString(attrStr, options); + if (isValid === true) { + tagFound = true; + } else { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); + } + } else if (closingTag) { + if (!result.tagClosed) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); + } else if (attrStr.trim().length > 0) { + return getErrorObject("InvalidTag", "Closing tag '" + tagName + "' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); + } else { + const otg = tags.pop(); + if (tagName !== otg.tagName) { + let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); + return getErrorObject( + "InvalidTag", + "Expected closing tag '" + otg.tagName + "' (opened in line " + openPos.line + ", col " + openPos.col + ") instead of closing tag '" + tagName + "'.", + getLineNumberForPosition(xmlData, tagStartPos) + ); + } + if (tags.length == 0) { + reachedRoot = true; + } + } + } else { + const isValid = validateAttributeString(attrStr, options); + if (isValid !== true) { + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); + } + if (reachedRoot === true) { + return getErrorObject("InvalidXml", "Multiple possible root nodes found.", getLineNumberForPosition(xmlData, i)); + } else if (options.unpairedTags.indexOf(tagName) !== -1) { + } else { + tags.push({ tagName, tagStartPos }); + } + tagFound = true; + } + for (i++; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "!") { + i++; + i = readCommentAndCDATA(xmlData, i); + continue; + } else if (xmlData[i + 1] === "?") { + i = readPI(xmlData, ++i); + if (i.err) + return i; + } else { + break; + } + } else if (xmlData[i] === "&") { + const afterAmp = validateAmpersand(xmlData, i); + if (afterAmp == -1) + return getErrorObject("InvalidChar", "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); + i = afterAmp; + } else { + if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { + return getErrorObject("InvalidXml", "Extra text at the end", getLineNumberForPosition(xmlData, i)); + } + } + } + if (xmlData[i] === "<") { + i--; + } + } + } else { + if (isWhiteSpace(xmlData[i])) { + continue; + } + return getErrorObject("InvalidChar", "char '" + xmlData[i] + "' is not expected.", getLineNumberForPosition(xmlData, i)); + } + } + if (!tagFound) { + return getErrorObject("InvalidXml", "Start tag expected.", 1); + } else if (tags.length == 1) { + return getErrorObject("InvalidTag", "Unclosed tag '" + tags[0].tagName + "'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); + } else if (tags.length > 0) { + return getErrorObject("InvalidXml", "Invalid '" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }); + } + return true; + }; + function isWhiteSpace(char) { + return char === " " || char === " " || char === "\n" || char === "\r"; + } + function readPI(xmlData, i) { + const start = i; + for (; i < xmlData.length; i++) { + if (xmlData[i] == "?" || xmlData[i] == " ") { + const tagname = xmlData.substr(start, i - start); + if (i > 5 && tagname === "xml") { + return getErrorObject("InvalidXml", "XML declaration allowed only at the start of the document.", getLineNumberForPosition(xmlData, i)); + } else if (xmlData[i] == "?" && xmlData[i + 1] == ">") { + i++; + break; + } else { + continue; + } + } + } + return i; + } + function readCommentAndCDATA(xmlData, i) { + if (xmlData.length > i + 5 && xmlData[i + 1] === "-" && xmlData[i + 2] === "-") { + for (i += 3; i < xmlData.length; i++) { + if (xmlData[i] === "-" && xmlData[i + 1] === "-" && xmlData[i + 2] === ">") { + i += 2; + break; + } + } + } else if (xmlData.length > i + 8 && xmlData[i + 1] === "D" && xmlData[i + 2] === "O" && xmlData[i + 3] === "C" && xmlData[i + 4] === "T" && xmlData[i + 5] === "Y" && xmlData[i + 6] === "P" && xmlData[i + 7] === "E") { + let angleBracketsCount = 1; + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + angleBracketsCount++; + } else if (xmlData[i] === ">") { + angleBracketsCount--; + if (angleBracketsCount === 0) { + break; + } + } + } + } else if (xmlData.length > i + 9 && xmlData[i + 1] === "[" && xmlData[i + 2] === "C" && xmlData[i + 3] === "D" && xmlData[i + 4] === "A" && xmlData[i + 5] === "T" && xmlData[i + 6] === "A" && xmlData[i + 7] === "[") { + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === "]" && xmlData[i + 1] === "]" && xmlData[i + 2] === ">") { + i += 2; + break; + } + } + } + return i; + } + var doubleQuote = '"'; + var singleQuote = "'"; + function readAttributeStr(xmlData, i) { + let attrStr = ""; + let startChar = ""; + let tagClosed = false; + for (; i < xmlData.length; i++) { + if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { + if (startChar === "") { + startChar = xmlData[i]; + } else if (startChar !== xmlData[i]) { + } else { + startChar = ""; + } + } else if (xmlData[i] === ">") { + if (startChar === "") { + tagClosed = true; + break; + } + } + attrStr += xmlData[i]; + } + if (startChar !== "") { + return false; + } + return { + value: attrStr, + index: i, + tagClosed + }; + } + var validAttrStrRegxp = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); + function validateAttributeString(attrStr, options) { + const matches = util.getAllMatches(attrStr, validAttrStrRegxp); + const attrNames = {}; + for (let i = 0; i < matches.length; i++) { + if (matches[i][1].length === 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' has no space in starting.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) { + return getErrorObject("InvalidAttr", "Attribute '" + matches[i][2] + "' is without value.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) { + return getErrorObject("InvalidAttr", "boolean attribute '" + matches[i][2] + "' is not allowed.", getPositionFromMatch(matches[i])); + } + const attrName = matches[i][2]; + if (!validateAttrName(attrName)) { + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is an invalid name.", getPositionFromMatch(matches[i])); + } + if (!attrNames.hasOwnProperty(attrName)) { + attrNames[attrName] = 1; + } else { + return getErrorObject("InvalidAttr", "Attribute '" + attrName + "' is repeated.", getPositionFromMatch(matches[i])); + } + } + return true; + } + function validateNumberAmpersand(xmlData, i) { + let re = /\d/; + if (xmlData[i] === "x") { + i++; + re = /[\da-fA-F]/; + } + for (; i < xmlData.length; i++) { + if (xmlData[i] === ";") + return i; + if (!xmlData[i].match(re)) + break; + } + return -1; + } + function validateAmpersand(xmlData, i) { + i++; + if (xmlData[i] === ";") + return -1; + if (xmlData[i] === "#") { + i++; + return validateNumberAmpersand(xmlData, i); + } + let count = 0; + for (; i < xmlData.length; i++, count++) { + if (xmlData[i].match(/\w/) && count < 20) + continue; + if (xmlData[i] === ";") + break; + return -1; + } + return i; + } + function getErrorObject(code, message, lineNumber) { + return { + err: { + code, + msg: message, + line: lineNumber.line || lineNumber, + col: lineNumber.col + } + }; + } + function validateAttrName(attrName) { + return util.isName(attrName); + } + function validateTagName(tagname) { + return util.isName(tagname); + } + function getLineNumberForPosition(xmlData, index) { + const lines = xmlData.substring(0, index).split(/\r?\n/); + return { + line: lines.length, + // column number is last line's length + 1, because column numbering starts at 1: + col: lines[lines.length - 1].length + 1 + }; + } + function getPositionFromMatch(match) { + return match.startIndex + match[1].length; + } + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +var require_OptionsBuilder = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(exports) { + var defaultOptions = { + preserveOrder: false, + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + removeNSPrefix: false, + // remove NS from tag name or attribute name if true + allowBooleanAttributes: false, + //a tag can have attributes without any value + //ignoreRootElement : false, + parseTagValue: true, + parseAttributeValue: false, + trimValues: true, + //Trim string values of tag and attributes + cdataPropName: false, + numberParseOptions: { + hex: true, + leadingZeros: true, + eNotation: true + }, + tagValueProcessor: function(tagName, val2) { + return val2; + }, + attributeValueProcessor: function(attrName, val2) { + return val2; + }, + stopNodes: [], + //nested tags will not be parsed even for errors + alwaysCreateTextNode: false, + isArray: () => false, + commentPropName: false, + unpairedTags: [], + processEntities: true, + htmlEntities: false, + ignoreDeclaration: false, + ignorePiTags: false, + transformTagName: false, + transformAttributeName: false, + updateTag: function(tagName, jPath, attrs) { + return tagName; + } + // skipEmptyListItem: false + }; + var buildOptions = function(options) { + return Object.assign({}, defaultOptions, options); + }; + exports.buildOptions = buildOptions; + exports.defaultOptions = defaultOptions; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +var require_xmlNode = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(exports, module2) { + "use strict"; + var XmlNode = class { + constructor(tagname) { + this.tagname = tagname; + this.child = []; + this[":@"] = {}; + } + add(key, val2) { + if (key === "__proto__") + key = "#__proto__"; + this.child.push({ [key]: val2 }); + } + addChild(node) { + if (node.tagname === "__proto__") + node.tagname = "#__proto__"; + if (node[":@"] && Object.keys(node[":@"]).length > 0) { + this.child.push({ [node.tagname]: node.child, [":@"]: node[":@"] }); + } else { + this.child.push({ [node.tagname]: node.child }); + } + } + }; + module2.exports = XmlNode; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +var require_DocTypeReader = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(exports, module2) { + var util = require_util4(); + function readDocType(xmlData, i) { + const entities = {}; + if (xmlData[i + 3] === "O" && xmlData[i + 4] === "C" && xmlData[i + 5] === "T" && xmlData[i + 6] === "Y" && xmlData[i + 7] === "P" && xmlData[i + 8] === "E") { + i = i + 9; + let angleBracketsCount = 1; + let hasBody = false, comment = false; + let exp = ""; + for (; i < xmlData.length; i++) { + if (xmlData[i] === "<" && !comment) { + if (hasBody && isEntity(xmlData, i)) { + i += 7; + [entityName, val, i] = readEntityExp(xmlData, i + 1); + if (val.indexOf("&") === -1) + entities[validateEntityName(entityName)] = { + regx: RegExp(`&${entityName};`, "g"), + val + }; + } else if (hasBody && isElement(xmlData, i)) + i += 8; + else if (hasBody && isAttlist(xmlData, i)) + i += 8; + else if (hasBody && isNotation(xmlData, i)) + i += 9; + else if (isComment) + comment = true; + else + throw new Error("Invalid DOCTYPE"); + angleBracketsCount++; + exp = ""; + } else if (xmlData[i] === ">") { + if (comment) { + if (xmlData[i - 1] === "-" && xmlData[i - 2] === "-") { + comment = false; + angleBracketsCount--; + } + } else { + angleBracketsCount--; + } + if (angleBracketsCount === 0) { + break; + } + } else if (xmlData[i] === "[") { + hasBody = true; + } else { + exp += xmlData[i]; + } + } + if (angleBracketsCount !== 0) { + throw new Error(`Unclosed DOCTYPE`); + } + } else { + throw new Error(`Invalid Tag instead of DOCTYPE`); + } + return { entities, i }; + } + function readEntityExp(xmlData, i) { + let entityName2 = ""; + for (; i < xmlData.length && (xmlData[i] !== "'" && xmlData[i] !== '"'); i++) { + entityName2 += xmlData[i]; + } + entityName2 = entityName2.trim(); + if (entityName2.indexOf(" ") !== -1) + throw new Error("External entites are not supported"); + const startChar = xmlData[i++]; + let val2 = ""; + for (; i < xmlData.length && xmlData[i] !== startChar; i++) { + val2 += xmlData[i]; + } + return [entityName2, val2, i]; + } + function isComment(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "-" && xmlData[i + 3] === "-") + return true; + return false; + } + function isEntity(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "N" && xmlData[i + 4] === "T" && xmlData[i + 5] === "I" && xmlData[i + 6] === "T" && xmlData[i + 7] === "Y") + return true; + return false; + } + function isElement(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "E" && xmlData[i + 3] === "L" && xmlData[i + 4] === "E" && xmlData[i + 5] === "M" && xmlData[i + 6] === "E" && xmlData[i + 7] === "N" && xmlData[i + 8] === "T") + return true; + return false; + } + function isAttlist(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "A" && xmlData[i + 3] === "T" && xmlData[i + 4] === "T" && xmlData[i + 5] === "L" && xmlData[i + 6] === "I" && xmlData[i + 7] === "S" && xmlData[i + 8] === "T") + return true; + return false; + } + function isNotation(xmlData, i) { + if (xmlData[i + 1] === "!" && xmlData[i + 2] === "N" && xmlData[i + 3] === "O" && xmlData[i + 4] === "T" && xmlData[i + 5] === "A" && xmlData[i + 6] === "T" && xmlData[i + 7] === "I" && xmlData[i + 8] === "O" && xmlData[i + 9] === "N") + return true; + return false; + } + function validateEntityName(name) { + if (util.isName(name)) + return name; + else + throw new Error(`Invalid entity name ${name}`); + } + module2.exports = readDocType; + } +}); + +// ../../../node_modules/strnum/strnum.js +var require_strnum = __commonJS({ + "../../../node_modules/strnum/strnum.js"(exports, module2) { + var hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; + var numRegex = /^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/; + if (!Number.parseInt && window.parseInt) { + Number.parseInt = window.parseInt; + } + if (!Number.parseFloat && window.parseFloat) { + Number.parseFloat = window.parseFloat; + } + var consider = { + hex: true, + leadingZeros: true, + decimalPoint: ".", + eNotation: true + //skipLike: /regex/ + }; + function toNumber(str, options = {}) { + options = Object.assign({}, consider, options); + if (!str || typeof str !== "string") + return str; + let trimmedStr = str.trim(); + if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) + return str; + else if (options.hex && hexRegex.test(trimmedStr)) { + return Number.parseInt(trimmedStr, 16); + } else { + const match = numRegex.exec(trimmedStr); + if (match) { + const sign = match[1]; + const leadingZeros = match[2]; + let numTrimmedByZeros = trimZeros(match[3]); + const eNotation = match[4] || match[6]; + if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== ".") + return str; + else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") + return str; + else { + const num = Number(trimmedStr); + const numStr = "" + num; + if (numStr.search(/[eE]/) !== -1) { + if (options.eNotation) + return num; + else + return str; + } else if (eNotation) { + if (options.eNotation) + return num; + else + return str; + } else if (trimmedStr.indexOf(".") !== -1) { + if (numStr === "0" && numTrimmedByZeros === "") + return num; + else if (numStr === numTrimmedByZeros) + return num; + else if (sign && numStr === "-" + numTrimmedByZeros) + return num; + else + return str; + } + if (leadingZeros) { + if (numTrimmedByZeros === numStr) + return num; + else if (sign + numTrimmedByZeros === numStr) + return num; + else + return str; + } + if (trimmedStr === numStr) + return num; + else if (trimmedStr === sign + numStr) + return num; + return str; + } + } else { + return str; + } + } + } + function trimZeros(numStr) { + if (numStr && numStr.indexOf(".") !== -1) { + numStr = numStr.replace(/0+$/, ""); + if (numStr === ".") + numStr = "0"; + else if (numStr[0] === ".") + numStr = "0" + numStr; + else if (numStr[numStr.length - 1] === ".") + numStr = numStr.substr(0, numStr.length - 1); + return numStr; + } + return numStr; + } + module2.exports = toNumber; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +var require_OrderedObjParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(exports, module2) { + "use strict"; + var util = require_util4(); + var xmlNode = require_xmlNode(); + var readDocType = require_DocTypeReader(); + var toNumber = require_strnum(); + var regx = "<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util.nameRegexp); + var OrderedObjParser = class { + constructor(options) { + this.options = options; + this.currentNode = null; + this.tagsNodeStack = []; + this.docTypeEntities = {}; + this.lastEntities = { + "apos": { regex: /&(apos|#39|#x27);/g, val: "'" }, + "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" }, + "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" }, + "quot": { regex: /&(quot|#34|#x22);/g, val: '"' } + }; + this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }; + this.htmlEntities = { + "space": { regex: /&(nbsp|#160);/g, val: " " }, + // "lt" : { regex: /&(lt|#60);/g, val: "<" }, + // "gt" : { regex: /&(gt|#62);/g, val: ">" }, + // "amp" : { regex: /&(amp|#38);/g, val: "&" }, + // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, + // "apos" : { regex: /&(apos|#39);/g, val: "'" }, + "cent": { regex: /&(cent|#162);/g, val: "\xA2" }, + "pound": { regex: /&(pound|#163);/g, val: "\xA3" }, + "yen": { regex: /&(yen|#165);/g, val: "\xA5" }, + "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" }, + "copyright": { regex: /&(copy|#169);/g, val: "\xA9" }, + "reg": { regex: /&(reg|#174);/g, val: "\xAE" }, + "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" } + }; + this.addExternalEntities = addExternalEntities; + this.parseXml = parseXml; + this.parseTextData = parseTextData; + this.resolveNameSpace = resolveNameSpace; + this.buildAttributesMap = buildAttributesMap; + this.isItStopNode = isItStopNode; + this.replaceEntitiesValue = replaceEntitiesValue; + this.readStopNodeData = readStopNodeData; + this.saveTextToParentTag = saveTextToParentTag; + this.addChild = addChild; + } + }; + function addExternalEntities(externalEntities) { + const entKeys = Object.keys(externalEntities); + for (let i = 0; i < entKeys.length; i++) { + const ent = entKeys[i]; + this.lastEntities[ent] = { + regex: new RegExp("&" + ent + ";", "g"), + val: externalEntities[ent] + }; + } + } + function parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { + if (val2 !== void 0) { + if (this.options.trimValues && !dontTrim) { + val2 = val2.trim(); + } + if (val2.length > 0) { + if (!escapeEntities) + val2 = this.replaceEntitiesValue(val2); + const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode); + if (newval === null || newval === void 0) { + return val2; + } else if (typeof newval !== typeof val2 || newval !== val2) { + return newval; + } else if (this.options.trimValues) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + const trimmedVal = val2.trim(); + if (trimmedVal === val2) { + return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions); + } else { + return val2; + } + } + } + } + } + function resolveNameSpace(tagname) { + if (this.options.removeNSPrefix) { + const tags = tagname.split(":"); + const prefix = tagname.charAt(0) === "/" ? "/" : ""; + if (tags[0] === "xmlns") { + return ""; + } + if (tags.length === 2) { + tagname = prefix + tags[1]; + } + } + return tagname; + } + var attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); + function buildAttributesMap(attrStr, jPath, tagName) { + if (!this.options.ignoreAttributes && typeof attrStr === "string") { + const matches = util.getAllMatches(attrStr, attrsRegx); + const len = matches.length; + const attrs = {}; + for (let i = 0; i < len; i++) { + const attrName = this.resolveNameSpace(matches[i][1]); + let oldVal = matches[i][4]; + let aName = this.options.attributeNamePrefix + attrName; + if (attrName.length) { + if (this.options.transformAttributeName) { + aName = this.options.transformAttributeName(aName); + } + if (aName === "__proto__") + aName = "#__proto__"; + if (oldVal !== void 0) { + if (this.options.trimValues) { + oldVal = oldVal.trim(); + } + oldVal = this.replaceEntitiesValue(oldVal); + const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); + if (newVal === null || newVal === void 0) { + attrs[aName] = oldVal; + } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) { + attrs[aName] = newVal; + } else { + attrs[aName] = parseValue( + oldVal, + this.options.parseAttributeValue, + this.options.numberParseOptions + ); + } + } else if (this.options.allowBooleanAttributes) { + attrs[aName] = true; + } + } + } + if (!Object.keys(attrs).length) { + return; + } + if (this.options.attributesGroupName) { + const attrCollection = {}; + attrCollection[this.options.attributesGroupName] = attrs; + return attrCollection; + } + return attrs; + } + } + var parseXml = function(xmlData) { + xmlData = xmlData.replace(/\r\n?/g, "\n"); + const xmlObj = new xmlNode("!xml"); + let currentNode = xmlObj; + let textData = ""; + let jPath = ""; + for (let i = 0; i < xmlData.length; i++) { + const ch = xmlData[i]; + if (ch === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed."); + let tagName = xmlData.substring(i + 2, closeIndex).trim(); + if (this.options.removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + } + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode) { + textData = this.saveTextToParentTag(textData, currentNode, jPath); + } + const lastTagName = jPath.substring(jPath.lastIndexOf(".") + 1); + if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) { + throw new Error(`Unpaired tag can not be used as closing tag: `); + } + let propIndex = 0; + if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) { + propIndex = jPath.lastIndexOf(".", jPath.lastIndexOf(".") - 1); + this.tagsNodeStack.pop(); + } else { + propIndex = jPath.lastIndexOf("."); + } + jPath = jPath.substring(0, propIndex); + currentNode = this.tagsNodeStack.pop(); + textData = ""; + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + let tagData = readTagExp(xmlData, i, false, "?>"); + if (!tagData) + throw new Error("Pi Tag is not closed."); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) { + } else { + const childNode = new xmlNode(tagData.tagName); + childNode.add(this.options.textNodeName, ""); + if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName); + } + this.addChild(currentNode, childNode, jPath); + } + i = tagData.closeIndex + 1; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed."); + if (this.options.commentPropName) { + const comment = xmlData.substring(i + 4, endIndex - 2); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]); + } + i = endIndex; + } else if (xmlData.substr(i + 1, 2) === "!D") { + const result = readDocType(xmlData, i); + this.docTypeEntities = result.entities; + i = result.i; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; + const tagExp = xmlData.substring(i + 9, closeIndex); + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if (this.options.cdataPropName) { + currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]); + } else { + let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true); + if (val2 == void 0) + val2 = ""; + currentNode.add(this.options.textNodeName, val2); + } + i = closeIndex + 2; + } else { + let result = readTagExp(xmlData, i, this.options.removeNSPrefix); + let tagName = result.tagName; + let tagExp = result.tagExp; + let attrExpPresent = result.attrExpPresent; + let closeIndex = result.closeIndex; + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + if (currentNode && textData) { + if (currentNode.tagname !== "!xml") { + textData = this.saveTextToParentTag(textData, currentNode, jPath, false); + } + } + const lastTag = currentNode; + if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) { + currentNode = this.tagsNodeStack.pop(); + jPath = jPath.substring(0, jPath.lastIndexOf(".")); + } + if (tagName !== xmlObj.tagname) { + jPath += jPath ? "." + tagName : tagName; + } + if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { + let tagContent = ""; + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + i = result.closeIndex; + } else if (this.options.unpairedTags.indexOf(tagName) !== -1) { + i = result.closeIndex; + } else { + const result2 = this.readStopNodeData(xmlData, tagName, closeIndex + 1); + if (!result2) + throw new Error(`Unexpected end of ${tagName}`); + i = result2.i; + tagContent = result2.tagContent; + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + if (tagContent) { + tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); + } + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + childNode.add(this.options.textNodeName, tagContent); + this.addChild(currentNode, childNode, jPath); + } else { + if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) { + if (tagName[tagName.length - 1] === "/") { + tagName = tagName.substr(0, tagName.length - 1); + tagExp = tagName; + } else { + tagExp = tagExp.substr(0, tagExp.length - 1); + } + if (this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + const childNode = new xmlNode(tagName); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + } else { + const childNode = new xmlNode(tagName); + this.tagsNodeStack.push(currentNode); + if (tagName !== tagExp && attrExpPresent) { + childNode[":@"] = this.buildAttributesMap(tagExp, jPath, tagName); + } + this.addChild(currentNode, childNode, jPath); + currentNode = childNode; + } + textData = ""; + i = closeIndex; + } + } + } else { + textData += xmlData[i]; + } + } + return xmlObj.child; + }; + function addChild(currentNode, childNode, jPath) { + const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]); + if (result === false) { + } else if (typeof result === "string") { + childNode.tagname = result; + currentNode.addChild(childNode); + } else { + currentNode.addChild(childNode); + } + } + var replaceEntitiesValue = function(val2) { + if (this.options.processEntities) { + for (let entityName2 in this.docTypeEntities) { + const entity = this.docTypeEntities[entityName2]; + val2 = val2.replace(entity.regx, entity.val); + } + for (let entityName2 in this.lastEntities) { + const entity = this.lastEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); + } + if (this.options.htmlEntities) { + for (let entityName2 in this.htmlEntities) { + const entity = this.htmlEntities[entityName2]; + val2 = val2.replace(entity.regex, entity.val); + } + } + val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val); + } + return val2; + }; + function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { + if (textData) { + if (isLeafNode === void 0) + isLeafNode = Object.keys(currentNode.child).length === 0; + textData = this.parseTextData( + textData, + currentNode.tagname, + jPath, + false, + currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, + isLeafNode + ); + if (textData !== void 0 && textData !== "") + currentNode.add(this.options.textNodeName, textData); + textData = ""; + } + return textData; + } + function isItStopNode(stopNodes, jPath, currentTagName) { + const allNodesExp = "*." + currentTagName; + for (const stopNodePath in stopNodes) { + const stopNodeExp = stopNodes[stopNodePath]; + if (allNodesExp === stopNodeExp || jPath === stopNodeExp) + return true; + } + return false; + } + function tagExpWithClosingIndex(xmlData, i, closingChar = ">") { + let attrBoundary; + let tagExp = ""; + for (let index = i; index < xmlData.length; index++) { + let ch = xmlData[index]; + if (attrBoundary) { + if (ch === attrBoundary) + attrBoundary = ""; + } else if (ch === '"' || ch === "'") { + attrBoundary = ch; + } else if (ch === closingChar[0]) { + if (closingChar[1]) { + if (xmlData[index + 1] === closingChar[1]) { + return { + data: tagExp, + index + }; + } + } else { + return { + data: tagExp, + index + }; + } + } else if (ch === " ") { + ch = " "; + } + tagExp += ch; + } + } + function findClosingIndex(xmlData, str, i, errMsg) { + const closingIndex = xmlData.indexOf(str, i); + if (closingIndex === -1) { + throw new Error(errMsg); + } else { + return closingIndex + str.length - 1; + } + } + function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") { + const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar); + if (!result) + return; + let tagExp = result.data; + const closeIndex = result.index; + const separatorIndex = tagExp.search(/\s/); + let tagName = tagExp; + let attrExpPresent = true; + if (separatorIndex !== -1) { + tagName = tagExp.substr(0, separatorIndex).replace(/\s\s*$/, ""); + tagExp = tagExp.substr(separatorIndex + 1); + } + if (removeNSPrefix) { + const colonIndex = tagName.indexOf(":"); + if (colonIndex !== -1) { + tagName = tagName.substr(colonIndex + 1); + attrExpPresent = tagName !== result.data.substr(colonIndex + 1); + } + } + return { + tagName, + tagExp, + closeIndex, + attrExpPresent + }; + } + function readStopNodeData(xmlData, tagName, i) { + const startIndex = i; + let openTagCount = 1; + for (; i < xmlData.length; i++) { + if (xmlData[i] === "<") { + if (xmlData[i + 1] === "/") { + const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); + let closeTagName = xmlData.substring(i + 2, closeIndex).trim(); + if (closeTagName === tagName) { + openTagCount--; + if (openTagCount === 0) { + return { + tagContent: xmlData.substring(startIndex, i), + i: closeIndex + }; + } + } + i = closeIndex; + } else if (xmlData[i + 1] === "?") { + const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 3) === "!--") { + const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed."); + i = closeIndex; + } else if (xmlData.substr(i + 1, 2) === "![") { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; + i = closeIndex; + } else { + const tagData = readTagExp(xmlData, i, ">"); + if (tagData) { + const openTagName = tagData && tagData.tagName; + if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== "/") { + openTagCount++; + } + i = tagData.closeIndex; + } + } + } + } + } + function parseValue(val2, shouldParse, options) { + if (shouldParse && typeof val2 === "string") { + const newval = val2.trim(); + if (newval === "true") + return true; + else if (newval === "false") + return false; + else + return toNumber(val2, options); + } else { + if (util.isExist(val2)) { + return val2; + } else { + return ""; + } + } + } + module2.exports = OrderedObjParser; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js +var require_node2json = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js"(exports) { + "use strict"; + function prettify(node, options) { + return compress(node, options); + } + function compress(arr, options, jPath) { + let text; + const compressedObj = {}; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const property = propName(tagObj); + let newJpath = ""; + if (jPath === void 0) + newJpath = property; + else + newJpath = jPath + "." + property; + if (property === options.textNodeName) { + if (text === void 0) + text = tagObj[property]; + else + text += "" + tagObj[property]; + } else if (property === void 0) { + continue; + } else if (tagObj[property]) { + let val2 = compress(tagObj[property], options, newJpath); + const isLeaf = isLeafTag(val2, options); + if (tagObj[":@"]) { + assignAttributes(val2, tagObj[":@"], newJpath, options); + } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) { + val2 = val2[options.textNodeName]; + } else if (Object.keys(val2).length === 0) { + if (options.alwaysCreateTextNode) + val2[options.textNodeName] = ""; + else + val2 = ""; + } + if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) { + if (!Array.isArray(compressedObj[property])) { + compressedObj[property] = [compressedObj[property]]; + } + compressedObj[property].push(val2); + } else { + if (options.isArray(property, newJpath, isLeaf)) { + compressedObj[property] = [val2]; + } else { + compressedObj[property] = val2; + } + } + } + } + if (typeof text === "string") { + if (text.length > 0) + compressedObj[options.textNodeName] = text; + } else if (text !== void 0) + compressedObj[options.textNodeName] = text; + return compressedObj; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== ":@") + return key; + } + } + function assignAttributes(obj, attrMap, jpath, options) { + if (attrMap) { + const keys = Object.keys(attrMap); + const len = keys.length; + for (let i = 0; i < len; i++) { + const atrrName = keys[i]; + if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { + obj[atrrName] = [attrMap[atrrName]]; + } else { + obj[atrrName] = attrMap[atrrName]; + } + } + } + } + function isLeafTag(obj, options) { + const { textNodeName } = options; + const propCount = Object.keys(obj).length; + if (propCount === 0) { + return true; + } + if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0)) { + return true; + } + return false; + } + exports.prettify = prettify; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +var require_XMLParser = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(exports, module2) { + var { buildOptions } = require_OptionsBuilder(); + var OrderedObjParser = require_OrderedObjParser(); + var { prettify } = require_node2json(); + var validator = require_validator(); + var XMLParser = class { + constructor(options) { + this.externalEntities = {}; + this.options = buildOptions(options); + } + /** + * Parse XML dats to JS object + * @param {string|Buffer} xmlData + * @param {boolean|Object} validationOption + */ + parse(xmlData, validationOption) { + if (typeof xmlData === "string") { + } else if (xmlData.toString) { + xmlData = xmlData.toString(); + } else { + throw new Error("XML data is accepted in String or Bytes[] form."); + } + if (validationOption) { + if (validationOption === true) + validationOption = {}; + const result = validator.validate(xmlData, validationOption); + if (result !== true) { + throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`); + } + } + const orderedObjParser = new OrderedObjParser(this.options); + orderedObjParser.addExternalEntities(this.externalEntities); + const orderedResult = orderedObjParser.parseXml(xmlData); + if (this.options.preserveOrder || orderedResult === void 0) + return orderedResult; + else + return prettify(orderedResult, this.options); + } + /** + * Add Entity which is not by default supported by this library + * @param {string} key + * @param {string} value + */ + addEntity(key, value) { + if (value.indexOf("&") !== -1) { + throw new Error("Entity value can't have '&'"); + } else if (key.indexOf("&") !== -1 || key.indexOf(";") !== -1) { + throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); + } else if (value === "&") { + throw new Error("An entity with value '&' is not permitted"); + } else { + this.externalEntities[key] = value; + } + } + }; + module2.exports = XMLParser; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +var require_orderedJs2Xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(exports, module2) { + var EOL = "\n"; + function toXml(jArray, options) { + let indentation = ""; + if (options.format && options.indentBy.length > 0) { + indentation = EOL; + } + return arrToStr(jArray, options, "", indentation); + } + function arrToStr(arr, options, jPath, indentation) { + let xmlStr = ""; + let isPreviousElementTag = false; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const tagName = propName(tagObj); + let newJPath = ""; + if (jPath.length === 0) + newJPath = tagName; + else + newJPath = `${jPath}.${tagName}`; + if (tagName === options.textNodeName) { + let tagText = tagObj[tagName]; + if (!isStopNode(newJPath, options)) { + tagText = options.tagValueProcessor(tagName, tagText); + tagText = replaceEntitiesValue(tagText, options); + } + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += tagText; + isPreviousElementTag = false; + continue; + } else if (tagName === options.cdataPropName) { + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += ``; + isPreviousElementTag = false; + continue; + } else if (tagName === options.commentPropName) { + xmlStr += indentation + ``; + isPreviousElementTag = true; + continue; + } else if (tagName[0] === "?") { + const attStr2 = attr_to_str(tagObj[":@"], options); + const tempInd = tagName === "?xml" ? "" : indentation; + let piTextNodeName = tagObj[tagName][0][options.textNodeName]; + piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; + xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`; + isPreviousElementTag = true; + continue; + } + let newIdentation = indentation; + if (newIdentation !== "") { + newIdentation += options.indentBy; + } + const attStr = attr_to_str(tagObj[":@"], options); + const tagStart = indentation + `<${tagName}${attStr}`; + const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); + if (options.unpairedTags.indexOf(tagName) !== -1) { + if (options.suppressUnpairedNode) + xmlStr += tagStart + ">"; + else + xmlStr += tagStart + "/>"; + } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { + xmlStr += tagStart + "/>"; + } else if (tagValue && tagValue.endsWith(">")) { + xmlStr += tagStart + `>${tagValue}${indentation}`; + } else { + xmlStr += tagStart + ">"; + if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("`; + } + isPreviousElementTag = true; + } + return xmlStr; + } + function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== ":@") + return key; + } + } + function attr_to_str(attrMap, options) { + let attrStr = ""; + if (attrMap && !options.ignoreAttributes) { + for (let attr in attrMap) { + let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); + attrVal = replaceEntitiesValue(attrVal, options); + if (attrVal === true && options.suppressBooleanAttributes) { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; + } else { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; + } + } + } + return attrStr; + } + function isStopNode(jPath, options) { + jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); + let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); + for (let index in options.stopNodes) { + if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) + return true; + } + return false; + } + function replaceEntitiesValue(textValue, options) { + if (textValue && textValue.length > 0 && options.processEntities) { + for (let i = 0; i < options.entities.length; i++) { + const entity = options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; + } + module2.exports = toXml; + } +}); + +// ../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +var require_json2xml = __commonJS({ + "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(exports, module2) { + "use strict"; + var buildFromOrderedJs = require_orderedJs2Xml(); + var defaultOptions = { + attributeNamePrefix: "@_", + attributesGroupName: false, + textNodeName: "#text", + ignoreAttributes: true, + cdataPropName: false, + format: false, + indentBy: " ", + suppressEmptyNode: false, + suppressUnpairedNode: true, + suppressBooleanAttributes: true, + tagValueProcessor: function(key, a) { + return a; + }, + attributeValueProcessor: function(attrName, a) { + return a; + }, + preserveOrder: false, + commentPropName: false, + unpairedTags: [], + entities: [ + { regex: new RegExp("&", "g"), val: "&" }, + //it must be on top + { regex: new RegExp(">", "g"), val: ">" }, + { regex: new RegExp("<", "g"), val: "<" }, + { regex: new RegExp("'", "g"), val: "'" }, + { regex: new RegExp('"', "g"), val: """ } + ], + processEntities: true, + stopNodes: [], + // transformTagName: false, + // transformAttributeName: false, + oneListGroup: false + }; + function Builder(options) { + this.options = Object.assign({}, defaultOptions, options); + if (this.options.ignoreAttributes || this.options.attributesGroupName) { + this.isAttribute = function() { + return false; + }; + } else { + this.attrPrefixLen = this.options.attributeNamePrefix.length; + this.isAttribute = isAttribute; + } + this.processTextOrObjNode = processTextOrObjNode; + if (this.options.format) { + this.indentate = indentate; + this.tagEndChar = ">\n"; + this.newLine = "\n"; + } else { + this.indentate = function() { + return ""; + }; + this.tagEndChar = ">"; + this.newLine = ""; + } + } + Builder.prototype.build = function(jObj) { + if (this.options.preserveOrder) { + return buildFromOrderedJs(jObj, this.options); + } else { + if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) { + jObj = { + [this.options.arrayNodeName]: jObj + }; + } + return this.j2x(jObj, 0).val; + } + }; + Builder.prototype.j2x = function(jObj, level) { + let attrStr = ""; + let val2 = ""; + for (let key in jObj) { + if (typeof jObj[key] === "undefined") { + } else if (jObj[key] === null) { + if (key[0] === "?") + val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + else + val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } else if (jObj[key] instanceof Date) { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } else if (typeof jObj[key] !== "object") { + const attr = this.isAttribute(key); + if (attr) { + attrStr += this.buildAttrPairStr(attr, "" + jObj[key]); + } else { + if (key === this.options.textNodeName) { + let newval = this.options.tagValueProcessor(key, "" + jObj[key]); + val2 += this.replaceEntitiesValue(newval); + } else { + val2 += this.buildTextValNode(jObj[key], key, "", level); + } + } + } else if (Array.isArray(jObj[key])) { + const arrLen = jObj[key].length; + let listTagVal = ""; + for (let j = 0; j < arrLen; j++) { + const item = jObj[key][j]; + if (typeof item === "undefined") { + } else if (item === null) { + if (key[0] === "?") + val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar; + else + val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar; + } else if (typeof item === "object") { + if (this.options.oneListGroup) { + listTagVal += this.j2x(item, level + 1).val; + } else { + listTagVal += this.processTextOrObjNode(item, key, level); + } + } else { + listTagVal += this.buildTextValNode(item, key, "", level); + } + } + if (this.options.oneListGroup) { + listTagVal = this.buildObjectNode(listTagVal, key, "", level); + } + val2 += listTagVal; + } else { + if (this.options.attributesGroupName && key === this.options.attributesGroupName) { + const Ks = Object.keys(jObj[key]); + const L = Ks.length; + for (let j = 0; j < L; j++) { + attrStr += this.buildAttrPairStr(Ks[j], "" + jObj[key][Ks[j]]); + } + } else { + val2 += this.processTextOrObjNode(jObj[key], key, level); + } + } + } + return { attrStr, val: val2 }; + }; + Builder.prototype.buildAttrPairStr = function(attrName, val2) { + val2 = this.options.attributeValueProcessor(attrName, "" + val2); + val2 = this.replaceEntitiesValue(val2); + if (this.options.suppressBooleanAttributes && val2 === "true") { + return " " + attrName; + } else + return " " + attrName + '="' + val2 + '"'; + }; + function processTextOrObjNode(object, key, level) { + const result = this.j2x(object, level + 1); + if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) { + return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); + } else { + return this.buildObjectNode(result.val, key, result.attrStr, level); + } + } + Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) { + if (val2 === "") { + if (key[0] === "?") + return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + else { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; + } + } else { + let tagEndExp = "" + val2 + tagEndExp; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { + return this.indentate(level) + `` + this.newLine; + } else { + return this.indentate(level) + "<" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp; + } + } + }; + Builder.prototype.closeTag = function(key) { + let closeTag = ""; + if (this.options.unpairedTags.indexOf(key) !== -1) { + if (!this.options.suppressUnpairedNode) + closeTag = "/"; + } else if (this.options.suppressEmptyNode) { + closeTag = "/"; + } else { + closeTag = `>` + this.newLine; + } else if (this.options.commentPropName !== false && key === this.options.commentPropName) { + return this.indentate(level) + `` + this.newLine; + } else if (key[0] === "?") { + return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar; + } else { + let textValue = this.options.tagValueProcessor(key, val2); + textValue = this.replaceEntitiesValue(textValue); + if (textValue === "") { + return this.indentate(level) + "<" + key + attrStr + this.closeTag(key) + this.tagEndChar; + } else { + return this.indentate(level) + "<" + key + attrStr + ">" + textValue + " 0 && this.options.processEntities) { + for (let i = 0; i < this.options.entities.length; i++) { + const entity = this.options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; + }; + function indentate(level) { + return this.options.indentBy.repeat(level); + } + function isAttribute(name) { + if (name.startsWith(this.options.attributeNamePrefix)) { + return name.substr(this.attrPrefixLen); + } else { + return false; + } + } + module2.exports = Builder; + } +}); + +// ../../../node_modules/fast-xml-parser/src/fxp.js +var require_fxp = __commonJS({ + "../../../node_modules/fast-xml-parser/src/fxp.js"(exports, module2) { + "use strict"; + var validator = require_validator(); + var XMLParser = require_XMLParser(); + var XMLBuilder = require_json2xml(); + module2.exports = { + XMLParser, + XMLValidator: validator, + XMLBuilder + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js +var require_Aws_query = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/protocols/Aws_query.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_GetSessionTokenCommand = exports.de_GetFederationTokenCommand = exports.de_GetCallerIdentityCommand = exports.de_GetAccessKeyInfoCommand = exports.de_DecodeAuthorizationMessageCommand = exports.de_AssumeRoleWithWebIdentityCommand = exports.de_AssumeRoleWithSAMLCommand = exports.de_AssumeRoleCommand = exports.se_GetSessionTokenCommand = exports.se_GetFederationTokenCommand = exports.se_GetCallerIdentityCommand = exports.se_GetAccessKeyInfoCommand = exports.se_DecodeAuthorizationMessageCommand = exports.se_AssumeRoleWithWebIdentityCommand = exports.se_AssumeRoleWithSAMLCommand = exports.se_AssumeRoleCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var fast_xml_parser_1 = require_fxp(); + var models_0_1 = require_models_0(); + var STSServiceException_1 = require_STSServiceException(); + var se_AssumeRoleCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleRequest(input, context), + Action: "AssumeRole", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleCommand = se_AssumeRoleCommand; + var se_AssumeRoleWithSAMLCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithSAMLRequest(input, context), + Action: "AssumeRoleWithSAML", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleWithSAMLCommand = se_AssumeRoleWithSAMLCommand; + var se_AssumeRoleWithWebIdentityCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_AssumeRoleWithWebIdentityRequest(input, context), + Action: "AssumeRoleWithWebIdentity", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_AssumeRoleWithWebIdentityCommand = se_AssumeRoleWithWebIdentityCommand; + var se_DecodeAuthorizationMessageCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_DecodeAuthorizationMessageRequest(input, context), + Action: "DecodeAuthorizationMessage", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DecodeAuthorizationMessageCommand = se_DecodeAuthorizationMessageCommand; + var se_GetAccessKeyInfoCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetAccessKeyInfoRequest(input, context), + Action: "GetAccessKeyInfo", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetAccessKeyInfoCommand = se_GetAccessKeyInfoCommand; + var se_GetCallerIdentityCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetCallerIdentityRequest(input, context), + Action: "GetCallerIdentity", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetCallerIdentityCommand = se_GetCallerIdentityCommand; + var se_GetFederationTokenCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetFederationTokenRequest(input, context), + Action: "GetFederationToken", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetFederationTokenCommand = se_GetFederationTokenCommand; + var se_GetSessionTokenCommand = async (input, context) => { + const headers = SHARED_HEADERS; + let body; + body = buildFormUrlencodedString({ + ...se_GetSessionTokenRequest(input, context), + Action: "GetSessionToken", + Version: "2011-06-15" + }); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetSessionTokenCommand = se_GetSessionTokenCommand; + var de_AssumeRoleCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleResponse(data.AssumeRoleResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleCommand = de_AssumeRoleCommand; + var de_AssumeRoleCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_AssumeRoleWithSAMLCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleWithSAMLCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleWithSAMLCommand = de_AssumeRoleWithSAMLCommand; + var de_AssumeRoleWithSAMLCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "IDPRejectedClaim": + case "com.amazonaws.sts#IDPRejectedClaimException": + throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); + case "InvalidIdentityToken": + case "com.amazonaws.sts#InvalidIdentityTokenException": + throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_AssumeRoleWithWebIdentityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_AssumeRoleWithWebIdentityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_AssumeRoleWithWebIdentityCommand = de_AssumeRoleWithWebIdentityCommand; + var de_AssumeRoleWithWebIdentityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExpiredTokenException": + case "com.amazonaws.sts#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "IDPCommunicationError": + case "com.amazonaws.sts#IDPCommunicationErrorException": + throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context); + case "IDPRejectedClaim": + case "com.amazonaws.sts#IDPRejectedClaimException": + throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context); + case "InvalidIdentityToken": + case "com.amazonaws.sts#InvalidIdentityTokenException": + throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context); + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_DecodeAuthorizationMessageCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DecodeAuthorizationMessageCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DecodeAuthorizationMessageCommand = de_DecodeAuthorizationMessageCommand; + var de_DecodeAuthorizationMessageCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidAuthorizationMessageException": + case "com.amazonaws.sts#InvalidAuthorizationMessageException": + throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_GetAccessKeyInfoCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetAccessKeyInfoCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetAccessKeyInfoCommand = de_GetAccessKeyInfoCommand; + var de_GetAccessKeyInfoCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + }; + var de_GetCallerIdentityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetCallerIdentityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetCallerIdentityCommand = de_GetCallerIdentityCommand; + var de_GetCallerIdentityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + }; + var de_GetFederationTokenCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetFederationTokenCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetFederationTokenCommand = de_GetFederationTokenCommand; + var de_GetFederationTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "MalformedPolicyDocument": + case "com.amazonaws.sts#MalformedPolicyDocumentException": + throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context); + case "PackedPolicyTooLarge": + case "com.amazonaws.sts#PackedPolicyTooLargeException": + throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context); + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_GetSessionTokenCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetSessionTokenCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetSessionTokenCommand = de_GetSessionTokenCommand; + var de_GetSessionTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "RegionDisabledException": + case "com.amazonaws.sts#RegionDisabledException": + throw await de_RegionDisabledExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Error, + errorCode + }); + } + }; + var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_ExpiredTokenException(body.Error, context); + const exception = new models_0_1.ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPCommunicationErrorException(body.Error, context); + const exception = new models_0_1.IDPCommunicationErrorException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_IDPRejectedClaimException(body.Error, context); + const exception = new models_0_1.IDPRejectedClaimException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidAuthorizationMessageExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidAuthorizationMessageException(body.Error, context); + const exception = new models_0_1.InvalidAuthorizationMessageException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_InvalidIdentityTokenException(body.Error, context); + const exception = new models_0_1.InvalidIdentityTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_MalformedPolicyDocumentException(body.Error, context); + const exception = new models_0_1.MalformedPolicyDocumentException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_PackedPolicyTooLargeException(body.Error, context); + const exception = new models_0_1.PackedPolicyTooLargeException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_RegionDisabledExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = de_RegionDisabledException(body.Error, context); + const exception = new models_0_1.RegionDisabledException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var se_AssumeRoleRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.RoleSessionName != null) { + entries["RoleSessionName"] = input.RoleSessionName; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.Tags != null) { + const memberEntries = se_tagListType(input.Tags, context); + if (input.Tags?.length === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + if (input.TransitiveTagKeys != null) { + const memberEntries = se_tagKeyListType(input.TransitiveTagKeys, context); + if (input.TransitiveTagKeys?.length === 0) { + entries.TransitiveTagKeys = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TransitiveTagKeys.${key}`; + entries[loc] = value; + }); + } + if (input.ExternalId != null) { + entries["ExternalId"] = input.ExternalId; + } + if (input.SerialNumber != null) { + entries["SerialNumber"] = input.SerialNumber; + } + if (input.TokenCode != null) { + entries["TokenCode"] = input.TokenCode; + } + if (input.SourceIdentity != null) { + entries["SourceIdentity"] = input.SourceIdentity; + } + if (input.ProvidedContexts != null) { + const memberEntries = se_ProvidedContextsListType(input.ProvidedContexts, context); + if (input.ProvidedContexts?.length === 0) { + entries.ProvidedContexts = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ProvidedContexts.${key}`; + entries[loc] = value; + }); + } + return entries; + }; + var se_AssumeRoleWithSAMLRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.PrincipalArn != null) { + entries["PrincipalArn"] = input.PrincipalArn; + } + if (input.SAMLAssertion != null) { + entries["SAMLAssertion"] = input.SAMLAssertion; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + return entries; + }; + var se_AssumeRoleWithWebIdentityRequest = (input, context) => { + const entries = {}; + if (input.RoleArn != null) { + entries["RoleArn"] = input.RoleArn; + } + if (input.RoleSessionName != null) { + entries["RoleSessionName"] = input.RoleSessionName; + } + if (input.WebIdentityToken != null) { + entries["WebIdentityToken"] = input.WebIdentityToken; + } + if (input.ProviderId != null) { + entries["ProviderId"] = input.ProviderId; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + return entries; + }; + var se_DecodeAuthorizationMessageRequest = (input, context) => { + const entries = {}; + if (input.EncodedMessage != null) { + entries["EncodedMessage"] = input.EncodedMessage; + } + return entries; + }; + var se_GetAccessKeyInfoRequest = (input, context) => { + const entries = {}; + if (input.AccessKeyId != null) { + entries["AccessKeyId"] = input.AccessKeyId; + } + return entries; + }; + var se_GetCallerIdentityRequest = (input, context) => { + const entries = {}; + return entries; + }; + var se_GetFederationTokenRequest = (input, context) => { + const entries = {}; + if (input.Name != null) { + entries["Name"] = input.Name; + } + if (input.Policy != null) { + entries["Policy"] = input.Policy; + } + if (input.PolicyArns != null) { + const memberEntries = se_policyDescriptorListType(input.PolicyArns, context); + if (input.PolicyArns?.length === 0) { + entries.PolicyArns = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `PolicyArns.${key}`; + entries[loc] = value; + }); + } + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.Tags != null) { + const memberEntries = se_tagListType(input.Tags, context); + if (input.Tags?.length === 0) { + entries.Tags = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + return entries; + }; + var se_GetSessionTokenRequest = (input, context) => { + const entries = {}; + if (input.DurationSeconds != null) { + entries["DurationSeconds"] = input.DurationSeconds; + } + if (input.SerialNumber != null) { + entries["SerialNumber"] = input.SerialNumber; + } + if (input.TokenCode != null) { + entries["TokenCode"] = input.TokenCode; + } + return entries; + }; + var se_policyDescriptorListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_PolicyDescriptorType(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var se_PolicyDescriptorType = (input, context) => { + const entries = {}; + if (input.arn != null) { + entries["arn"] = input.arn; + } + return entries; + }; + var se_ProvidedContext = (input, context) => { + const entries = {}; + if (input.ProviderArn != null) { + entries["ProviderArn"] = input.ProviderArn; + } + if (input.ContextAssertion != null) { + entries["ContextAssertion"] = input.ContextAssertion; + } + return entries; + }; + var se_ProvidedContextsListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_ProvidedContext(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var se_Tag = (input, context) => { + const entries = {}; + if (input.Key != null) { + entries["Key"] = input.Key; + } + if (input.Value != null) { + entries["Value"] = input.Value; + } + return entries; + }; + var se_tagKeyListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; + }; + var se_tagListType = (input, context) => { + const entries = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + const memberEntries = se_Tag(entry, context); + Object.entries(memberEntries).forEach(([key, value]) => { + entries[`member.${counter}.${key}`] = value; + }); + counter++; + } + return entries; + }; + var de_AssumedRoleUser = (output, context) => { + const contents = {}; + if (output["AssumedRoleId"] !== void 0) { + contents.AssumedRoleId = (0, smithy_client_1.expectString)(output["AssumedRoleId"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_AssumeRoleResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_AssumeRoleWithSAMLResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["Subject"] !== void 0) { + contents.Subject = (0, smithy_client_1.expectString)(output["Subject"]); + } + if (output["SubjectType"] !== void 0) { + contents.SubjectType = (0, smithy_client_1.expectString)(output["SubjectType"]); + } + if (output["Issuer"] !== void 0) { + contents.Issuer = (0, smithy_client_1.expectString)(output["Issuer"]); + } + if (output["Audience"] !== void 0) { + contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); + } + if (output["NameQualifier"] !== void 0) { + contents.NameQualifier = (0, smithy_client_1.expectString)(output["NameQualifier"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_AssumeRoleWithWebIdentityResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["SubjectFromWebIdentityToken"] !== void 0) { + contents.SubjectFromWebIdentityToken = (0, smithy_client_1.expectString)(output["SubjectFromWebIdentityToken"]); + } + if (output["AssumedRoleUser"] !== void 0) { + contents.AssumedRoleUser = de_AssumedRoleUser(output["AssumedRoleUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + if (output["Provider"] !== void 0) { + contents.Provider = (0, smithy_client_1.expectString)(output["Provider"]); + } + if (output["Audience"] !== void 0) { + contents.Audience = (0, smithy_client_1.expectString)(output["Audience"]); + } + if (output["SourceIdentity"] !== void 0) { + contents.SourceIdentity = (0, smithy_client_1.expectString)(output["SourceIdentity"]); + } + return contents; + }; + var de_Credentials = (output, context) => { + const contents = {}; + if (output["AccessKeyId"] !== void 0) { + contents.AccessKeyId = (0, smithy_client_1.expectString)(output["AccessKeyId"]); + } + if (output["SecretAccessKey"] !== void 0) { + contents.SecretAccessKey = (0, smithy_client_1.expectString)(output["SecretAccessKey"]); + } + if (output["SessionToken"] !== void 0) { + contents.SessionToken = (0, smithy_client_1.expectString)(output["SessionToken"]); + } + if (output["Expiration"] !== void 0) { + contents.Expiration = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseRfc3339DateTimeWithOffset)(output["Expiration"])); + } + return contents; + }; + var de_DecodeAuthorizationMessageResponse = (output, context) => { + const contents = {}; + if (output["DecodedMessage"] !== void 0) { + contents.DecodedMessage = (0, smithy_client_1.expectString)(output["DecodedMessage"]); + } + return contents; + }; + var de_ExpiredTokenException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_FederatedUser = (output, context) => { + const contents = {}; + if (output["FederatedUserId"] !== void 0) { + contents.FederatedUserId = (0, smithy_client_1.expectString)(output["FederatedUserId"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_GetAccessKeyInfoResponse = (output, context) => { + const contents = {}; + if (output["Account"] !== void 0) { + contents.Account = (0, smithy_client_1.expectString)(output["Account"]); + } + return contents; + }; + var de_GetCallerIdentityResponse = (output, context) => { + const contents = {}; + if (output["UserId"] !== void 0) { + contents.UserId = (0, smithy_client_1.expectString)(output["UserId"]); + } + if (output["Account"] !== void 0) { + contents.Account = (0, smithy_client_1.expectString)(output["Account"]); + } + if (output["Arn"] !== void 0) { + contents.Arn = (0, smithy_client_1.expectString)(output["Arn"]); + } + return contents; + }; + var de_GetFederationTokenResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + if (output["FederatedUser"] !== void 0) { + contents.FederatedUser = de_FederatedUser(output["FederatedUser"], context); + } + if (output["PackedPolicySize"] !== void 0) { + contents.PackedPolicySize = (0, smithy_client_1.strictParseInt32)(output["PackedPolicySize"]); + } + return contents; + }; + var de_GetSessionTokenResponse = (output, context) => { + const contents = {}; + if (output["Credentials"] !== void 0) { + contents.Credentials = de_Credentials(output["Credentials"], context); + } + return contents; + }; + var de_IDPCommunicationErrorException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_IDPRejectedClaimException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_InvalidAuthorizationMessageException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_InvalidIdentityTokenException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_MalformedPolicyDocumentException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_PackedPolicyTooLargeException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var de_RegionDisabledException = (output, context) => { + const contents = {}; + if (output["message"] !== void 0) { + contents.message = (0, smithy_client_1.expectString)(output["message"]); + } + return contents; + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var throwDefaultError = (0, smithy_client_1.withBaseException)(STSServiceException_1.STSServiceException); + var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers + }; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; + } + if (body !== void 0) { + contents.body = body; + } + return new protocol_http_1.HttpRequest(contents); + }; + var SHARED_HEADERS = { + "content-type": "application/x-www-form-urlencoded" + }; + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + const parser = new fast_xml_parser_1.XMLParser({ + attributeNamePrefix: "", + htmlEntities: true, + ignoreAttributes: false, + ignoreDeclaration: true, + parseTagValue: false, + trimValues: false, + tagValueProcessor: (_, val2) => val2.trim() === "" && val2.includes("\n") ? "" : void 0 + }); + parser.addEntity("#xD", "\r"); + parser.addEntity("#10", "\n"); + const parsedObj = parser.parse(encoded); + const textNodeName = "#text"; + const key = Object.keys(parsedObj)[0]; + const parsedObjToReturn = parsedObj[key]; + if (parsedObjToReturn[textNodeName]) { + parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; + delete parsedObjToReturn[textNodeName]; + } + return (0, smithy_client_1.getValueFromTextNode)(parsedObjToReturn); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + if (value.Error) { + value.Error.message = value.Error.message ?? value.Error.Message; + } + return value; + }; + var buildFormUrlencodedString = (formEntries) => Object.entries(formEntries).map(([key, value]) => (0, smithy_client_1.extendedEncodeURIComponent)(key) + "=" + (0, smithy_client_1.extendedEncodeURIComponent)(value)).join("&"); + var loadQueryErrorCode = (output, data) => { + if (data.Error?.Code !== void 0) { + return data.Error.Code; + } + if (output.statusCode == 404) { + return "NotFound"; + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js +var require_AssumeRoleCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleCommand = class _AssumeRoleCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.AssumeRoleResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleCommand)(output, context); + } + }; + exports.AssumeRoleCommand = AssumeRoleCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js +var require_AssumeRoleWithWebIdentityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleWithWebIdentityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleWithWebIdentityCommand = class _AssumeRoleWithWebIdentityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithWebIdentityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleWithWebIdentityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.AssumeRoleWithWebIdentityResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleWithWebIdentityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleWithWebIdentityCommand)(output, context); + } + }; + exports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js +var require_defaultStsRoleAssumers = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultStsRoleAssumers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; + var AssumeRoleCommand_1 = require_AssumeRoleCommand(); + var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); + var ASSUME_ROLE_DEFAULT_REGION = "us-east-1"; + var decorateDefaultRegion = (region) => { + if (typeof region !== "function") { + return region === void 0 ? ASSUME_ROLE_DEFAULT_REGION : region; + } + return async () => { + try { + return await region(); + } catch (e) { + return ASSUME_ROLE_DEFAULT_REGION; + } + }; + }; + var getDefaultRoleAssumer = (stsOptions, stsClientCtor) => { + let stsClient; + let closureSourceCreds; + return async (sourceCreds, params) => { + closureSourceCreds = sourceCreds; + if (!stsClient) { + const { logger, region, requestHandler } = stsOptions; + stsClient = new stsClientCtor({ + logger, + credentialDefaultProvider: () => async () => closureSourceCreds, + region: decorateDefaultRegion(region || stsOptions.region), + ...requestHandler ? { requestHandler } : {} + }); + } + const { Credentials } = await stsClient.send(new AssumeRoleCommand_1.AssumeRoleCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); + } + return { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration + }; + }; + }; + exports.getDefaultRoleAssumer = getDefaultRoleAssumer; + var getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => { + let stsClient; + return async (params) => { + if (!stsClient) { + const { logger, region, requestHandler } = stsOptions; + stsClient = new stsClientCtor({ + logger, + region: decorateDefaultRegion(region || stsOptions.region), + ...requestHandler ? { requestHandler } : {} + }); + } + const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); + } + return { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration + }; + }; + }; + exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; + var decorateDefaultCredentialProvider = (provider) => (input) => provider({ + roleAssumer: (0, exports.getDefaultRoleAssumer)(input, input.stsClientCtor), + roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input, input.stsClientCtor), + ...input + }); + exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js +var require_fromEnv = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/fromEnv.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEnv = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0; + var property_provider_1 = require_dist_cjs6(); + exports.ENV_KEY = "AWS_ACCESS_KEY_ID"; + exports.ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; + exports.ENV_SESSION = "AWS_SESSION_TOKEN"; + exports.ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; + var fromEnv = () => async () => { + const accessKeyId = process.env[exports.ENV_KEY]; + const secretAccessKey = process.env[exports.ENV_SECRET]; + const sessionToken = process.env[exports.ENV_SESSION]; + const expiry = process.env[exports.ENV_EXPIRATION]; + if (accessKeyId && secretAccessKey) { + return { + accessKeyId, + secretAccessKey, + ...sessionToken && { sessionToken }, + ...expiry && { expiration: new Date(expiry) } + }; + } + throw new property_provider_1.CredentialsProviderError("Unable to find environment variable credentials."); + }; + exports.fromEnv = fromEnv; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +var require_dist_cjs37 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromEnv(), exports); + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js +var require_getHomeDir = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getHomeDir = void 0; + var os_1 = require("os"); + var path_1 = require("path"); + var getHomeDir = () => { + const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env; + if (HOME) + return HOME; + if (USERPROFILE) + return USERPROFILE; + if (HOMEPATH) + return `${HOMEDRIVE}${HOMEPATH}`; + return (0, os_1.homedir)(); + }; + exports.getHomeDir = getHomeDir; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js +var require_getProfileName = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileName.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getProfileName = exports.DEFAULT_PROFILE = exports.ENV_PROFILE = void 0; + exports.ENV_PROFILE = "AWS_PROFILE"; + exports.DEFAULT_PROFILE = "default"; + var getProfileName = (init) => init.profile || process.env[exports.ENV_PROFILE] || exports.DEFAULT_PROFILE; + exports.getProfileName = getProfileName; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js +var require_getSSOTokenFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSSOTokenFilepath = void 0; + var crypto_1 = require("crypto"); + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + var getSSOTokenFilepath = (id) => { + const hasher = (0, crypto_1.createHash)("sha1"); + const cacheName = hasher.update(id).digest("hex"); + return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`); + }; + exports.getSSOTokenFilepath = getSSOTokenFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js +var require_getSSOTokenFromFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSSOTokenFromFile = void 0; + var fs_1 = require("fs"); + var getSSOTokenFilepath_1 = require_getSSOTokenFilepath(); + var { readFile } = fs_1.promises; + var getSSOTokenFromFile = async (id) => { + const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id); + const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); + return JSON.parse(ssoTokenText); + }; + exports.getSSOTokenFromFile = getSSOTokenFromFile; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js +var require_getConfigFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getConfigFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getConfigFilepath = exports.ENV_CONFIG_PATH = void 0; + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + exports.ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; + var getConfigFilepath = () => process.env[exports.ENV_CONFIG_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "config"); + exports.getConfigFilepath = getConfigFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js +var require_getCredentialsFilepath = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getCredentialsFilepath.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getCredentialsFilepath = exports.ENV_CREDENTIALS_PATH = void 0; + var path_1 = require("path"); + var getHomeDir_1 = require_getHomeDir(); + exports.ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; + var getCredentialsFilepath = () => process.env[exports.ENV_CREDENTIALS_PATH] || (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "credentials"); + exports.getCredentialsFilepath = getCredentialsFilepath; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js +var require_getProfileData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getProfileData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getProfileData = void 0; + var profileKeyRegex = /^profile\s(["'])?([^\1]+)\1$/; + var getProfileData = (data) => Object.entries(data).filter(([key]) => profileKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [profileKeyRegex.exec(key)[2]]: value }), { + ...data.default && { default: data.default } + }); + exports.getProfileData = getProfileData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js +var require_parseIni = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseIni.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseIni = void 0; + var profileNameBlockList = ["__proto__", "profile __proto__"]; + var parseIni = (iniData) => { + const map = {}; + let currentSection; + for (let line of iniData.split(/\r?\n/)) { + line = line.split(/(^|\s)[;#]/)[0].trim(); + const isSection = line[0] === "[" && line[line.length - 1] === "]"; + if (isSection) { + currentSection = line.substring(1, line.length - 1); + if (profileNameBlockList.includes(currentSection)) { + throw new Error(`Found invalid profile name "${currentSection}"`); + } + } else if (currentSection) { + const indexOfEqualsSign = line.indexOf("="); + const start = 0; + const end = line.length - 1; + const isAssignment = indexOfEqualsSign !== -1 && indexOfEqualsSign !== start && indexOfEqualsSign !== end; + if (isAssignment) { + const [name, value] = [ + line.substring(0, indexOfEqualsSign).trim(), + line.substring(indexOfEqualsSign + 1).trim() + ]; + map[currentSection] = map[currentSection] || {}; + map[currentSection][name] = value; + } + } + } + return map; + }; + exports.parseIni = parseIni; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js +var require_slurpFile = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.slurpFile = void 0; + var fs_1 = require("fs"); + var { readFile } = fs_1.promises; + var filePromisesHash = {}; + var slurpFile = (path, options) => { + if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) { + filePromisesHash[path] = readFile(path, "utf8"); + } + return filePromisesHash[path]; + }; + exports.slurpFile = slurpFile; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js +var require_loadSharedConfigFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSharedConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadSharedConfigFiles = void 0; + var getConfigFilepath_1 = require_getConfigFilepath(); + var getCredentialsFilepath_1 = require_getCredentialsFilepath(); + var getProfileData_1 = require_getProfileData(); + var parseIni_1 = require_parseIni(); + var slurpFile_1 = require_slurpFile(); + var swallowError = () => ({}); + var loadSharedConfigFiles = async (init = {}) => { + const { filepath = (0, getCredentialsFilepath_1.getCredentialsFilepath)(), configFilepath = (0, getConfigFilepath_1.getConfigFilepath)() } = init; + const parsedFiles = await Promise.all([ + (0, slurpFile_1.slurpFile)(configFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni_1.parseIni).then(getProfileData_1.getProfileData).catch(swallowError), + (0, slurpFile_1.slurpFile)(filepath, { + ignoreCache: init.ignoreCache + }).then(parseIni_1.parseIni).catch(swallowError) + ]); + return { + configFile: parsedFiles[0], + credentialsFile: parsedFiles[1] + }; + }; + exports.loadSharedConfigFiles = loadSharedConfigFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js +var require_getSsoSessionData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSsoSessionData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSsoSessionData = void 0; + var ssoSessionKeyRegex = /^sso-session\s(["'])?([^\1]+)\1$/; + var getSsoSessionData = (data) => Object.entries(data).filter(([key]) => ssoSessionKeyRegex.test(key)).reduce((acc, [key, value]) => ({ ...acc, [ssoSessionKeyRegex.exec(key)[2]]: value }), {}); + exports.getSsoSessionData = getSsoSessionData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js +var require_loadSsoSessionData = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/loadSsoSessionData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadSsoSessionData = void 0; + var getConfigFilepath_1 = require_getConfigFilepath(); + var getSsoSessionData_1 = require_getSsoSessionData(); + var parseIni_1 = require_parseIni(); + var slurpFile_1 = require_slurpFile(); + var swallowError = () => ({}); + var loadSsoSessionData = async (init = {}) => { + var _a; + return (0, slurpFile_1.slurpFile)((_a = init.configFilepath) !== null && _a !== void 0 ? _a : (0, getConfigFilepath_1.getConfigFilepath)()).then(parseIni_1.parseIni).then(getSsoSessionData_1.getSsoSessionData).catch(swallowError); + }; + exports.loadSsoSessionData = loadSsoSessionData; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js +var require_mergeConfigFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/mergeConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeConfigFiles = void 0; + var mergeConfigFiles = (...files) => { + const merged = {}; + for (const file of files) { + for (const [key, values] of Object.entries(file)) { + if (merged[key] !== void 0) { + Object.assign(merged[key], values); + } else { + merged[key] = values; + } + } + } + return merged; + }; + exports.mergeConfigFiles = mergeConfigFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js +var require_parseKnownFiles = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/parseKnownFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseKnownFiles = void 0; + var loadSharedConfigFiles_1 = require_loadSharedConfigFiles(); + var mergeConfigFiles_1 = require_mergeConfigFiles(); + var parseKnownFiles = async (init) => { + const parsedFiles = await (0, loadSharedConfigFiles_1.loadSharedConfigFiles)(init); + return (0, mergeConfigFiles_1.mergeConfigFiles)(parsedFiles.configFile, parsedFiles.credentialsFile); + }; + exports.parseKnownFiles = parseKnownFiles; + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js +var require_types5 = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js +var require_dist_cjs38 = __commonJS({ + "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_getHomeDir(), exports); + tslib_1.__exportStar(require_getProfileName(), exports); + tslib_1.__exportStar(require_getSSOTokenFilepath(), exports); + tslib_1.__exportStar(require_getSSOTokenFromFile(), exports); + tslib_1.__exportStar(require_loadSharedConfigFiles(), exports); + tslib_1.__exportStar(require_loadSsoSessionData(), exports); + tslib_1.__exportStar(require_parseKnownFiles(), exports); + tslib_1.__exportStar(require_types5(), exports); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js +var require_httpRequest2 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/httpRequest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.httpRequest = void 0; + var property_provider_1 = require_dist_cjs6(); + var buffer_1 = require("buffer"); + var http_1 = require("http"); + function httpRequest(options) { + return new Promise((resolve, reject) => { + var _a; + const req = (0, http_1.request)({ + method: "GET", + ...options, + hostname: (_a = options.hostname) === null || _a === void 0 ? void 0 : _a.replace(/^\[(.+)\]$/, "$1") + }); + req.on("error", (err) => { + reject(Object.assign(new property_provider_1.ProviderError("Unable to connect to instance metadata service"), err)); + req.destroy(); + }); + req.on("timeout", () => { + reject(new property_provider_1.ProviderError("TimeoutError from instance metadata service")); + req.destroy(); + }); + req.on("response", (res) => { + const { statusCode = 400 } = res; + if (statusCode < 200 || 300 <= statusCode) { + reject(Object.assign(new property_provider_1.ProviderError("Error response received from instance metadata service"), { statusCode })); + req.destroy(); + } + const chunks = []; + res.on("data", (chunk) => { + chunks.push(chunk); + }); + res.on("end", () => { + resolve(buffer_1.Buffer.concat(chunks)); + req.destroy(); + }); + }); + req.end(); + }); + } + exports.httpRequest = httpRequest; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js +var require_ImdsCredentials = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/ImdsCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromImdsCredentials = exports.isImdsCredentials = void 0; + var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string"; + exports.isImdsCredentials = isImdsCredentials; + var fromImdsCredentials = (creds) => ({ + accessKeyId: creds.AccessKeyId, + secretAccessKey: creds.SecretAccessKey, + sessionToken: creds.Token, + expiration: new Date(creds.Expiration) + }); + exports.fromImdsCredentials = fromImdsCredentials; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js +var require_RemoteProviderInit = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/RemoteProviderInit.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.providerConfigFromInit = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT = void 0; + exports.DEFAULT_TIMEOUT = 1e3; + exports.DEFAULT_MAX_RETRIES = 0; + var providerConfigFromInit = ({ maxRetries = exports.DEFAULT_MAX_RETRIES, timeout = exports.DEFAULT_TIMEOUT }) => ({ maxRetries, timeout }); + exports.providerConfigFromInit = providerConfigFromInit; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js +var require_retry3 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/remoteProvider/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.retry = void 0; + var retry = (toRetry, maxRetries) => { + let promise = toRetry(); + for (let i = 0; i < maxRetries; i++) { + promise = promise.catch(toRetry); + } + return promise; + }; + exports.retry = retry; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js +var require_fromContainerMetadata = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromContainerMetadata.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromContainerMetadata = exports.ENV_CMDS_AUTH_TOKEN = exports.ENV_CMDS_RELATIVE_URI = exports.ENV_CMDS_FULL_URI = void 0; + var property_provider_1 = require_dist_cjs6(); + var url_1 = require("url"); + var httpRequest_1 = require_httpRequest2(); + var ImdsCredentials_1 = require_ImdsCredentials(); + var RemoteProviderInit_1 = require_RemoteProviderInit(); + var retry_1 = require_retry3(); + exports.ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + exports.ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + exports.ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromContainerMetadata = (init = {}) => { + const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); + return () => (0, retry_1.retry)(async () => { + const requestOptions = await getCmdsUri(); + const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); + if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { + throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); + } + return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); + }, maxRetries); + }; + exports.fromContainerMetadata = fromContainerMetadata; + var requestFromEcsImds = async (timeout, options) => { + if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) { + options.headers = { + ...options.headers, + Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN] + }; + } + const buffer = await (0, httpRequest_1.httpRequest)({ + ...options, + timeout + }); + return buffer.toString(); + }; + var CMDS_IP = "169.254.170.2"; + var GREENGRASS_HOSTS = { + localhost: true, + "127.0.0.1": true + }; + var GREENGRASS_PROTOCOLS = { + "http:": true, + "https:": true + }; + var getCmdsUri = async () => { + if (process.env[exports.ENV_CMDS_RELATIVE_URI]) { + return { + hostname: CMDS_IP, + path: process.env[exports.ENV_CMDS_RELATIVE_URI] + }; + } + if (process.env[exports.ENV_CMDS_FULL_URI]) { + const parsed = (0, url_1.parse)(process.env[exports.ENV_CMDS_FULL_URI]); + if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { + throw new property_provider_1.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false); + } + if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { + throw new property_provider_1.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false); + } + return { + ...parsed, + port: parsed.port ? parseInt(parsed.port, 10) : void 0 + }; + } + throw new property_provider_1.CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment variable is set`, false); + }; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js +var require_fromEnv2 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromEnv.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEnv = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromEnv = (envVarSelector) => async () => { + try { + const config = envVarSelector(process.env); + if (config === void 0) { + throw new Error(); + } + return config; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`); + } + }; + exports.fromEnv = fromEnv; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js +var require_fromSharedConfigFiles = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromSharedConfigFiles.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSharedConfigFiles = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var fromSharedConfigFiles = (configSelector, { preferredFile = "config", ...init } = {}) => async () => { + const profile = (0, shared_ini_file_loader_1.getProfileName)(init); + const { configFile, credentialsFile } = await (0, shared_ini_file_loader_1.loadSharedConfigFiles)(init); + const profileFromCredentials = credentialsFile[profile] || {}; + const profileFromConfig = configFile[profile] || {}; + const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; + try { + const configValue = configSelector(mergedProfile); + if (configValue === void 0) { + throw new Error(); + } + return configValue; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message || `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`); + } + }; + exports.fromSharedConfigFiles = fromSharedConfigFiles; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js +var require_fromStatic2 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var property_provider_1 = require_dist_cjs6(); + var isFunction = (func) => typeof func === "function"; + var fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, property_provider_1.fromStatic)(defaultValue); + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js +var require_configLoader = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/configLoader.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.loadConfig = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromEnv_1 = require_fromEnv2(); + var fromSharedConfigFiles_1 = require_fromSharedConfigFiles(); + var fromStatic_1 = require_fromStatic2(); + var loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromEnv_1.fromEnv)(environmentVariableSelector), (0, fromSharedConfigFiles_1.fromSharedConfigFiles)(configFileSelector, configuration), (0, fromStatic_1.fromStatic)(defaultValue))); + exports.loadConfig = loadConfig; + } +}); + +// ../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js +var require_dist_cjs39 = __commonJS({ + "../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_configLoader(), exports); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js +var require_Endpoint = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/Endpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Endpoint = void 0; + var Endpoint; + (function(Endpoint2) { + Endpoint2["IPv4"] = "http://169.254.169.254"; + Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; + })(Endpoint = exports.Endpoint || (exports.Endpoint = {})); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js +var require_EndpointConfigOptions = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ENDPOINT_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_NAME = exports.ENV_ENDPOINT_NAME = void 0; + exports.ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; + exports.CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; + exports.ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_NAME], + configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_NAME], + default: void 0 + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js +var require_EndpointMode = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointMode.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EndpointMode = void 0; + var EndpointMode; + (function(EndpointMode2) { + EndpointMode2["IPv4"] = "IPv4"; + EndpointMode2["IPv6"] = "IPv6"; + })(EndpointMode = exports.EndpointMode || (exports.EndpointMode = {})); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js +var require_EndpointModeConfigOptions = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/config/EndpointModeConfigOptions.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ENDPOINT_MODE_CONFIG_OPTIONS = exports.CONFIG_ENDPOINT_MODE_NAME = exports.ENV_ENDPOINT_MODE_NAME = void 0; + var EndpointMode_1 = require_EndpointMode(); + exports.ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; + exports.CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; + exports.ENDPOINT_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => env[exports.ENV_ENDPOINT_MODE_NAME], + configFileSelector: (profile) => profile[exports.CONFIG_ENDPOINT_MODE_NAME], + default: EndpointMode_1.EndpointMode.IPv4 + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js +var require_getInstanceMetadataEndpoint = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getInstanceMetadataEndpoint.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getInstanceMetadataEndpoint = void 0; + var node_config_provider_1 = require_dist_cjs39(); + var url_parser_1 = require_dist_cjs24(); + var Endpoint_1 = require_Endpoint(); + var EndpointConfigOptions_1 = require_EndpointConfigOptions(); + var EndpointMode_1 = require_EndpointMode(); + var EndpointModeConfigOptions_1 = require_EndpointModeConfigOptions(); + var getInstanceMetadataEndpoint = async () => (0, url_parser_1.parseUrl)(await getFromEndpointConfig() || await getFromEndpointModeConfig()); + exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint; + var getFromEndpointConfig = async () => (0, node_config_provider_1.loadConfig)(EndpointConfigOptions_1.ENDPOINT_CONFIG_OPTIONS)(); + var getFromEndpointModeConfig = async () => { + const endpointMode = await (0, node_config_provider_1.loadConfig)(EndpointModeConfigOptions_1.ENDPOINT_MODE_CONFIG_OPTIONS)(); + switch (endpointMode) { + case EndpointMode_1.EndpointMode.IPv4: + return Endpoint_1.Endpoint.IPv4; + case EndpointMode_1.EndpointMode.IPv6: + return Endpoint_1.Endpoint.IPv6; + default: + throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode_1.EndpointMode)}`); + } + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js +var require_getExtendedInstanceMetadataCredentials = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/getExtendedInstanceMetadataCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getExtendedInstanceMetadataCredentials = void 0; + var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; + var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; + var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; + var getExtendedInstanceMetadataCredentials = (credentials, logger) => { + var _a; + const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); + const newExpiration = new Date(Date.now() + refreshInterval * 1e3); + logger.warn("Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}.\nFor more information, please visit: " + STATIC_STABILITY_DOC_URL); + const originalExpiration = (_a = credentials.originalExpiration) !== null && _a !== void 0 ? _a : credentials.expiration; + return { + ...credentials, + ...originalExpiration ? { originalExpiration } : {}, + expiration: newExpiration + }; + }; + exports.getExtendedInstanceMetadataCredentials = getExtendedInstanceMetadataCredentials; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js +var require_staticStabilityProvider = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/utils/staticStabilityProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.staticStabilityProvider = void 0; + var getExtendedInstanceMetadataCredentials_1 = require_getExtendedInstanceMetadataCredentials(); + var staticStabilityProvider = (provider, options = {}) => { + const logger = (options === null || options === void 0 ? void 0 : options.logger) || console; + let pastCredentials; + return async () => { + let credentials; + try { + credentials = await provider(); + if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { + credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(credentials, logger); + } + } catch (e) { + if (pastCredentials) { + logger.warn("Credential renew failed: ", e); + credentials = (0, getExtendedInstanceMetadataCredentials_1.getExtendedInstanceMetadataCredentials)(pastCredentials, logger); + } else { + throw e; + } + } + pastCredentials = credentials; + return credentials; + }; + }; + exports.staticStabilityProvider = staticStabilityProvider; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js +var require_fromInstanceMetadata = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/fromInstanceMetadata.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromInstanceMetadata = void 0; + var property_provider_1 = require_dist_cjs6(); + var httpRequest_1 = require_httpRequest2(); + var ImdsCredentials_1 = require_ImdsCredentials(); + var RemoteProviderInit_1 = require_RemoteProviderInit(); + var retry_1 = require_retry3(); + var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); + var staticStabilityProvider_1 = require_staticStabilityProvider(); + var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; + var IMDS_TOKEN_PATH = "/latest/api/token"; + var fromInstanceMetadata = (init = {}) => (0, staticStabilityProvider_1.staticStabilityProvider)(getInstanceImdsProvider(init), { logger: init.logger }); + exports.fromInstanceMetadata = fromInstanceMetadata; + var getInstanceImdsProvider = (init) => { + let disableFetchToken = false; + const { timeout, maxRetries } = (0, RemoteProviderInit_1.providerConfigFromInit)(init); + const getCredentials = async (maxRetries2, options) => { + const profile = (await (0, retry_1.retry)(async () => { + let profile2; + try { + profile2 = await getProfile(options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return profile2; + }, maxRetries2)).trim(); + return (0, retry_1.retry)(async () => { + let creds; + try { + creds = await getCredentialsFromProfile(profile, options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return creds; + }, maxRetries2); + }; + return async () => { + const endpoint = await (0, getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint)(); + if (disableFetchToken) { + return getCredentials(maxRetries, { ...endpoint, timeout }); + } else { + let token; + try { + token = (await getMetadataToken({ ...endpoint, timeout })).toString(); + } catch (error) { + if ((error === null || error === void 0 ? void 0 : error.statusCode) === 400) { + throw Object.assign(error, { + message: "EC2 Metadata token request returned error" + }); + } else if (error.message === "TimeoutError" || [403, 404, 405].includes(error.statusCode)) { + disableFetchToken = true; + } + return getCredentials(maxRetries, { ...endpoint, timeout }); + } + return getCredentials(maxRetries, { + ...endpoint, + headers: { + "x-aws-ec2-metadata-token": token + }, + timeout + }); + } + }; + }; + var getMetadataToken = async (options) => (0, httpRequest_1.httpRequest)({ + ...options, + path: IMDS_TOKEN_PATH, + method: "PUT", + headers: { + "x-aws-ec2-metadata-token-ttl-seconds": "21600" + } + }); + var getProfile = async (options) => (await (0, httpRequest_1.httpRequest)({ ...options, path: IMDS_PATH })).toString(); + var getCredentialsFromProfile = async (profile, options) => { + const credsResponse = JSON.parse((await (0, httpRequest_1.httpRequest)({ + ...options, + path: IMDS_PATH + profile + })).toString()); + if (!(0, ImdsCredentials_1.isImdsCredentials)(credsResponse)) { + throw new property_provider_1.CredentialsProviderError("Invalid response received from instance metadata service."); + } + return (0, ImdsCredentials_1.fromImdsCredentials)(credsResponse); + }; + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js +var require_types6 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +var require_dist_cjs40 = __commonJS({ + "../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getInstanceMetadataEndpoint = exports.httpRequest = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromContainerMetadata(), exports); + tslib_1.__exportStar(require_fromInstanceMetadata(), exports); + tslib_1.__exportStar(require_RemoteProviderInit(), exports); + tslib_1.__exportStar(require_types6(), exports); + var httpRequest_1 = require_httpRequest2(); + Object.defineProperty(exports, "httpRequest", { enumerable: true, get: function() { + return httpRequest_1.httpRequest; + } }); + var getInstanceMetadataEndpoint_1 = require_getInstanceMetadataEndpoint(); + Object.defineProperty(exports, "getInstanceMetadataEndpoint", { enumerable: true, get: function() { + return getInstanceMetadataEndpoint_1.getInstanceMetadataEndpoint; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js +var require_resolveCredentialSource = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveCredentialSource.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveCredentialSource = void 0; + var credential_provider_env_1 = require_dist_cjs37(); + var credential_provider_imds_1 = require_dist_cjs40(); + var property_provider_1 = require_dist_cjs6(); + var resolveCredentialSource = (credentialSource, profileName) => { + const sourceProvidersMap = { + EcsContainer: credential_provider_imds_1.fromContainerMetadata, + Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata, + Environment: credential_provider_env_1.fromEnv + }; + if (credentialSource in sourceProvidersMap) { + return sourceProvidersMap[credentialSource](); + } else { + throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`); + } + }; + exports.resolveCredentialSource = resolveCredentialSource; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js +var require_resolveAssumeRoleCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveCredentialSource_1 = require_resolveCredentialSource(); + var resolveProfileData_1 = require_resolveProfileData(); + var isAssumeRoleProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg)); + exports.isAssumeRoleProfile = isAssumeRoleProfile; + var isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; + var isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; + var resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => { + const data = profiles[profileName]; + if (!options.roleAssumer) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false); + } + const { source_profile } = data; + if (source_profile && source_profile in visitedProfiles) { + throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), false); + } + const sourceCredsProvider = source_profile ? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, { + ...visitedProfiles, + [source_profile]: true + }) : (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)(); + const params = { + RoleArn: data.role_arn, + RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`, + ExternalId: data.external_id + }; + const { mfa_serial } = data; + if (mfa_serial) { + if (!options.mfaCodeProvider) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false); + } + params.SerialNumber = mfa_serial; + params.TokenCode = await options.mfaCodeProvider(mfa_serial); + } + const sourceCreds = await sourceCredsProvider; + return options.roleAssumer(sourceCreds, params); + }; + exports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js +var require_getValidatedProcessCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/getValidatedProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getValidatedProcessCredentials = void 0; + var getValidatedProcessCredentials = (profileName, data) => { + if (data.Version !== 1) { + throw Error(`Profile ${profileName} credential_process did not return Version 1.`); + } + if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { + throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); + } + if (data.Expiration) { + const currentTime = /* @__PURE__ */ new Date(); + const expireTime = new Date(data.Expiration); + if (expireTime < currentTime) { + throw Error(`Profile ${profileName} credential_process returned expired credentials.`); + } + } + return { + accessKeyId: data.AccessKeyId, + secretAccessKey: data.SecretAccessKey, + ...data.SessionToken && { sessionToken: data.SessionToken }, + ...data.Expiration && { expiration: new Date(data.Expiration) } + }; + }; + exports.getValidatedProcessCredentials = getValidatedProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js +var require_resolveProcessCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/resolveProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProcessCredentials = void 0; + var property_provider_1 = require_dist_cjs6(); + var child_process_1 = require("child_process"); + var util_1 = require("util"); + var getValidatedProcessCredentials_1 = require_getValidatedProcessCredentials(); + var resolveProcessCredentials = async (profileName, profiles) => { + const profile = profiles[profileName]; + if (profiles[profileName]) { + const credentialProcess = profile["credential_process"]; + if (credentialProcess !== void 0) { + const execPromise = (0, util_1.promisify)(child_process_1.exec); + try { + const { stdout } = await execPromise(credentialProcess); + let data; + try { + data = JSON.parse(stdout.trim()); + } catch (_a) { + throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); + } + return (0, getValidatedProcessCredentials_1.getValidatedProcessCredentials)(profileName, data); + } catch (error) { + throw new property_provider_1.CredentialsProviderError(error.message); + } + } else { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`); + } + } else { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`); + } + }; + exports.resolveProcessCredentials = resolveProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js +var require_fromProcess = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/fromProcess.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromProcess = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveProcessCredentials_1 = require_resolveProcessCredentials(); + var fromProcess = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + return (0, resolveProcessCredentials_1.resolveProcessCredentials)((0, shared_ini_file_loader_1.getProfileName)(init), profiles); + }; + exports.fromProcess = fromProcess; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +var require_dist_cjs41 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromProcess(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js +var require_resolveProcessCredentials2 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProcessCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProcessCredentials = exports.isProcessProfile = void 0; + var credential_provider_process_1 = require_dist_cjs41(); + var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string"; + exports.isProcessProfile = isProcessProfile; + var resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({ + ...options, + profile + })(); + exports.resolveProcessCredentials = resolveProcessCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js +var require_isSsoProfile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/isSsoProfile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isSsoProfile = void 0; + var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"); + exports.isSsoProfile = isSsoProfile; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js +var require_EndpointParameters3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/EndpointParameters.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveClientEndpointParameters = void 0; + var resolveClientEndpointParameters = (options) => { + return { + ...options, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "awsssoportal" + }; + }; + exports.resolveClientEndpointParameters = resolveClientEndpointParameters; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/package.json +var require_package3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/package.json"(exports, module2) { + module2.exports = { + name: "@aws-sdk/client-sso", + description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native", + version: "3.387.0", + scripts: { + build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:docs": "typedoc", + "build:es": "tsc -p tsconfig.es.json", + "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build", + "build:types": "tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "rimraf ./dist-* && rimraf *.tsbuildinfo", + "extract:docs": "api-extractor run --local", + "generate:client": "node ../../scripts/generate-clients/single-service --solo sso" + }, + main: "./dist-cjs/index.js", + types: "./dist-types/index.d.ts", + module: "./dist-es/index.js", + sideEffects: false, + dependencies: { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.387.0", + "@aws-sdk/middleware-logger": "3.387.0", + "@aws-sdk/middleware-recursion-detection": "3.387.0", + "@aws-sdk/middleware-user-agent": "3.387.0", + "@aws-sdk/types": "3.387.0", + "@aws-sdk/util-endpoints": "3.387.0", + "@aws-sdk/util-user-agent-browser": "3.387.0", + "@aws-sdk/util-user-agent-node": "3.387.0", + "@smithy/config-resolver": "^2.0.2", + "@smithy/fetch-http-handler": "^2.0.2", + "@smithy/hash-node": "^2.0.2", + "@smithy/invalid-dependency": "^2.0.2", + "@smithy/middleware-content-length": "^2.0.2", + "@smithy/middleware-endpoint": "^2.0.2", + "@smithy/middleware-retry": "^2.0.2", + "@smithy/middleware-serde": "^2.0.2", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.2", + "@smithy/node-http-handler": "^2.0.2", + "@smithy/protocol-http": "^2.0.2", + "@smithy/smithy-client": "^2.0.2", + "@smithy/types": "^2.1.0", + "@smithy/url-parser": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.0.0", + "@smithy/util-defaults-mode-browser": "^2.0.2", + "@smithy/util-defaults-mode-node": "^2.0.2", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + tslib: "^2.5.0" + }, + devDependencies: { + "@smithy/service-client-documentation-generator": "^2.0.0", + "@tsconfig/node14": "1.0.3", + "@types/node": "^14.14.31", + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + rimraf: "3.0.2", + typedoc: "0.23.23", + typescript: "~4.9.5" + }, + engines: { + node: ">=14.0.0" + }, + typesVersions: { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + files: [ + "dist-*/**" + ], + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/javascript/" + }, + license: "Apache-2.0", + browser: { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso", + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "clients/client-sso" + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js +var require_is_crt_available = __commonJS({ + "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/is-crt-available.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isCrtAvailable = void 0; + var isCrtAvailable = () => { + try { + if (typeof require === "function" && typeof module2 !== "undefined" && require("aws-crt")) { + return ["md/crt-avail"]; + } + return null; + } catch (e) { + return null; + } + }; + exports.isCrtAvailable = isCrtAvailable; + } +}); + +// ../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +var require_dist_cjs42 = __commonJS({ + "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = void 0; + var node_config_provider_1 = require_dist_cjs39(); + var os_1 = require("os"); + var process_1 = require("process"); + var is_crt_available_1 = require_is_crt_available(); + exports.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; + exports.UA_APP_ID_INI_NAME = "sdk-ua-app-id"; + var defaultUserAgent = ({ serviceId, clientVersion }) => { + const sections = [ + ["aws-sdk-js", clientVersion], + ["ua", "2.0"], + [`os/${(0, os_1.platform)()}`, (0, os_1.release)()], + ["lang/js"], + ["md/nodejs", `${process_1.versions.node}`] + ]; + const crtAvailable = (0, is_crt_available_1.isCrtAvailable)(); + if (crtAvailable) { + sections.push(crtAvailable); + } + if (serviceId) { + sections.push([`api/${serviceId}`, clientVersion]); + } + if (process_1.env.AWS_EXECUTION_ENV) { + sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]); + } + const appIdPromise = (0, node_config_provider_1.loadConfig)({ + environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME], + configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME], + default: void 0 + })(); + let resolvedUserAgent = void 0; + return async () => { + if (!resolvedUserAgent) { + const appId = await appIdPromise; + resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; + } + return resolvedUserAgent; + }; + }; + exports.defaultUserAgent = defaultUserAgent; + } +}); + +// ../../../node_modules/@smithy/hash-node/dist-cjs/index.js +var require_dist_cjs43 = __commonJS({ + "../../../node_modules/@smithy/hash-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Hash = void 0; + var util_buffer_from_1 = require_dist_cjs12(); + var util_utf8_1 = require_dist_cjs13(); + var buffer_1 = require("buffer"); + var crypto_1 = require("crypto"); + var Hash = class { + constructor(algorithmIdentifier, secret) { + this.algorithmIdentifier = algorithmIdentifier; + this.secret = secret; + this.reset(); + } + update(toHash, encoding) { + this.hash.update((0, util_utf8_1.toUint8Array)(castSourceData(toHash, encoding))); + } + digest() { + return Promise.resolve(this.hash.digest()); + } + reset() { + this.hash = this.secret ? (0, crypto_1.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, crypto_1.createHash)(this.algorithmIdentifier); + } + }; + exports.Hash = Hash; + function castSourceData(toCast, encoding) { + if (buffer_1.Buffer.isBuffer(toCast)) { + return toCast; + } + if (typeof toCast === "string") { + return (0, util_buffer_from_1.fromString)(toCast, encoding); + } + if (ArrayBuffer.isView(toCast)) { + return (0, util_buffer_from_1.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength); + } + return (0, util_buffer_from_1.fromArrayBuffer)(toCast); + } + } +}); + +// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js +var require_calculateBodyLength = __commonJS({ + "../../../node_modules/@smithy/util-body-length-node/dist-cjs/calculateBodyLength.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.calculateBodyLength = void 0; + var fs_1 = require("fs"); + var calculateBodyLength = (body) => { + if (!body) { + return 0; + } + if (typeof body === "string") { + return Buffer.from(body).length; + } else if (typeof body.byteLength === "number") { + return body.byteLength; + } else if (typeof body.size === "number") { + return body.size; + } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) { + return (0, fs_1.lstatSync)(body.path).size; + } else if (typeof body.fd === "number") { + return (0, fs_1.fstatSync)(body.fd).size; + } + throw new Error(`Body Length computation failed for ${body}`); + }; + exports.calculateBodyLength = calculateBodyLength; + } +}); + +// ../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js +var require_dist_cjs44 = __commonJS({ + "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_calculateBodyLength(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js +var require_ruleset = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var p = "required"; + var q = "fn"; + var r = "argv"; + var s = "ref"; + var a = "PartitionResult"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = { [p]: false, "type": "String" }; + var f = { [p]: true, "default": false, "type": "Boolean" }; + var g = { [s]: "Endpoint" }; + var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; + var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; + var j = {}; + var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; + var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; + var m = [g]; + var n = [h]; + var o = [i]; + var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2019-06-10", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SSO", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js +var require_constants7 = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.IMDS_REGION_PATH = exports.DEFAULTS_MODE_OPTIONS = exports.ENV_IMDS_DISABLED = exports.AWS_DEFAULT_REGION_ENV = exports.AWS_REGION_ENV = exports.AWS_EXECUTION_ENV = void 0; + exports.AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; + exports.AWS_REGION_ENV = "AWS_REGION"; + exports.AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; + exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + exports.DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; + exports.IMDS_REGION_PATH = "/latest/meta-data/placement/region"; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js +var require_defaultsModeConfig = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/defaultsModeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = void 0; + var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; + var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; + exports.NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: (env) => { + return env[AWS_DEFAULTS_MODE_ENV]; + }, + configFileSelector: (profile) => { + return profile[AWS_DEFAULTS_MODE_CONFIG]; + }, + default: "legacy" + }; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js +var require_resolveDefaultsModeConfig = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/resolveDefaultsModeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveDefaultsModeConfig = void 0; + var config_resolver_1 = require_dist_cjs21(); + var credential_provider_imds_1 = require_dist_cjs40(); + var node_config_provider_1 = require_dist_cjs39(); + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants7(); + var defaultsModeConfig_1 = require_defaultsModeConfig(); + var resolveDefaultsModeConfig = ({ region = (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS), defaultsMode = (0, node_config_provider_1.loadConfig)(defaultsModeConfig_1.NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => (0, property_provider_1.memoize)(async () => { + const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; + switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) { + case "auto": + return resolveNodeDefaultsModeAuto(region); + case "in-region": + case "cross-region": + case "mobile": + case "standard": + case "legacy": + return Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase()); + case void 0: + return Promise.resolve("legacy"); + default: + throw new Error(`Invalid parameter for "defaultsMode", expect ${constants_1.DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`); + } + }); + exports.resolveDefaultsModeConfig = resolveDefaultsModeConfig; + var resolveNodeDefaultsModeAuto = async (clientRegion) => { + if (clientRegion) { + const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; + const inferredRegion = await inferPhysicalRegion(); + if (!inferredRegion) { + return "standard"; + } + if (resolvedRegion === inferredRegion) { + return "in-region"; + } else { + return "cross-region"; + } + } + return "standard"; + }; + var inferPhysicalRegion = async () => { + var _a; + if (process.env[constants_1.AWS_EXECUTION_ENV] && (process.env[constants_1.AWS_REGION_ENV] || process.env[constants_1.AWS_DEFAULT_REGION_ENV])) { + return (_a = process.env[constants_1.AWS_REGION_ENV]) !== null && _a !== void 0 ? _a : process.env[constants_1.AWS_DEFAULT_REGION_ENV]; + } + if (!process.env[constants_1.ENV_IMDS_DISABLED]) { + try { + const endpoint = await (0, credential_provider_imds_1.getInstanceMetadataEndpoint)(); + return (await (0, credential_provider_imds_1.httpRequest)({ ...endpoint, path: constants_1.IMDS_REGION_PATH })).toString(); + } catch (e) { + } + } + }; + } +}); + +// ../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js +var require_dist_cjs45 = __commonJS({ + "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_resolveDefaultsModeConfig(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js +var require_runtimeConfig = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package3()); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js +var require_SSOClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSOClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters3(); + var runtimeConfig_1 = require_runtimeConfig(); + var SSOClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SSOClient = SSOClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js +var require_SSOServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/SSOServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var SSOServiceException = class _SSOServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOServiceException.prototype); + } + }; + exports.SSOServiceException = SSOServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js +var require_models_02 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LogoutRequestFilterSensitiveLog = exports.ListAccountsRequestFilterSensitiveLog = exports.ListAccountRolesRequestFilterSensitiveLog = exports.GetRoleCredentialsResponseFilterSensitiveLog = exports.RoleCredentialsFilterSensitiveLog = exports.GetRoleCredentialsRequestFilterSensitiveLog = exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = void 0; + var smithy_client_1 = require_dist_cjs35(); + var SSOServiceException_1 = require_SSOServiceException(); + var InvalidRequestException = class _InvalidRequestException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + } + }; + exports.InvalidRequestException = InvalidRequestException; + var ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts + }); + this.name = "ResourceNotFoundException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFoundException.prototype); + } + }; + exports.ResourceNotFoundException = ResourceNotFoundException; + var TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "TooManyRequestsException", + $fault: "client", + ...opts + }); + this.name = "TooManyRequestsException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyRequestsException.prototype); + } + }; + exports.TooManyRequestsException = TooManyRequestsException; + var UnauthorizedException = class _UnauthorizedException extends SSOServiceException_1.SSOServiceException { + constructor(opts) { + super({ + name: "UnauthorizedException", + $fault: "client", + ...opts + }); + this.name = "UnauthorizedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedException.prototype); + } + }; + exports.UnauthorizedException = UnauthorizedException; + var GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.GetRoleCredentialsRequestFilterSensitiveLog = GetRoleCredentialsRequestFilterSensitiveLog; + var RoleCredentialsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.secretAccessKey && { secretAccessKey: smithy_client_1.SENSITIVE_STRING }, + ...obj.sessionToken && { sessionToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.RoleCredentialsFilterSensitiveLog = RoleCredentialsFilterSensitiveLog; + var GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.roleCredentials && { roleCredentials: (0, exports.RoleCredentialsFilterSensitiveLog)(obj.roleCredentials) } + }); + exports.GetRoleCredentialsResponseFilterSensitiveLog = GetRoleCredentialsResponseFilterSensitiveLog; + var ListAccountRolesRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.ListAccountRolesRequestFilterSensitiveLog = ListAccountRolesRequestFilterSensitiveLog; + var ListAccountsRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.ListAccountsRequestFilterSensitiveLog = ListAccountsRequestFilterSensitiveLog; + var LogoutRequestFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.accessToken && { accessToken: smithy_client_1.SENSITIVE_STRING } + }); + exports.LogoutRequestFilterSensitiveLog = LogoutRequestFilterSensitiveLog; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js +var require_Aws_restJson1 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/protocols/Aws_restJson1.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_LogoutCommand = exports.de_ListAccountsCommand = exports.de_ListAccountRolesCommand = exports.de_GetRoleCredentialsCommand = exports.se_LogoutCommand = exports.se_ListAccountsCommand = exports.se_ListAccountRolesCommand = exports.se_GetRoleCredentialsCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var models_0_1 = require_models_02(); + var SSOServiceException_1 = require_SSOServiceException(); + var se_GetRoleCredentialsCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/federation/credentials`; + const query = (0, smithy_client_1.map)({ + role_name: [, (0, smithy_client_1.expectNonNull)(input.roleName, `roleName`)], + account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_GetRoleCredentialsCommand = se_GetRoleCredentialsCommand; + var se_ListAccountRolesCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/roles`; + const query = (0, smithy_client_1.map)({ + next_token: [, input.nextToken], + max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()], + account_id: [, (0, smithy_client_1.expectNonNull)(input.accountId, `accountId`)] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_ListAccountRolesCommand = se_ListAccountRolesCommand; + var se_ListAccountsCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/assignment/accounts`; + const query = (0, smithy_client_1.map)({ + next_token: [, input.nextToken], + max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()] + }); + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body + }); + }; + exports.se_ListAccountsCommand = se_ListAccountsCommand; + var se_LogoutCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = (0, smithy_client_1.map)({}, isSerializableHeaderValue, { + "x-amz-sso_bearer_token": input.accessToken + }); + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/logout`; + let body; + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + exports.se_LogoutCommand = se_LogoutCommand; + var de_GetRoleCredentialsCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetRoleCredentialsCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + roleCredentials: smithy_client_1._json + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_GetRoleCredentialsCommand = de_GetRoleCredentialsCommand; + var de_GetRoleCredentialsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListAccountRolesCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListAccountRolesCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + nextToken: smithy_client_1.expectString, + roleList: smithy_client_1._json + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_ListAccountRolesCommand = de_ListAccountRolesCommand; + var de_ListAccountRolesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListAccountsCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListAccountsCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_1.take)(data, { + accountList: smithy_client_1._json, + nextToken: smithy_client_1.expectString + }); + Object.assign(contents, doc); + return contents; + }; + exports.de_ListAccountsCommand = de_ListAccountsCommand; + var de_ListAccountsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.sso#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_LogoutCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_LogoutCommandError(output, context); + } + const contents = (0, smithy_client_1.map)({ + $metadata: deserializeMetadata(output) + }); + await (0, smithy_client_1.collectBody)(output.body, context); + return contents; + }; + exports.de_LogoutCommand = de_LogoutCommand; + var de_LogoutCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidRequestException": + case "com.amazonaws.sso#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "TooManyRequestsException": + case "com.amazonaws.sso#TooManyRequestsException": + throw await de_TooManyRequestsExceptionRes(parsedOutput, context); + case "UnauthorizedException": + case "com.amazonaws.sso#UnauthorizedException": + throw await de_UnauthorizedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_1.withBaseException)(SSOServiceException_1.SSOServiceException); + var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.ResourceNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_TooManyRequestsExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.TooManyRequestsException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnauthorizedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_1.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_1.take)(data, { + message: smithy_client_1.expectString + }); + Object.assign(contents, doc); + const exception = new models_0_1.UnauthorizedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body); + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var isSerializableHeaderValue = (value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js +var require_GetRoleCredentialsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/GetRoleCredentialsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetRoleCredentialsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var GetRoleCredentialsCommand = class _GetRoleCredentialsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetRoleCredentialsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "GetRoleCredentialsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.GetRoleCredentialsRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.GetRoleCredentialsResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_GetRoleCredentialsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_GetRoleCredentialsCommand)(output, context); + } + }; + exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js +var require_ListAccountRolesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountRolesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListAccountRolesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var ListAccountRolesCommand = class _ListAccountRolesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountRolesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "ListAccountRolesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.ListAccountRolesRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_ListAccountRolesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_ListAccountRolesCommand)(output, context); + } + }; + exports.ListAccountRolesCommand = ListAccountRolesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js +var require_ListAccountsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/ListAccountsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListAccountsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var ListAccountsCommand = class _ListAccountsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListAccountsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "ListAccountsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.ListAccountsRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_ListAccountsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_ListAccountsCommand)(output, context); + } + }; + exports.ListAccountsCommand = ListAccountsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js +var require_LogoutCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/LogoutCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.LogoutCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_02(); + var Aws_restJson1_1 = require_Aws_restJson1(); + var LogoutCommand = class _LogoutCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _LogoutCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOClient"; + const commandName = "LogoutCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.LogoutRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_restJson1_1.se_LogoutCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_restJson1_1.de_LogoutCommand)(output, context); + } + }; + exports.LogoutCommand = LogoutCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js +var require_SSO = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/SSO.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSO = void 0; + var smithy_client_1 = require_dist_cjs35(); + var GetRoleCredentialsCommand_1 = require_GetRoleCredentialsCommand(); + var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); + var ListAccountsCommand_1 = require_ListAccountsCommand(); + var LogoutCommand_1 = require_LogoutCommand(); + var SSOClient_1 = require_SSOClient(); + var commands = { + GetRoleCredentialsCommand: GetRoleCredentialsCommand_1.GetRoleCredentialsCommand, + ListAccountRolesCommand: ListAccountRolesCommand_1.ListAccountRolesCommand, + ListAccountsCommand: ListAccountsCommand_1.ListAccountsCommand, + LogoutCommand: LogoutCommand_1.LogoutCommand + }; + var SSO = class extends SSOClient_1.SSOClient { + }; + exports.SSO = SSO; + (0, smithy_client_1.createAggregatedClient)(commands, SSO); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js +var require_commands = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_GetRoleCredentialsCommand(), exports); + tslib_1.__exportStar(require_ListAccountRolesCommand(), exports); + tslib_1.__exportStar(require_ListAccountsCommand(), exports); + tslib_1.__exportStar(require_LogoutCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js +var require_Interfaces = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/Interfaces.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js +var require_ListAccountRolesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountRolesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListAccountRoles = void 0; + var ListAccountRolesCommand_1 = require_ListAccountRolesCommand(); + var SSOClient_1 = require_SSOClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListAccountRolesCommand_1.ListAccountRolesCommand(input), ...args); + }; + async function* paginateListAccountRoles(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SSOClient_1.SSOClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSO | SSOClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListAccountRoles = paginateListAccountRoles; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js +var require_ListAccountsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/ListAccountsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListAccounts = void 0; + var ListAccountsCommand_1 = require_ListAccountsCommand(); + var SSOClient_1 = require_SSOClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListAccountsCommand_1.ListAccountsCommand(input), ...args); + }; + async function* paginateListAccounts(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SSOClient_1.SSOClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SSO | SSOClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListAccounts = paginateListAccounts; + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js +var require_pagination3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/pagination/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_Interfaces(), exports); + tslib_1.__exportStar(require_ListAccountRolesPaginator(), exports); + tslib_1.__exportStar(require_ListAccountsPaginator(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js +var require_models = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_02(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js +var require_dist_cjs46 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SSOServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SSOClient(), exports); + tslib_1.__exportStar(require_SSO(), exports); + tslib_1.__exportStar(require_commands(), exports); + tslib_1.__exportStar(require_pagination3(), exports); + tslib_1.__exportStar(require_models(), exports); + var SSOServiceException_1 = require_SSOServiceException(); + Object.defineProperty(exports, "SSOServiceException", { enumerable: true, get: function() { + return SSOServiceException_1.SSOServiceException; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js +var require_client_sso_oidc_node = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/bundle/client-sso-oidc-node.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.SSOOIDCClient = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.CreateTokenCommand = exports.AuthorizationPendingException = exports.AccessDeniedException = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + var resolveClientEndpointParameters = (options) => { + var _a, _b; + return { + ...options, + useDualstackEndpoint: (_a = options.useDualstackEndpoint) !== null && _a !== void 0 ? _a : false, + useFipsEndpoint: (_b = options.useFipsEndpoint) !== null && _b !== void 0 ? _b : false, + defaultSigningName: "awsssooidc" + }; + }; + var package_default = { version: "3.387.0" }; + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_2 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_2 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var smithy_client_2 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var util_endpoints_1 = require_dist_cjs18(); + var p = "required"; + var q = "fn"; + var r = "argv"; + var s = "ref"; + var a = "PartitionResult"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = { [p]: false, "type": "String" }; + var f = { [p]: true, "default": false, "type": "Boolean" }; + var g = { [s]: "Endpoint" }; + var h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }; + var i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }; + var j = {}; + var k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }; + var l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }; + var m = [g]; + var n = [h]; + var o = [i]; + var _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }; + var ruleSet = _data; + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleSet, { + endpointParams, + logger: context.logger + }); + }; + var getRuntimeConfig = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + return { + apiVersion: "2019-06-10", + base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : util_base64_1.fromBase64, + base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : util_base64_1.toBase64, + disableHostPrefix: (_c = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _c !== void 0 ? _c : false, + endpointProvider: (_d = config === null || config === void 0 ? void 0 : config.endpointProvider) !== null && _d !== void 0 ? _d : defaultEndpointResolver, + logger: (_e = config === null || config === void 0 ? void 0 : config.logger) !== null && _e !== void 0 ? _e : new smithy_client_2.NoOpLogger(), + serviceId: (_f = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _f !== void 0 ? _f : "SSO OIDC", + urlParser: (_g = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _g !== void 0 ? _g : url_parser_1.parseUrl, + utf8Decoder: (_h = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _h !== void 0 ? _h : util_utf8_1.fromUtf8, + utf8Encoder: (_j = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _j !== void 0 ? _j : util_utf8_1.toUtf8 + }; + }; + var smithy_client_3 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_4 = require_dist_cjs35(); + var getRuntimeConfig2 = (config) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + (0, smithy_client_4.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_3.loadConfigsForDefaultMode); + const clientSharedValues = getRuntimeConfig(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: (_a = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _a !== void 0 ? _a : util_body_length_node_1.calculateBodyLength, + defaultUserAgentProvider: (_b = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _b !== void 0 ? _b : (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: (_c = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _c !== void 0 ? _c : (0, node_config_provider_1.loadConfig)(middleware_retry_2.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: (_d = config === null || config === void 0 ? void 0 : config.region) !== null && _d !== void 0 ? _d : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_REGION_CONFIG_OPTIONS, config_resolver_2.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: (_e = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _e !== void 0 ? _e : new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: (_f = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _f !== void 0 ? _f : (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_2.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: (_g = config === null || config === void 0 ? void 0 : config.sha256) !== null && _g !== void 0 ? _g : hash_node_1.Hash.bind(null, "sha256"), + streamCollector: (_h = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _h !== void 0 ? _h : node_http_handler_1.streamCollector, + useDualstackEndpoint: (_j = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _j !== void 0 ? _j : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: (_k = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _k !== void 0 ? _k : (0, node_config_provider_1.loadConfig)(config_resolver_2.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + var SSOOIDCClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SSOOIDCClient = SSOOIDCClient; + var smithy_client_5 = require_dist_cjs35(); + var middleware_endpoint_2 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_6 = require_dist_cjs35(); + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_7 = require_dist_cjs35(); + var smithy_client_8 = require_dist_cjs35(); + var SSOOIDCServiceException = class _SSOOIDCServiceException extends smithy_client_8.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); + } + }; + var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "AccessDeniedException", + $fault: "client", + ...opts + }); + this.name = "AccessDeniedException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AccessDeniedException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.AccessDeniedException = AccessDeniedException; + var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "AuthorizationPendingException", + $fault: "client", + ...opts + }); + this.name = "AuthorizationPendingException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _AuthorizationPendingException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.AuthorizationPendingException = AuthorizationPendingException; + var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + this.name = "ExpiredTokenException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.ExpiredTokenException = ExpiredTokenException; + var InternalServerException = class _InternalServerException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts + }); + this.name = "InternalServerException"; + this.$fault = "server"; + Object.setPrototypeOf(this, _InternalServerException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InternalServerException = InternalServerException; + var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidClientException = InvalidClientException; + var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidGrantException", + $fault: "client", + ...opts + }); + this.name = "InvalidGrantException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidGrantException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + this.name = "InvalidRequestException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidRequestException = InvalidRequestException; + var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidScopeException", + $fault: "client", + ...opts + }); + this.name = "InvalidScopeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidScopeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.InvalidScopeException = InvalidScopeException; + var SlowDownException = class _SlowDownException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "SlowDownException", + $fault: "client", + ...opts + }); + this.name = "SlowDownException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _SlowDownException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.SlowDownException = SlowDownException; + var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "UnauthorizedClientException", + $fault: "client", + ...opts + }); + this.name = "UnauthorizedClientException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnauthorizedClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.UnauthorizedClientException = UnauthorizedClientException; + var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "UnsupportedGrantTypeException", + $fault: "client", + ...opts + }); + this.name = "UnsupportedGrantTypeException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException; + var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException { + constructor(opts) { + super({ + name: "InvalidClientMetadataException", + $fault: "client", + ...opts + }); + this.name = "InvalidClientMetadataException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + var se_CreateTokenCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/token`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientId: [], + clientSecret: [], + code: [], + deviceCode: [], + grantType: [], + redirectUri: [], + refreshToken: [], + scope: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_RegisterClientCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/client/register`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientName: [], + clientType: [], + scopes: (_) => (0, smithy_client_7._json)(_) + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var se_StartDeviceAuthorizationCommand = async (input, context) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers = { + "content-type": "application/json" + }; + const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}/device_authorization`; + let body; + body = JSON.stringify((0, smithy_client_7.take)(input, { + clientId: [], + clientSecret: [], + startUrl: [] + })); + return new protocol_http_1.HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body + }); + }; + var de_CreateTokenCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CreateTokenCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + accessToken: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + idToken: smithy_client_7.expectString, + refreshToken: smithy_client_7.expectString, + tokenType: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_CreateTokenCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.ssooidc#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "AuthorizationPendingException": + case "com.amazonaws.ssooidc#AuthorizationPendingException": + throw await de_AuthorizationPendingExceptionRes(parsedOutput, context); + case "ExpiredTokenException": + case "com.amazonaws.ssooidc#ExpiredTokenException": + throw await de_ExpiredTokenExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidGrantException": + case "com.amazonaws.ssooidc#InvalidGrantException": + throw await de_InvalidGrantExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + case "UnsupportedGrantTypeException": + case "com.amazonaws.ssooidc#UnsupportedGrantTypeException": + throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_RegisterClientCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_RegisterClientCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + authorizationEndpoint: smithy_client_7.expectString, + clientId: smithy_client_7.expectString, + clientIdIssuedAt: smithy_client_7.expectLong, + clientSecret: smithy_client_7.expectString, + clientSecretExpiresAt: smithy_client_7.expectLong, + tokenEndpoint: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_RegisterClientCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientMetadataException": + case "com.amazonaws.ssooidc#InvalidClientMetadataException": + throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidScopeException": + case "com.amazonaws.ssooidc#InvalidScopeException": + throw await de_InvalidScopeExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartDeviceAuthorizationCommand = async (output, context) => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_StartDeviceAuthorizationCommandError(output, context); + } + const contents = (0, smithy_client_7.map)({ + $metadata: deserializeMetadata(output) + }); + const data = (0, smithy_client_7.expectNonNull)((0, smithy_client_7.expectObject)(await parseBody(output.body, context)), "body"); + const doc = (0, smithy_client_7.take)(data, { + deviceCode: smithy_client_7.expectString, + expiresIn: smithy_client_7.expectInt32, + interval: smithy_client_7.expectInt32, + userCode: smithy_client_7.expectString, + verificationUri: smithy_client_7.expectString, + verificationUriComplete: smithy_client_7.expectString + }); + Object.assign(contents, doc); + return contents; + }; + var de_StartDeviceAuthorizationCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServerException": + case "com.amazonaws.ssooidc#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "InvalidClientException": + case "com.amazonaws.ssooidc#InvalidClientException": + throw await de_InvalidClientExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.ssooidc#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "SlowDownException": + case "com.amazonaws.ssooidc#SlowDownException": + throw await de_SlowDownExceptionRes(parsedOutput, context); + case "UnauthorizedClientException": + case "com.amazonaws.ssooidc#UnauthorizedClientException": + throw await de_UnauthorizedClientExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var throwDefaultError = (0, smithy_client_7.withBaseException)(SSOOIDCServiceException); + var de_AccessDeniedExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new AccessDeniedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new AuthorizationPendingException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new ExpiredTokenException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InternalServerExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InternalServerException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidClientMetadataException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidGrantExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidGrantException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidRequestExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidRequestException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_InvalidScopeExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new InvalidScopeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_SlowDownExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new SlowDownException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new UnauthorizedClientException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => { + const contents = (0, smithy_client_7.map)({}); + const data = parsedOutput.body; + const doc = (0, smithy_client_7.take)(data, { + error: smithy_client_7.expectString, + error_description: smithy_client_7.expectString + }); + Object.assign(contents, doc); + const exception = new UnsupportedGrantTypeException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents + }); + return (0, smithy_client_7.decorateServiceException)(exception, parsedOutput.body); + }; + var deserializeMetadata = (output) => { + var _a, _b; + return { + httpStatusCode: output.statusCode, + requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }; + }; + var collectBodyString = (streamBody, context) => (0, smithy_client_7.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + var _a; + const value = await parseBody(errorBody, context); + value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + var CreateTokenCommand = class _CreateTokenCommand extends smithy_client_6.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_2.getEndpointPlugin)(configuration, _CreateTokenCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "CreateTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_CreateTokenCommand(input, context); + } + deserialize(output, context) { + return de_CreateTokenCommand(output, context); + } + }; + exports.CreateTokenCommand = CreateTokenCommand; + var middleware_endpoint_3 = require_dist_cjs26(); + var middleware_serde_2 = require_dist_cjs25(); + var smithy_client_9 = require_dist_cjs35(); + var RegisterClientCommand = class _RegisterClientCommand extends smithy_client_9.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_2.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_3.getEndpointPlugin)(configuration, _RegisterClientCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "RegisterClientCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_RegisterClientCommand(input, context); + } + deserialize(output, context) { + return de_RegisterClientCommand(output, context); + } + }; + var middleware_endpoint_4 = require_dist_cjs26(); + var middleware_serde_3 = require_dist_cjs25(); + var smithy_client_10 = require_dist_cjs35(); + var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends smithy_client_10.Command { + constructor(input) { + super(); + this.input = input; + } + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_3.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_4.getEndpointPlugin)(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SSOOIDCClient"; + const commandName = "StartDeviceAuthorizationCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return se_StartDeviceAuthorizationCommand(input, context); + } + deserialize(output, context) { + return de_StartDeviceAuthorizationCommand(output, context); + } + }; + var commands = { + CreateTokenCommand, + RegisterClientCommand, + StartDeviceAuthorizationCommand + }; + var SSOOIDC = class extends SSOOIDCClient { + }; + (0, smithy_client_5.createAggregatedClient)(commands, SSOOIDC); + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js +var require_constants8 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0; + exports.EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js +var require_getSsoOidcClient = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getSsoOidcClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSsoOidcClient = void 0; + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); + var ssoOidcClientsHash = {}; + var getSsoOidcClient = (ssoRegion) => { + if (ssoOidcClientsHash[ssoRegion]) { + return ssoOidcClientsHash[ssoRegion]; + } + const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion }); + ssoOidcClientsHash[ssoRegion] = ssoOidcClient; + return ssoOidcClient; + }; + exports.getSsoOidcClient = getSsoOidcClient; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js +var require_getNewSsoOidcToken = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/getNewSsoOidcToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getNewSsoOidcToken = void 0; + var client_sso_oidc_node_1 = require_client_sso_oidc_node(); + var getSsoOidcClient_1 = require_getSsoOidcClient(); + var getNewSsoOidcToken = (ssoToken, ssoRegion) => { + const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion); + return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({ + clientId: ssoToken.clientId, + clientSecret: ssoToken.clientSecret, + refreshToken: ssoToken.refreshToken, + grantType: "refresh_token" + })); + }; + exports.getNewSsoOidcToken = getNewSsoOidcToken; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js +var require_validateTokenExpiry = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenExpiry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateTokenExpiry = void 0; + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants8(); + var validateTokenExpiry = (token) => { + if (token.expiration && token.expiration.getTime() < Date.now()) { + throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false); + } + }; + exports.validateTokenExpiry = validateTokenExpiry; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js +var require_validateTokenKey = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/validateTokenKey.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateTokenKey = void 0; + var property_provider_1 = require_dist_cjs6(); + var constants_1 = require_constants8(); + var validateTokenKey = (key, value, forRefresh = false) => { + if (typeof value === "undefined") { + throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${constants_1.REFRESH_MESSAGE}`, false); + } + }; + exports.validateTokenKey = validateTokenKey; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js +var require_writeSSOTokenToFile = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/writeSSOTokenToFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.writeSSOTokenToFile = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var fs_1 = require("fs"); + var { writeFile } = fs_1.promises; + var writeSSOTokenToFile = (id, ssoToken) => { + const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id); + const tokenString = JSON.stringify(ssoToken, null, 2); + return writeFile(tokenFilepath, tokenString); + }; + exports.writeSSOTokenToFile = writeSSOTokenToFile; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js +var require_fromSso = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromSso.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSso = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var constants_1 = require_constants8(); + var getNewSsoOidcToken_1 = require_getNewSsoOidcToken(); + var validateTokenExpiry_1 = require_validateTokenExpiry(); + var validateTokenKey_1 = require_validateTokenKey(); + var writeSSOTokenToFile_1 = require_writeSSOTokenToFile(); + var lastRefreshAttemptTime = /* @__PURE__ */ new Date(0); + var fromSso = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); + } else if (!profile["sso_session"]) { + throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); + } + const ssoSessionName = profile["sso_session"]; + const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); + const ssoSession = ssoSessions[ssoSessionName]; + if (!ssoSession) { + throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false); + } + for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { + if (!ssoSession[ssoSessionRequiredKey]) { + throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false); + } + } + const ssoStartUrl = ssoSession["sso_start_url"]; + const ssoRegion = ssoSession["sso_region"]; + let ssoToken; + try { + ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName); + } catch (e) { + throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false); + } + (0, validateTokenKey_1.validateTokenKey)("accessToken", ssoToken.accessToken); + (0, validateTokenKey_1.validateTokenKey)("expiresAt", ssoToken.expiresAt); + const { accessToken, expiresAt } = ssoToken; + const existingToken = { token: accessToken, expiration: new Date(expiresAt) }; + if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) { + return existingToken; + } + if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1e3) { + (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); + return existingToken; + } + (0, validateTokenKey_1.validateTokenKey)("clientId", ssoToken.clientId, true); + (0, validateTokenKey_1.validateTokenKey)("clientSecret", ssoToken.clientSecret, true); + (0, validateTokenKey_1.validateTokenKey)("refreshToken", ssoToken.refreshToken, true); + try { + lastRefreshAttemptTime.setTime(Date.now()); + const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion); + (0, validateTokenKey_1.validateTokenKey)("accessToken", newSsoOidcToken.accessToken); + (0, validateTokenKey_1.validateTokenKey)("expiresIn", newSsoOidcToken.expiresIn); + const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); + try { + await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, { + ...ssoToken, + accessToken: newSsoOidcToken.accessToken, + expiresAt: newTokenExpiration.toISOString(), + refreshToken: newSsoOidcToken.refreshToken + }); + } catch (error) { + } + return { + token: newSsoOidcToken.accessToken, + expiration: newTokenExpiration + }; + } catch (error) { + (0, validateTokenExpiry_1.validateTokenExpiry)(existingToken); + return existingToken; + } + }; + exports.fromSso = fromSso; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js +var require_fromStatic3 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/fromStatic.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromStatic = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromStatic = ({ token }) => async () => { + if (!token || !token.token) { + throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false); + } + return token; + }; + exports.fromStatic = fromStatic; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js +var require_nodeProvider = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/nodeProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.nodeProvider = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromSso_1 = require_fromSso(); + var nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => { + throw new property_provider_1.TokenProviderError("Could not load token from any providers", false); + }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0); + exports.nodeProvider = nodeProvider; + } +}); + +// ../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js +var require_dist_cjs47 = __commonJS({ + "../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_client_sso_oidc_node(), exports); + tslib_1.__exportStar(require_fromSso(), exports); + tslib_1.__exportStar(require_fromStatic3(), exports); + tslib_1.__exportStar(require_nodeProvider(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js +var require_resolveSSOCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/resolveSSOCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSSOCredentials = void 0; + var client_sso_1 = require_dist_cjs46(); + var token_providers_1 = require_dist_cjs47(); + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var EXPIRE_WINDOW_MS = 15 * 60 * 1e3; + var SHOULD_FAIL_CREDENTIAL_CHAIN = false; + var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, profile }) => { + let token; + const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; + if (ssoSession) { + try { + const _token = await (0, token_providers_1.fromSso)({ profile })(); + token = { + accessToken: _token.token, + expiresAt: new Date(_token.expiration).toISOString() + }; + } catch (e) { + throw new property_provider_1.CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + } else { + try { + token = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoStartUrl); + } catch (e) { + throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + } + if (new Date(token.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) { + throw new property_provider_1.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + const { accessToken } = token; + const sso = ssoClient || new client_sso_1.SSOClient({ region: ssoRegion }); + let ssoResp; + try { + ssoResp = await sso.send(new client_sso_1.GetRoleCredentialsCommand({ + accountId: ssoAccountId, + roleName: ssoRoleName, + accessToken + })); + } catch (e) { + throw property_provider_1.CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN); + } + const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration } = {} } = ssoResp; + if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { + throw new property_provider_1.CredentialsProviderError("SSO returns an invalid temporary credential.", SHOULD_FAIL_CREDENTIAL_CHAIN); + } + return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration) }; + }; + exports.resolveSSOCredentials = resolveSSOCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js +var require_validateSsoProfile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/validateSsoProfile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateSsoProfile = void 0; + var property_provider_1 = require_dist_cjs6(); + var validateSsoProfile = (profile) => { + const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; + if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { + throw new property_provider_1.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")} +Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false); + } + return profile; + }; + exports.validateSsoProfile = validateSsoProfile; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js +var require_fromSSO = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/fromSSO.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSSO = void 0; + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var isSsoProfile_1 = require_isSsoProfile(); + var resolveSSOCredentials_1 = require_resolveSSOCredentials(); + var validateSsoProfile_1 = require_validateSsoProfile(); + var fromSSO = (init = {}) => async () => { + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, ssoSession } = init; + const profileName = (0, shared_ini_file_loader_1.getProfileName)(init); + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + const profile = profiles[profileName]; + if (!profile) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} was not found.`); + } + if (!(0, isSsoProfile_1.isSsoProfile)(profile)) { + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`); + } + if (profile === null || profile === void 0 ? void 0 : profile.sso_session) { + const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init); + const session = ssoSessions[profile.sso_session]; + const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; + if (ssoRegion && ssoRegion !== session.sso_region) { + throw new property_provider_1.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false); + } + if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { + throw new property_provider_1.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false); + } + profile.sso_region = session.sso_region; + profile.sso_start_url = session.sso_start_url; + } + const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = (0, validateSsoProfile_1.validateSsoProfile)(profile); + return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ + ssoStartUrl: sso_start_url, + ssoSession: sso_session, + ssoAccountId: sso_account_id, + ssoRegion: sso_region, + ssoRoleName: sso_role_name, + ssoClient, + profile: profileName + }); + } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { + throw new property_provider_1.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"'); + } else { + return (0, resolveSSOCredentials_1.resolveSSOCredentials)({ + ssoStartUrl, + ssoSession, + ssoAccountId, + ssoRegion, + ssoRoleName, + ssoClient, + profile: profileName + }); + } + }; + exports.fromSSO = fromSSO; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js +var require_types7 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +var require_dist_cjs48 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromSSO(), exports); + tslib_1.__exportStar(require_isSsoProfile(), exports); + tslib_1.__exportStar(require_types7(), exports); + tslib_1.__exportStar(require_validateSsoProfile(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js +var require_resolveSsoCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveSsoCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSsoCredentials = exports.isSsoProfile = void 0; + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_sso_2 = require_dist_cjs48(); + Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function() { + return credential_provider_sso_2.isSsoProfile; + } }); + var resolveSsoCredentials = (data) => { + const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data); + return (0, credential_provider_sso_1.fromSSO)({ + ssoStartUrl: sso_start_url, + ssoAccountId: sso_account_id, + ssoSession: sso_session, + ssoRegion: sso_region, + ssoRoleName: sso_role_name + })(); + }; + exports.resolveSsoCredentials = resolveSsoCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js +var require_resolveStaticCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveStaticCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0; + var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1; + exports.isStaticCredsProfile = isStaticCredsProfile; + var resolveStaticCredentials = (profile) => Promise.resolve({ + accessKeyId: profile.aws_access_key_id, + secretAccessKey: profile.aws_secret_access_key, + sessionToken: profile.aws_session_token + }); + exports.resolveStaticCredentials = resolveStaticCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +var require_fromWebToken = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromWebToken = void 0; + var property_provider_1 = require_dist_cjs6(); + var fromWebToken = (init) => () => { + const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity } = init; + if (!roleAssumerWithWebIdentity) { + throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity, but no role assumption callback was provided.`, false); + } + return roleAssumerWithWebIdentity({ + RoleArn: roleArn, + RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`, + WebIdentityToken: webIdentityToken, + ProviderId: providerId, + PolicyArns: policyArns, + Policy: policy, + DurationSeconds: durationSeconds + }); + }; + exports.fromWebToken = fromWebToken; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +var require_fromTokenFile = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromTokenFile = void 0; + var property_provider_1 = require_dist_cjs6(); + var fs_1 = require("fs"); + var fromWebToken_1 = require_fromWebToken(); + var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; + var ENV_ROLE_ARN = "AWS_ROLE_ARN"; + var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; + var fromTokenFile = (init = {}) => async () => { + var _a, _b, _c; + const webIdentityTokenFile = (_a = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _a !== void 0 ? _a : process.env[ENV_TOKEN_FILE]; + const roleArn = (_b = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _b !== void 0 ? _b : process.env[ENV_ROLE_ARN]; + const roleSessionName = (_c = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _c !== void 0 ? _c : process.env[ENV_ROLE_SESSION_NAME]; + if (!webIdentityTokenFile || !roleArn) { + throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified"); + } + return (0, fromWebToken_1.fromWebToken)({ + ...init, + webIdentityToken: (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }), + roleArn, + roleSessionName + })(); + }; + exports.fromTokenFile = fromTokenFile; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +var require_dist_cjs49 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromTokenFile(), exports); + tslib_1.__exportStar(require_fromWebToken(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js +var require_resolveWebIdentityCredentials = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveWebIdentityCredentials.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0; + var credential_provider_web_identity_1 = require_dist_cjs49(); + var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1; + exports.isWebIdentityProfile = isWebIdentityProfile; + var resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({ + webIdentityTokenFile: profile.web_identity_token_file, + roleArn: profile.role_arn, + roleSessionName: profile.role_session_name, + roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity + })(); + exports.resolveWebIdentityCredentials = resolveWebIdentityCredentials; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js +var require_resolveProfileData = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveProfileData = void 0; + var property_provider_1 = require_dist_cjs6(); + var resolveAssumeRoleCredentials_1 = require_resolveAssumeRoleCredentials(); + var resolveProcessCredentials_1 = require_resolveProcessCredentials2(); + var resolveSsoCredentials_1 = require_resolveSsoCredentials(); + var resolveStaticCredentials_1 = require_resolveStaticCredentials(); + var resolveWebIdentityCredentials_1 = require_resolveWebIdentityCredentials(); + var resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => { + const data = profiles[profileName]; + if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { + return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); + } + if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) { + return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles); + } + if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) { + return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data); + } + if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) { + return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options); + } + if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) { + return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName); + } + if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) { + return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data); + } + throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`); + }; + exports.resolveProfileData = resolveProfileData; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js +var require_fromIni = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/fromIni.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromIni = void 0; + var shared_ini_file_loader_1 = require_dist_cjs38(); + var resolveProfileData_1 = require_resolveProfileData(); + var fromIni = (init = {}) => async () => { + const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init); + return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init); + }; + exports.fromIni = fromIni; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +var require_dist_cjs50 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_fromIni(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js +var require_remoteProvider = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/remoteProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.remoteProvider = exports.ENV_IMDS_DISABLED = void 0; + var credential_provider_imds_1 = require_dist_cjs40(); + var property_provider_1 = require_dist_cjs6(); + exports.ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + var remoteProvider = (init) => { + if (process.env[credential_provider_imds_1.ENV_CMDS_RELATIVE_URI] || process.env[credential_provider_imds_1.ENV_CMDS_FULL_URI]) { + return (0, credential_provider_imds_1.fromContainerMetadata)(init); + } + if (process.env[exports.ENV_IMDS_DISABLED]) { + return async () => { + throw new property_provider_1.CredentialsProviderError("EC2 Instance Metadata Service access disabled"); + }; + } + return (0, credential_provider_imds_1.fromInstanceMetadata)(init); + }; + exports.remoteProvider = remoteProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js +var require_defaultProvider = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultProvider = void 0; + var credential_provider_env_1 = require_dist_cjs37(); + var credential_provider_ini_1 = require_dist_cjs50(); + var credential_provider_process_1 = require_dist_cjs41(); + var credential_provider_sso_1 = require_dist_cjs48(); + var credential_provider_web_identity_1 = require_dist_cjs49(); + var property_provider_1 = require_dist_cjs6(); + var shared_ini_file_loader_1 = require_dist_cjs38(); + var remoteProvider_1 = require_remoteProvider(); + var defaultProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)(...init.profile || process.env[shared_ini_file_loader_1.ENV_PROFILE] ? [] : [(0, credential_provider_env_1.fromEnv)()], (0, credential_provider_sso_1.fromSSO)(init), (0, credential_provider_ini_1.fromIni)(init), (0, credential_provider_process_1.fromProcess)(init), (0, credential_provider_web_identity_1.fromTokenFile)(init), (0, remoteProvider_1.remoteProvider)(init), async () => { + throw new property_provider_1.CredentialsProviderError("Could not load credentials from any providers", false); + }), (credentials) => credentials.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, (credentials) => credentials.expiration !== void 0); + exports.defaultProvider = defaultProvider; + } +}); + +// ../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +var require_dist_cjs51 = __commonJS({ + "../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_defaultProvider(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js +var require_ruleset2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var F = "required"; + var G = "type"; + var H = "fn"; + var I = "argv"; + var J = "ref"; + var a = false; + var b = true; + var c = "booleanEquals"; + var d = "tree"; + var e = "stringEquals"; + var f = "sigv4"; + var g = "sts"; + var h = "us-east-1"; + var i = "endpoint"; + var j = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; + var k = "error"; + var l = "getAttr"; + var m = { [F]: false, [G]: "String" }; + var n = { [F]: true, "default": false, [G]: "Boolean" }; + var o = { [J]: "Endpoint" }; + var p = { [H]: "isSet", [I]: [{ [J]: "Region" }] }; + var q = { [J]: "Region" }; + var r = { [H]: "aws.partition", [I]: [q], "assign": "PartitionResult" }; + var s = { [J]: "UseFIPS" }; + var t = { [J]: "UseDualStack" }; + var u = { "url": "https://sts.amazonaws.com", "properties": { "authSchemes": [{ "name": f, "signingName": g, "signingRegion": h }] }, "headers": {} }; + var v = {}; + var w = { "conditions": [{ [H]: e, [I]: [q, "aws-global"] }], [i]: u, [G]: i }; + var x = { [H]: c, [I]: [s, true] }; + var y = { [H]: c, [I]: [t, true] }; + var z = { [H]: c, [I]: [true, { [H]: l, [I]: [{ [J]: "PartitionResult" }, "supportsFIPS"] }] }; + var A = { [J]: "PartitionResult" }; + var B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, "supportsDualStack"] }] }; + var C = [{ [H]: "isSet", [I]: [o] }]; + var D = [x]; + var E = [y]; + var _data = { version: "1.0", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: "UseGlobalEndpoint" }, b] }, { [H]: "not", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], [G]: d, rules: [{ conditions: [{ [H]: e, [I]: [q, "ap-northeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-south-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "ap-southeast-2"] }], endpoint: u, [G]: i }, w, { conditions: [{ [H]: e, [I]: [q, "ca-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-central-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-north-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "eu-west-3"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "sa-east-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, h] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-east-2"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-1"] }], endpoint: u, [G]: i }, { conditions: [{ [H]: e, [I]: [q, "us-west-2"] }], endpoint: u, [G]: i }, { endpoint: { url: j, properties: { authSchemes: [{ name: f, signingName: g, signingRegion: "{Region}" }] }, headers: v }, [G]: i }] }, { conditions: C, [G]: d, rules: [{ conditions: D, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G]: k }, { [G]: d, rules: [{ conditions: E, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: i }] }] }, { [G]: d, rules: [{ conditions: [p], [G]: d, rules: [{ conditions: [r], [G]: d, rules: [{ conditions: [x, y], [G]: d, rules: [{ conditions: [z, B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G]: k }] }, { conditions: D, [G]: d, rules: [{ conditions: [z], [G]: d, rules: [{ [G]: d, rules: [{ conditions: [{ [H]: e, [I]: ["aws-us-gov", { [H]: l, [I]: [A, "name"] }] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v, headers: v }, [G]: i }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", [G]: k }] }, { conditions: E, [G]: d, rules: [{ conditions: [B], [G]: d, rules: [{ [G]: d, rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v, headers: v }, [G]: i }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", [G]: k }] }, { [G]: d, rules: [w, { endpoint: { url: j, properties: v, headers: v }, [G]: i }] }] }] }, { error: "Invalid Configuration: Missing Region", [G]: k }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset2(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver2(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2011-06-15", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "STS", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +var require_runtimeConfig2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package2()); + var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); + var credential_provider_node_1 = require_dist_cjs51(); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared2(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, defaultStsRoleAssumers_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js +var require_STSClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_sdk_sts_1 = require_dist_cjs36(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters2(); + var runtimeConfig_1 = require_runtimeConfig2(); + var STSClient = class _STSClient extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_sdk_sts_1.resolveStsAuthConfig)(_config_5, { stsClientCtor: _STSClient }); + const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); + super(_config_7); + this.config = _config_7; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.STSClient = STSClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js +var require_AssumeRoleWithSAMLCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/AssumeRoleWithSAMLCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AssumeRoleWithSAMLCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var AssumeRoleWithSAMLCommand = class _AssumeRoleWithSAMLCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _AssumeRoleWithSAMLCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "AssumeRoleWithSAMLCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLRequestFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.AssumeRoleWithSAMLResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_AssumeRoleWithSAMLCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_AssumeRoleWithSAMLCommand)(output, context); + } + }; + exports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js +var require_DecodeAuthorizationMessageCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/DecodeAuthorizationMessageCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DecodeAuthorizationMessageCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var DecodeAuthorizationMessageCommand = class _DecodeAuthorizationMessageCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DecodeAuthorizationMessageCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "DecodeAuthorizationMessageCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_DecodeAuthorizationMessageCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_DecodeAuthorizationMessageCommand)(output, context); + } + }; + exports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js +var require_GetAccessKeyInfoCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetAccessKeyInfoCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetAccessKeyInfoCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var GetAccessKeyInfoCommand = class _GetAccessKeyInfoCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetAccessKeyInfoCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetAccessKeyInfoCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetAccessKeyInfoCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetAccessKeyInfoCommand)(output, context); + } + }; + exports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js +var require_GetCallerIdentityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetCallerIdentityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetCallerIdentityCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_query_1 = require_Aws_query(); + var GetCallerIdentityCommand = class _GetCallerIdentityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetCallerIdentityCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetCallerIdentityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetCallerIdentityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetCallerIdentityCommand)(output, context); + } + }; + exports.GetCallerIdentityCommand = GetCallerIdentityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js +var require_GetFederationTokenCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetFederationTokenCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetFederationTokenCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var GetFederationTokenCommand = class _GetFederationTokenCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetFederationTokenCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetFederationTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetFederationTokenResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetFederationTokenCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetFederationTokenCommand)(output, context); + } + }; + exports.GetFederationTokenCommand = GetFederationTokenCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js +var require_GetSessionTokenCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/GetSessionTokenCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetSessionTokenCommand = exports.$Command = void 0; + var middleware_signing_1 = require_dist_cjs16(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_0(); + var Aws_query_1 = require_Aws_query(); + var GetSessionTokenCommand = class _GetSessionTokenCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetSessionTokenCommand.getEndpointParameterInstructions())); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(configuration)); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "STSClient"; + const commandName = "GetSessionTokenCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetSessionTokenResponseFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_query_1.se_GetSessionTokenCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_query_1.de_GetSessionTokenCommand)(output, context); + } + }; + exports.GetSessionTokenCommand = GetSessionTokenCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js +var require_STS = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/STS.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STS = void 0; + var smithy_client_1 = require_dist_cjs35(); + var AssumeRoleCommand_1 = require_AssumeRoleCommand(); + var AssumeRoleWithSAMLCommand_1 = require_AssumeRoleWithSAMLCommand(); + var AssumeRoleWithWebIdentityCommand_1 = require_AssumeRoleWithWebIdentityCommand(); + var DecodeAuthorizationMessageCommand_1 = require_DecodeAuthorizationMessageCommand(); + var GetAccessKeyInfoCommand_1 = require_GetAccessKeyInfoCommand(); + var GetCallerIdentityCommand_1 = require_GetCallerIdentityCommand(); + var GetFederationTokenCommand_1 = require_GetFederationTokenCommand(); + var GetSessionTokenCommand_1 = require_GetSessionTokenCommand(); + var STSClient_1 = require_STSClient(); + var commands = { + AssumeRoleCommand: AssumeRoleCommand_1.AssumeRoleCommand, + AssumeRoleWithSAMLCommand: AssumeRoleWithSAMLCommand_1.AssumeRoleWithSAMLCommand, + AssumeRoleWithWebIdentityCommand: AssumeRoleWithWebIdentityCommand_1.AssumeRoleWithWebIdentityCommand, + DecodeAuthorizationMessageCommand: DecodeAuthorizationMessageCommand_1.DecodeAuthorizationMessageCommand, + GetAccessKeyInfoCommand: GetAccessKeyInfoCommand_1.GetAccessKeyInfoCommand, + GetCallerIdentityCommand: GetCallerIdentityCommand_1.GetCallerIdentityCommand, + GetFederationTokenCommand: GetFederationTokenCommand_1.GetFederationTokenCommand, + GetSessionTokenCommand: GetSessionTokenCommand_1.GetSessionTokenCommand + }; + var STS = class extends STSClient_1.STSClient { + }; + exports.STS = STS; + (0, smithy_client_1.createAggregatedClient)(commands, STS); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js +var require_commands2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_AssumeRoleCommand(), exports); + tslib_1.__exportStar(require_AssumeRoleWithSAMLCommand(), exports); + tslib_1.__exportStar(require_AssumeRoleWithWebIdentityCommand(), exports); + tslib_1.__exportStar(require_DecodeAuthorizationMessageCommand(), exports); + tslib_1.__exportStar(require_GetAccessKeyInfoCommand(), exports); + tslib_1.__exportStar(require_GetCallerIdentityCommand(), exports); + tslib_1.__exportStar(require_GetFederationTokenCommand(), exports); + tslib_1.__exportStar(require_GetSessionTokenCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js +var require_models2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_0(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js +var require_defaultRoleAssumers = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/defaultRoleAssumers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0; + var defaultStsRoleAssumers_1 = require_defaultStsRoleAssumers(); + var STSClient_1 = require_STSClient(); + var getCustomizableStsClientCtor = (baseCtor, customizations) => { + if (!customizations) + return baseCtor; + else + return class CustomizableSTSClient extends baseCtor { + constructor(config) { + super(config); + for (const customization of customizations) { + this.middlewareStack.use(customization); + } + } + }; + }; + var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumer)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); + exports.getDefaultRoleAssumer = getDefaultRoleAssumer; + var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => (0, defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity)(stsOptions, getCustomizableStsClientCtor(STSClient_1.STSClient, stsPlugins)); + exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity; + var decorateDefaultCredentialProvider = (provider) => (input) => provider({ + roleAssumer: (0, exports.getDefaultRoleAssumer)(input), + roleAssumerWithWebIdentity: (0, exports.getDefaultRoleAssumerWithWebIdentity)(input), + ...input + }); + exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider; + } +}); + +// ../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js +var require_dist_cjs52 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sts/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.STSServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_STSClient(), exports); + tslib_1.__exportStar(require_STS(), exports); + tslib_1.__exportStar(require_commands2(), exports); + tslib_1.__exportStar(require_models2(), exports); + tslib_1.__exportStar(require_defaultRoleAssumers(), exports); + var STSServiceException_1 = require_STSServiceException(); + Object.defineProperty(exports, "STSServiceException", { enumerable: true, get: function() { + return STSServiceException_1.STSServiceException; + } }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js +var require_ruleset3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/ruleset.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ruleSet = void 0; + var r = "required"; + var s = "fn"; + var t = "argv"; + var u = "ref"; + var a = "isSet"; + var b = "tree"; + var c = "error"; + var d = "endpoint"; + var e = "PartitionResult"; + var f = { [r]: false, "type": "String" }; + var g = { [r]: true, "default": false, "type": "Boolean" }; + var h = { [u]: "Endpoint" }; + var i = { [s]: "booleanEquals", [t]: [{ [u]: "UseFIPS" }, true] }; + var j = { [s]: "booleanEquals", [t]: [{ [u]: "UseDualStack" }, true] }; + var k = {}; + var l = { [u]: "Region" }; + var m = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsFIPS"] }] }; + var n = { [s]: "booleanEquals", [t]: [true, { [s]: "getAttr", [t]: [{ [u]: e }, "supportsDualStack"] }] }; + var o = [i]; + var p = [j]; + var q = [l]; + var _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [s]: a, [t]: [h] }], type: b, rules: [{ conditions: o, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: p, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [s]: a, [t]: q }], type: b, rules: [{ conditions: [{ [s]: "aws.partition", [t]: q, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [m, n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ type: b, rules: [{ conditions: [{ [s]: "stringEquals", [t]: [l, "us-gov-west-1"] }], endpoint: { url: "https://states.us-gov-west-1.amazonaws.com", properties: k, headers: k }, type: d }, { endpoint: { url: "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { type: b, rules: [{ endpoint: { url: "https://states.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }] }; + exports.ruleSet = _data; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js +var require_endpointResolver3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/endpoint/endpointResolver.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultEndpointResolver = void 0; + var util_endpoints_1 = require_dist_cjs18(); + var ruleset_1 = require_ruleset3(); + var defaultEndpointResolver = (endpointParams, context = {}) => { + return (0, util_endpoints_1.resolveEndpoint)(ruleset_1.ruleSet, { + endpointParams, + logger: context.logger + }); + }; + exports.defaultEndpointResolver = defaultEndpointResolver; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js +var require_runtimeConfig_shared3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.shared.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var smithy_client_1 = require_dist_cjs35(); + var url_parser_1 = require_dist_cjs24(); + var util_base64_1 = require_dist_cjs31(); + var util_utf8_1 = require_dist_cjs13(); + var endpointResolver_1 = require_endpointResolver3(); + var getRuntimeConfig = (config) => ({ + apiVersion: "2016-11-23", + base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64, + base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64, + disableHostPrefix: config?.disableHostPrefix ?? false, + endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver, + logger: config?.logger ?? new smithy_client_1.NoOpLogger(), + serviceId: config?.serviceId ?? "SFN", + urlParser: config?.urlParser ?? url_parser_1.parseUrl, + utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8, + utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8 + }); + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js +var require_runtimeConfig3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/runtimeConfig.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRuntimeConfig = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var package_json_1 = tslib_1.__importDefault(require_package()); + var client_sts_1 = require_dist_cjs52(); + var credential_provider_node_1 = require_dist_cjs51(); + var util_user_agent_node_1 = require_dist_cjs42(); + var config_resolver_1 = require_dist_cjs21(); + var hash_node_1 = require_dist_cjs43(); + var middleware_retry_1 = require_dist_cjs29(); + var node_config_provider_1 = require_dist_cjs39(); + var node_http_handler_1 = require_dist_cjs33(); + var util_body_length_node_1 = require_dist_cjs44(); + var util_retry_1 = require_dist_cjs28(); + var runtimeConfig_shared_1 = require_runtimeConfig_shared3(); + var smithy_client_1 = require_dist_cjs35(); + var util_defaults_mode_node_1 = require_dist_cjs45(); + var smithy_client_2 = require_dist_cjs35(); + var getRuntimeConfig = (config) => { + (0, smithy_client_2.emitWarningIfUnsupportedVersion)(process.version); + const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config); + const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode); + const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config); + return { + ...clientSharedValues, + ...config, + runtime: "node", + defaultsMode, + bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength, + credentialDefaultProvider: config?.credentialDefaultProvider ?? (0, client_sts_1.decorateDefaultCredentialProvider)(credential_provider_node_1.defaultProvider), + defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.defaultUserAgent)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }), + maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS), + region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS), + requestHandler: config?.requestHandler ?? new node_http_handler_1.NodeHttpHandler(defaultConfigProvider), + retryMode: config?.retryMode ?? (0, node_config_provider_1.loadConfig)({ + ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS, + default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE + }), + sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"), + streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector, + useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), + useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS) + }; + }; + exports.getRuntimeConfig = getRuntimeConfig; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js +var require_SFNClient = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFNClient.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNClient = exports.__Client = void 0; + var middleware_host_header_1 = require_dist_cjs3(); + var middleware_logger_1 = require_dist_cjs4(); + var middleware_recursion_detection_1 = require_dist_cjs5(); + var middleware_signing_1 = require_dist_cjs16(); + var middleware_user_agent_1 = require_dist_cjs19(); + var config_resolver_1 = require_dist_cjs21(); + var middleware_content_length_1 = require_dist_cjs22(); + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_retry_1 = require_dist_cjs29(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__Client", { enumerable: true, get: function() { + return smithy_client_1.Client; + } }); + var EndpointParameters_1 = require_EndpointParameters(); + var runtimeConfig_1 = require_runtimeConfig3(); + var SFNClient = class extends smithy_client_1.Client { + constructor(...[configuration]) { + const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {}); + const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0); + const _config_2 = (0, config_resolver_1.resolveRegionConfig)(_config_1); + const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2); + const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3); + const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4); + const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5); + const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6); + super(_config_7); + this.config = _config_7; + this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config)); + this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config)); + this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config)); + this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config)); + this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config)); + this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config)); + } + destroy() { + super.destroy(); + } + }; + exports.SFNClient = SFNClient; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js +var require_SFNServiceException = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/SFNServiceException.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNServiceException = exports.__ServiceException = void 0; + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() { + return smithy_client_1.ServiceException; + } }); + var SFNServiceException = class _SFNServiceException extends smithy_client_1.ServiceException { + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SFNServiceException.prototype); + } + }; + exports.SFNServiceException = SFNServiceException; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js +var require_models_03 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/models_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ExecutionStartedEventDetailsFilterSensitiveLog = exports.ExecutionFailedEventDetailsFilterSensitiveLog = exports.ExecutionAbortedEventDetailsFilterSensitiveLog = exports.GetActivityTaskOutputFilterSensitiveLog = exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = exports.DescribeStateMachineAliasOutputFilterSensitiveLog = exports.DescribeStateMachineOutputFilterSensitiveLog = exports.DescribeExecutionOutputFilterSensitiveLog = exports.CreateStateMachineAliasInputFilterSensitiveLog = exports.CreateStateMachineInputFilterSensitiveLog = exports.ActivityTimedOutEventDetailsFilterSensitiveLog = exports.ActivitySucceededEventDetailsFilterSensitiveLog = exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = exports.ActivityScheduledEventDetailsFilterSensitiveLog = exports.ActivityFailedEventDetailsFilterSensitiveLog = exports.MissingRequiredParameter = exports.SyncExecutionStatus = exports.InvalidExecutionInput = exports.ExecutionLimitExceeded = exports.ExecutionAlreadyExists = exports.InvalidOutput = exports.TaskTimedOut = exports.TaskDoesNotExist = exports.InvalidToken = exports.HistoryEventType = exports.StateMachineDoesNotExist = exports.StateMachineStatus = exports.MapRunStatus = exports.ExecutionDoesNotExist = exports.ExecutionStatus = exports.ServiceQuotaExceededException = exports.ResourceNotFound = exports.ValidationException = exports.ValidationExceptionReason = exports.StateMachineTypeNotSupported = exports.StateMachineLimitExceeded = exports.StateMachineDeleting = exports.StateMachineAlreadyExists = exports.InvalidTracingConfiguration = exports.InvalidLoggingConfiguration = exports.InvalidDefinition = exports.InvalidArn = exports.StateMachineType = exports.LogLevel = exports.ConflictException = exports.TooManyTags = exports.InvalidName = exports.ActivityWorkerLimitExceeded = exports.ActivityLimitExceeded = exports.ActivityDoesNotExist = void 0; + exports.UpdateStateMachineAliasInputFilterSensitiveLog = exports.UpdateStateMachineInputFilterSensitiveLog = exports.StopExecutionInputFilterSensitiveLog = exports.StartSyncExecutionOutputFilterSensitiveLog = exports.StartSyncExecutionInputFilterSensitiveLog = exports.StartExecutionInputFilterSensitiveLog = exports.SendTaskSuccessInputFilterSensitiveLog = exports.SendTaskFailureInputFilterSensitiveLog = exports.PublishStateMachineVersionInputFilterSensitiveLog = exports.GetExecutionHistoryOutputFilterSensitiveLog = exports.HistoryEventFilterSensitiveLog = exports.TaskTimedOutEventDetailsFilterSensitiveLog = exports.TaskSucceededEventDetailsFilterSensitiveLog = exports.TaskSubmittedEventDetailsFilterSensitiveLog = exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = exports.TaskStartFailedEventDetailsFilterSensitiveLog = exports.TaskScheduledEventDetailsFilterSensitiveLog = exports.TaskFailedEventDetailsFilterSensitiveLog = exports.StateExitedEventDetailsFilterSensitiveLog = exports.StateEnteredEventDetailsFilterSensitiveLog = exports.MapRunFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = exports.ExecutionSucceededEventDetailsFilterSensitiveLog = void 0; + var smithy_client_1 = require_dist_cjs35(); + var SFNServiceException_1 = require_SFNServiceException(); + var ActivityDoesNotExist = class _ActivityDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ActivityDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityDoesNotExist.prototype); + } + }; + exports.ActivityDoesNotExist = ActivityDoesNotExist; + var ActivityLimitExceeded = class _ActivityLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityLimitExceeded.prototype); + } + }; + exports.ActivityLimitExceeded = ActivityLimitExceeded; + var ActivityWorkerLimitExceeded = class _ActivityWorkerLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ActivityWorkerLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ActivityWorkerLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ActivityWorkerLimitExceeded.prototype); + } + }; + exports.ActivityWorkerLimitExceeded = ActivityWorkerLimitExceeded; + var InvalidName = class _InvalidName extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidName", + $fault: "client", + ...opts + }); + this.name = "InvalidName"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidName.prototype); + } + }; + exports.InvalidName = InvalidName; + var TooManyTags = class _TooManyTags extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TooManyTags", + $fault: "client", + ...opts + }); + this.name = "TooManyTags"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TooManyTags.prototype); + this.resourceName = opts.resourceName; + } + }; + exports.TooManyTags = TooManyTags; + var ConflictException = class _ConflictException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ConflictException", + $fault: "client", + ...opts + }); + this.name = "ConflictException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ConflictException.prototype); + } + }; + exports.ConflictException = ConflictException; + exports.LogLevel = { + ALL: "ALL", + ERROR: "ERROR", + FATAL: "FATAL", + OFF: "OFF" + }; + exports.StateMachineType = { + EXPRESS: "EXPRESS", + STANDARD: "STANDARD" + }; + var InvalidArn = class _InvalidArn extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidArn", + $fault: "client", + ...opts + }); + this.name = "InvalidArn"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidArn.prototype); + } + }; + exports.InvalidArn = InvalidArn; + var InvalidDefinition = class _InvalidDefinition extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidDefinition", + $fault: "client", + ...opts + }); + this.name = "InvalidDefinition"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidDefinition.prototype); + } + }; + exports.InvalidDefinition = InvalidDefinition; + var InvalidLoggingConfiguration = class _InvalidLoggingConfiguration extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidLoggingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidLoggingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidLoggingConfiguration.prototype); + } + }; + exports.InvalidLoggingConfiguration = InvalidLoggingConfiguration; + var InvalidTracingConfiguration = class _InvalidTracingConfiguration extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidTracingConfiguration", + $fault: "client", + ...opts + }); + this.name = "InvalidTracingConfiguration"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidTracingConfiguration.prototype); + } + }; + exports.InvalidTracingConfiguration = InvalidTracingConfiguration; + var StateMachineAlreadyExists = class _StateMachineAlreadyExists extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "StateMachineAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineAlreadyExists.prototype); + } + }; + exports.StateMachineAlreadyExists = StateMachineAlreadyExists; + var StateMachineDeleting = class _StateMachineDeleting extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineDeleting", + $fault: "client", + ...opts + }); + this.name = "StateMachineDeleting"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDeleting.prototype); + } + }; + exports.StateMachineDeleting = StateMachineDeleting; + var StateMachineLimitExceeded = class _StateMachineLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "StateMachineLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineLimitExceeded.prototype); + } + }; + exports.StateMachineLimitExceeded = StateMachineLimitExceeded; + var StateMachineTypeNotSupported = class _StateMachineTypeNotSupported extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineTypeNotSupported", + $fault: "client", + ...opts + }); + this.name = "StateMachineTypeNotSupported"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineTypeNotSupported.prototype); + } + }; + exports.StateMachineTypeNotSupported = StateMachineTypeNotSupported; + exports.ValidationExceptionReason = { + API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", + CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", + INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", + MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER" + }; + var ValidationException = class _ValidationException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ValidationException", + $fault: "client", + ...opts + }); + this.name = "ValidationException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ValidationException.prototype); + this.reason = opts.reason; + } + }; + exports.ValidationException = ValidationException; + var ResourceNotFound = class _ResourceNotFound extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ResourceNotFound", + $fault: "client", + ...opts + }); + this.name = "ResourceNotFound"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ResourceNotFound.prototype); + this.resourceName = opts.resourceName; + } + }; + exports.ResourceNotFound = ResourceNotFound; + var ServiceQuotaExceededException = class _ServiceQuotaExceededException extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts + }); + this.name = "ServiceQuotaExceededException"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ServiceQuotaExceededException.prototype); + } + }; + exports.ServiceQuotaExceededException = ServiceQuotaExceededException; + exports.ExecutionStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" + }; + var ExecutionDoesNotExist = class _ExecutionDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "ExecutionDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionDoesNotExist.prototype); + } + }; + exports.ExecutionDoesNotExist = ExecutionDoesNotExist; + exports.MapRunStatus = { + ABORTED: "ABORTED", + FAILED: "FAILED", + RUNNING: "RUNNING", + SUCCEEDED: "SUCCEEDED" + }; + exports.StateMachineStatus = { + ACTIVE: "ACTIVE", + DELETING: "DELETING" + }; + var StateMachineDoesNotExist = class _StateMachineDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "StateMachineDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "StateMachineDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _StateMachineDoesNotExist.prototype); + } + }; + exports.StateMachineDoesNotExist = StateMachineDoesNotExist; + exports.HistoryEventType = { + ActivityFailed: "ActivityFailed", + ActivityScheduleFailed: "ActivityScheduleFailed", + ActivityScheduled: "ActivityScheduled", + ActivityStarted: "ActivityStarted", + ActivitySucceeded: "ActivitySucceeded", + ActivityTimedOut: "ActivityTimedOut", + ChoiceStateEntered: "ChoiceStateEntered", + ChoiceStateExited: "ChoiceStateExited", + ExecutionAborted: "ExecutionAborted", + ExecutionFailed: "ExecutionFailed", + ExecutionStarted: "ExecutionStarted", + ExecutionSucceeded: "ExecutionSucceeded", + ExecutionTimedOut: "ExecutionTimedOut", + FailStateEntered: "FailStateEntered", + LambdaFunctionFailed: "LambdaFunctionFailed", + LambdaFunctionScheduleFailed: "LambdaFunctionScheduleFailed", + LambdaFunctionScheduled: "LambdaFunctionScheduled", + LambdaFunctionStartFailed: "LambdaFunctionStartFailed", + LambdaFunctionStarted: "LambdaFunctionStarted", + LambdaFunctionSucceeded: "LambdaFunctionSucceeded", + LambdaFunctionTimedOut: "LambdaFunctionTimedOut", + MapIterationAborted: "MapIterationAborted", + MapIterationFailed: "MapIterationFailed", + MapIterationStarted: "MapIterationStarted", + MapIterationSucceeded: "MapIterationSucceeded", + MapRunAborted: "MapRunAborted", + MapRunFailed: "MapRunFailed", + MapRunStarted: "MapRunStarted", + MapRunSucceeded: "MapRunSucceeded", + MapStateAborted: "MapStateAborted", + MapStateEntered: "MapStateEntered", + MapStateExited: "MapStateExited", + MapStateFailed: "MapStateFailed", + MapStateStarted: "MapStateStarted", + MapStateSucceeded: "MapStateSucceeded", + ParallelStateAborted: "ParallelStateAborted", + ParallelStateEntered: "ParallelStateEntered", + ParallelStateExited: "ParallelStateExited", + ParallelStateFailed: "ParallelStateFailed", + ParallelStateStarted: "ParallelStateStarted", + ParallelStateSucceeded: "ParallelStateSucceeded", + PassStateEntered: "PassStateEntered", + PassStateExited: "PassStateExited", + SucceedStateEntered: "SucceedStateEntered", + SucceedStateExited: "SucceedStateExited", + TaskFailed: "TaskFailed", + TaskScheduled: "TaskScheduled", + TaskStartFailed: "TaskStartFailed", + TaskStarted: "TaskStarted", + TaskStateAborted: "TaskStateAborted", + TaskStateEntered: "TaskStateEntered", + TaskStateExited: "TaskStateExited", + TaskSubmitFailed: "TaskSubmitFailed", + TaskSubmitted: "TaskSubmitted", + TaskSucceeded: "TaskSucceeded", + TaskTimedOut: "TaskTimedOut", + WaitStateAborted: "WaitStateAborted", + WaitStateEntered: "WaitStateEntered", + WaitStateExited: "WaitStateExited" + }; + var InvalidToken = class _InvalidToken extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidToken", + $fault: "client", + ...opts + }); + this.name = "InvalidToken"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidToken.prototype); + } + }; + exports.InvalidToken = InvalidToken; + var TaskDoesNotExist = class _TaskDoesNotExist extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TaskDoesNotExist", + $fault: "client", + ...opts + }); + this.name = "TaskDoesNotExist"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskDoesNotExist.prototype); + } + }; + exports.TaskDoesNotExist = TaskDoesNotExist; + var TaskTimedOut = class _TaskTimedOut extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "TaskTimedOut", + $fault: "client", + ...opts + }); + this.name = "TaskTimedOut"; + this.$fault = "client"; + Object.setPrototypeOf(this, _TaskTimedOut.prototype); + } + }; + exports.TaskTimedOut = TaskTimedOut; + var InvalidOutput = class _InvalidOutput extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidOutput", + $fault: "client", + ...opts + }); + this.name = "InvalidOutput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidOutput.prototype); + } + }; + exports.InvalidOutput = InvalidOutput; + var ExecutionAlreadyExists = class _ExecutionAlreadyExists extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionAlreadyExists", + $fault: "client", + ...opts + }); + this.name = "ExecutionAlreadyExists"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionAlreadyExists.prototype); + } + }; + exports.ExecutionAlreadyExists = ExecutionAlreadyExists; + var ExecutionLimitExceeded = class _ExecutionLimitExceeded extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "ExecutionLimitExceeded", + $fault: "client", + ...opts + }); + this.name = "ExecutionLimitExceeded"; + this.$fault = "client"; + Object.setPrototypeOf(this, _ExecutionLimitExceeded.prototype); + } + }; + exports.ExecutionLimitExceeded = ExecutionLimitExceeded; + var InvalidExecutionInput = class _InvalidExecutionInput extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "InvalidExecutionInput", + $fault: "client", + ...opts + }); + this.name = "InvalidExecutionInput"; + this.$fault = "client"; + Object.setPrototypeOf(this, _InvalidExecutionInput.prototype); + } + }; + exports.InvalidExecutionInput = InvalidExecutionInput; + exports.SyncExecutionStatus = { + FAILED: "FAILED", + SUCCEEDED: "SUCCEEDED", + TIMED_OUT: "TIMED_OUT" + }; + var MissingRequiredParameter = class _MissingRequiredParameter extends SFNServiceException_1.SFNServiceException { + constructor(opts) { + super({ + name: "MissingRequiredParameter", + $fault: "client", + ...opts + }); + this.name = "MissingRequiredParameter"; + this.$fault = "client"; + Object.setPrototypeOf(this, _MissingRequiredParameter.prototype); + } + }; + exports.MissingRequiredParameter = MissingRequiredParameter; + var ActivityFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityFailedEventDetailsFilterSensitiveLog = ActivityFailedEventDetailsFilterSensitiveLog; + var ActivityScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityScheduledEventDetailsFilterSensitiveLog = ActivityScheduledEventDetailsFilterSensitiveLog; + var ActivityScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog = ActivityScheduleFailedEventDetailsFilterSensitiveLog; + var ActivitySucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivitySucceededEventDetailsFilterSensitiveLog = ActivitySucceededEventDetailsFilterSensitiveLog; + var ActivityTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ActivityTimedOutEventDetailsFilterSensitiveLog = ActivityTimedOutEventDetailsFilterSensitiveLog; + var CreateStateMachineInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } + }); + exports.CreateStateMachineInputFilterSensitiveLog = CreateStateMachineInputFilterSensitiveLog; + var CreateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.CreateStateMachineAliasInputFilterSensitiveLog = CreateStateMachineAliasInputFilterSensitiveLog; + var DescribeExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING }, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeExecutionOutputFilterSensitiveLog = DescribeExecutionOutputFilterSensitiveLog; + var DescribeStateMachineOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineOutputFilterSensitiveLog = DescribeStateMachineOutputFilterSensitiveLog; + var DescribeStateMachineAliasOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineAliasOutputFilterSensitiveLog = DescribeStateMachineAliasOutputFilterSensitiveLog; + var DescribeStateMachineForExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING } + }); + exports.DescribeStateMachineForExecutionOutputFilterSensitiveLog = DescribeStateMachineForExecutionOutputFilterSensitiveLog; + var GetActivityTaskOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.GetActivityTaskOutputFilterSensitiveLog = GetActivityTaskOutputFilterSensitiveLog; + var ExecutionAbortedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionAbortedEventDetailsFilterSensitiveLog = ExecutionAbortedEventDetailsFilterSensitiveLog; + var ExecutionFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionFailedEventDetailsFilterSensitiveLog = ExecutionFailedEventDetailsFilterSensitiveLog; + var ExecutionStartedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionStartedEventDetailsFilterSensitiveLog = ExecutionStartedEventDetailsFilterSensitiveLog; + var ExecutionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionSucceededEventDetailsFilterSensitiveLog = ExecutionSucceededEventDetailsFilterSensitiveLog; + var ExecutionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.ExecutionTimedOutEventDetailsFilterSensitiveLog = ExecutionTimedOutEventDetailsFilterSensitiveLog; + var LambdaFunctionFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog = LambdaFunctionFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog = LambdaFunctionScheduledEventDetailsFilterSensitiveLog; + var LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog = LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog = LambdaFunctionStartFailedEventDetailsFilterSensitiveLog; + var LambdaFunctionSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog = LambdaFunctionSucceededEventDetailsFilterSensitiveLog; + var LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog = LambdaFunctionTimedOutEventDetailsFilterSensitiveLog; + var MapRunFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.MapRunFailedEventDetailsFilterSensitiveLog = MapRunFailedEventDetailsFilterSensitiveLog; + var StateEnteredEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StateEnteredEventDetailsFilterSensitiveLog = StateEnteredEventDetailsFilterSensitiveLog; + var StateExitedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.StateExitedEventDetailsFilterSensitiveLog = StateExitedEventDetailsFilterSensitiveLog; + var TaskFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskFailedEventDetailsFilterSensitiveLog = TaskFailedEventDetailsFilterSensitiveLog; + var TaskScheduledEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.parameters && { parameters: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskScheduledEventDetailsFilterSensitiveLog = TaskScheduledEventDetailsFilterSensitiveLog; + var TaskStartFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskStartFailedEventDetailsFilterSensitiveLog = TaskStartFailedEventDetailsFilterSensitiveLog; + var TaskSubmitFailedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSubmitFailedEventDetailsFilterSensitiveLog = TaskSubmitFailedEventDetailsFilterSensitiveLog; + var TaskSubmittedEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSubmittedEventDetailsFilterSensitiveLog = TaskSubmittedEventDetailsFilterSensitiveLog; + var TaskSucceededEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskSucceededEventDetailsFilterSensitiveLog = TaskSucceededEventDetailsFilterSensitiveLog; + var TaskTimedOutEventDetailsFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.TaskTimedOutEventDetailsFilterSensitiveLog = TaskTimedOutEventDetailsFilterSensitiveLog; + var HistoryEventFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.activityFailedEventDetails && { + activityFailedEventDetails: (0, exports.ActivityFailedEventDetailsFilterSensitiveLog)(obj.activityFailedEventDetails) + }, + ...obj.activityScheduleFailedEventDetails && { + activityScheduleFailedEventDetails: (0, exports.ActivityScheduleFailedEventDetailsFilterSensitiveLog)(obj.activityScheduleFailedEventDetails) + }, + ...obj.activityScheduledEventDetails && { + activityScheduledEventDetails: (0, exports.ActivityScheduledEventDetailsFilterSensitiveLog)(obj.activityScheduledEventDetails) + }, + ...obj.activitySucceededEventDetails && { + activitySucceededEventDetails: (0, exports.ActivitySucceededEventDetailsFilterSensitiveLog)(obj.activitySucceededEventDetails) + }, + ...obj.activityTimedOutEventDetails && { + activityTimedOutEventDetails: (0, exports.ActivityTimedOutEventDetailsFilterSensitiveLog)(obj.activityTimedOutEventDetails) + }, + ...obj.taskFailedEventDetails && { + taskFailedEventDetails: (0, exports.TaskFailedEventDetailsFilterSensitiveLog)(obj.taskFailedEventDetails) + }, + ...obj.taskScheduledEventDetails && { + taskScheduledEventDetails: (0, exports.TaskScheduledEventDetailsFilterSensitiveLog)(obj.taskScheduledEventDetails) + }, + ...obj.taskStartFailedEventDetails && { + taskStartFailedEventDetails: (0, exports.TaskStartFailedEventDetailsFilterSensitiveLog)(obj.taskStartFailedEventDetails) + }, + ...obj.taskSubmitFailedEventDetails && { + taskSubmitFailedEventDetails: (0, exports.TaskSubmitFailedEventDetailsFilterSensitiveLog)(obj.taskSubmitFailedEventDetails) + }, + ...obj.taskSubmittedEventDetails && { + taskSubmittedEventDetails: (0, exports.TaskSubmittedEventDetailsFilterSensitiveLog)(obj.taskSubmittedEventDetails) + }, + ...obj.taskSucceededEventDetails && { + taskSucceededEventDetails: (0, exports.TaskSucceededEventDetailsFilterSensitiveLog)(obj.taskSucceededEventDetails) + }, + ...obj.taskTimedOutEventDetails && { + taskTimedOutEventDetails: (0, exports.TaskTimedOutEventDetailsFilterSensitiveLog)(obj.taskTimedOutEventDetails) + }, + ...obj.executionFailedEventDetails && { + executionFailedEventDetails: (0, exports.ExecutionFailedEventDetailsFilterSensitiveLog)(obj.executionFailedEventDetails) + }, + ...obj.executionStartedEventDetails && { + executionStartedEventDetails: (0, exports.ExecutionStartedEventDetailsFilterSensitiveLog)(obj.executionStartedEventDetails) + }, + ...obj.executionSucceededEventDetails && { + executionSucceededEventDetails: (0, exports.ExecutionSucceededEventDetailsFilterSensitiveLog)(obj.executionSucceededEventDetails) + }, + ...obj.executionAbortedEventDetails && { + executionAbortedEventDetails: (0, exports.ExecutionAbortedEventDetailsFilterSensitiveLog)(obj.executionAbortedEventDetails) + }, + ...obj.executionTimedOutEventDetails && { + executionTimedOutEventDetails: (0, exports.ExecutionTimedOutEventDetailsFilterSensitiveLog)(obj.executionTimedOutEventDetails) + }, + ...obj.lambdaFunctionFailedEventDetails && { + lambdaFunctionFailedEventDetails: (0, exports.LambdaFunctionFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionFailedEventDetails) + }, + ...obj.lambdaFunctionScheduleFailedEventDetails && { + lambdaFunctionScheduleFailedEventDetails: (0, exports.LambdaFunctionScheduleFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduleFailedEventDetails) + }, + ...obj.lambdaFunctionScheduledEventDetails && { + lambdaFunctionScheduledEventDetails: (0, exports.LambdaFunctionScheduledEventDetailsFilterSensitiveLog)(obj.lambdaFunctionScheduledEventDetails) + }, + ...obj.lambdaFunctionStartFailedEventDetails && { + lambdaFunctionStartFailedEventDetails: (0, exports.LambdaFunctionStartFailedEventDetailsFilterSensitiveLog)(obj.lambdaFunctionStartFailedEventDetails) + }, + ...obj.lambdaFunctionSucceededEventDetails && { + lambdaFunctionSucceededEventDetails: (0, exports.LambdaFunctionSucceededEventDetailsFilterSensitiveLog)(obj.lambdaFunctionSucceededEventDetails) + }, + ...obj.lambdaFunctionTimedOutEventDetails && { + lambdaFunctionTimedOutEventDetails: (0, exports.LambdaFunctionTimedOutEventDetailsFilterSensitiveLog)(obj.lambdaFunctionTimedOutEventDetails) + }, + ...obj.stateEnteredEventDetails && { + stateEnteredEventDetails: (0, exports.StateEnteredEventDetailsFilterSensitiveLog)(obj.stateEnteredEventDetails) + }, + ...obj.stateExitedEventDetails && { + stateExitedEventDetails: (0, exports.StateExitedEventDetailsFilterSensitiveLog)(obj.stateExitedEventDetails) + }, + ...obj.mapRunFailedEventDetails && { + mapRunFailedEventDetails: (0, exports.MapRunFailedEventDetailsFilterSensitiveLog)(obj.mapRunFailedEventDetails) + } + }); + exports.HistoryEventFilterSensitiveLog = HistoryEventFilterSensitiveLog; + var GetExecutionHistoryOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.events && { events: obj.events.map((item) => (0, exports.HistoryEventFilterSensitiveLog)(item)) } + }); + exports.GetExecutionHistoryOutputFilterSensitiveLog = GetExecutionHistoryOutputFilterSensitiveLog; + var PublishStateMachineVersionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.PublishStateMachineVersionInputFilterSensitiveLog = PublishStateMachineVersionInputFilterSensitiveLog; + var SendTaskFailureInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.SendTaskFailureInputFilterSensitiveLog = SendTaskFailureInputFilterSensitiveLog; + var SendTaskSuccessInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.SendTaskSuccessInputFilterSensitiveLog = SendTaskSuccessInputFilterSensitiveLog; + var StartExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartExecutionInputFilterSensitiveLog = StartExecutionInputFilterSensitiveLog; + var StartSyncExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartSyncExecutionInputFilterSensitiveLog = StartSyncExecutionInputFilterSensitiveLog; + var StartSyncExecutionOutputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING }, + ...obj.input && { input: smithy_client_1.SENSITIVE_STRING }, + ...obj.output && { output: smithy_client_1.SENSITIVE_STRING } + }); + exports.StartSyncExecutionOutputFilterSensitiveLog = StartSyncExecutionOutputFilterSensitiveLog; + var StopExecutionInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.error && { error: smithy_client_1.SENSITIVE_STRING }, + ...obj.cause && { cause: smithy_client_1.SENSITIVE_STRING } + }); + exports.StopExecutionInputFilterSensitiveLog = StopExecutionInputFilterSensitiveLog; + var UpdateStateMachineInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.definition && { definition: smithy_client_1.SENSITIVE_STRING }, + ...obj.versionDescription && { versionDescription: smithy_client_1.SENSITIVE_STRING } + }); + exports.UpdateStateMachineInputFilterSensitiveLog = UpdateStateMachineInputFilterSensitiveLog; + var UpdateStateMachineAliasInputFilterSensitiveLog = (obj) => ({ + ...obj, + ...obj.description && { description: smithy_client_1.SENSITIVE_STRING } + }); + exports.UpdateStateMachineAliasInputFilterSensitiveLog = UpdateStateMachineAliasInputFilterSensitiveLog; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js +var require_Aws_json1_0 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/protocols/Aws_json1_0.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.de_ListActivitiesCommand = exports.de_GetExecutionHistoryCommand = exports.de_GetActivityTaskCommand = exports.de_DescribeStateMachineForExecutionCommand = exports.de_DescribeStateMachineAliasCommand = exports.de_DescribeStateMachineCommand = exports.de_DescribeMapRunCommand = exports.de_DescribeExecutionCommand = exports.de_DescribeActivityCommand = exports.de_DeleteStateMachineVersionCommand = exports.de_DeleteStateMachineAliasCommand = exports.de_DeleteStateMachineCommand = exports.de_DeleteActivityCommand = exports.de_CreateStateMachineAliasCommand = exports.de_CreateStateMachineCommand = exports.de_CreateActivityCommand = exports.se_UpdateStateMachineAliasCommand = exports.se_UpdateStateMachineCommand = exports.se_UpdateMapRunCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_StopExecutionCommand = exports.se_StartSyncExecutionCommand = exports.se_StartExecutionCommand = exports.se_SendTaskSuccessCommand = exports.se_SendTaskHeartbeatCommand = exports.se_SendTaskFailureCommand = exports.se_PublishStateMachineVersionCommand = exports.se_ListTagsForResourceCommand = exports.se_ListStateMachineVersionsCommand = exports.se_ListStateMachinesCommand = exports.se_ListStateMachineAliasesCommand = exports.se_ListMapRunsCommand = exports.se_ListExecutionsCommand = exports.se_ListActivitiesCommand = exports.se_GetExecutionHistoryCommand = exports.se_GetActivityTaskCommand = exports.se_DescribeStateMachineForExecutionCommand = exports.se_DescribeStateMachineAliasCommand = exports.se_DescribeStateMachineCommand = exports.se_DescribeMapRunCommand = exports.se_DescribeExecutionCommand = exports.se_DescribeActivityCommand = exports.se_DeleteStateMachineVersionCommand = exports.se_DeleteStateMachineAliasCommand = exports.se_DeleteStateMachineCommand = exports.se_DeleteActivityCommand = exports.se_CreateStateMachineAliasCommand = exports.se_CreateStateMachineCommand = exports.se_CreateActivityCommand = void 0; + exports.de_UpdateStateMachineAliasCommand = exports.de_UpdateStateMachineCommand = exports.de_UpdateMapRunCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_StopExecutionCommand = exports.de_StartSyncExecutionCommand = exports.de_StartExecutionCommand = exports.de_SendTaskSuccessCommand = exports.de_SendTaskHeartbeatCommand = exports.de_SendTaskFailureCommand = exports.de_PublishStateMachineVersionCommand = exports.de_ListTagsForResourceCommand = exports.de_ListStateMachineVersionsCommand = exports.de_ListStateMachinesCommand = exports.de_ListStateMachineAliasesCommand = exports.de_ListMapRunsCommand = exports.de_ListExecutionsCommand = void 0; + var protocol_http_1 = require_dist_cjs2(); + var smithy_client_1 = require_dist_cjs35(); + var models_0_1 = require_models_03(); + var SFNServiceException_1 = require_SFNServiceException(); + var se_CreateActivityCommand = async (input, context) => { + const headers = sharedHeaders("CreateActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateActivityCommand = se_CreateActivityCommand; + var se_CreateStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("CreateStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateStateMachineCommand = se_CreateStateMachineCommand; + var se_CreateStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("CreateStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_CreateStateMachineAliasCommand = se_CreateStateMachineAliasCommand; + var se_DeleteActivityCommand = async (input, context) => { + const headers = sharedHeaders("DeleteActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteActivityCommand = se_DeleteActivityCommand; + var se_DeleteStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineCommand = se_DeleteStateMachineCommand; + var se_DeleteStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineAliasCommand = se_DeleteStateMachineAliasCommand; + var se_DeleteStateMachineVersionCommand = async (input, context) => { + const headers = sharedHeaders("DeleteStateMachineVersion"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DeleteStateMachineVersionCommand = se_DeleteStateMachineVersionCommand; + var se_DescribeActivityCommand = async (input, context) => { + const headers = sharedHeaders("DescribeActivity"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeActivityCommand = se_DescribeActivityCommand; + var se_DescribeExecutionCommand = async (input, context) => { + const headers = sharedHeaders("DescribeExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeExecutionCommand = se_DescribeExecutionCommand; + var se_DescribeMapRunCommand = async (input, context) => { + const headers = sharedHeaders("DescribeMapRun"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeMapRunCommand = se_DescribeMapRunCommand; + var se_DescribeStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineCommand = se_DescribeStateMachineCommand; + var se_DescribeStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineAliasCommand = se_DescribeStateMachineAliasCommand; + var se_DescribeStateMachineForExecutionCommand = async (input, context) => { + const headers = sharedHeaders("DescribeStateMachineForExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_DescribeStateMachineForExecutionCommand = se_DescribeStateMachineForExecutionCommand; + var se_GetActivityTaskCommand = async (input, context) => { + const headers = sharedHeaders("GetActivityTask"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetActivityTaskCommand = se_GetActivityTaskCommand; + var se_GetExecutionHistoryCommand = async (input, context) => { + const headers = sharedHeaders("GetExecutionHistory"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_GetExecutionHistoryCommand = se_GetExecutionHistoryCommand; + var se_ListActivitiesCommand = async (input, context) => { + const headers = sharedHeaders("ListActivities"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListActivitiesCommand = se_ListActivitiesCommand; + var se_ListExecutionsCommand = async (input, context) => { + const headers = sharedHeaders("ListExecutions"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListExecutionsCommand = se_ListExecutionsCommand; + var se_ListMapRunsCommand = async (input, context) => { + const headers = sharedHeaders("ListMapRuns"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListMapRunsCommand = se_ListMapRunsCommand; + var se_ListStateMachineAliasesCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachineAliases"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachineAliasesCommand = se_ListStateMachineAliasesCommand; + var se_ListStateMachinesCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachines"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachinesCommand = se_ListStateMachinesCommand; + var se_ListStateMachineVersionsCommand = async (input, context) => { + const headers = sharedHeaders("ListStateMachineVersions"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListStateMachineVersionsCommand = se_ListStateMachineVersionsCommand; + var se_ListTagsForResourceCommand = async (input, context) => { + const headers = sharedHeaders("ListTagsForResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_ListTagsForResourceCommand = se_ListTagsForResourceCommand; + var se_PublishStateMachineVersionCommand = async (input, context) => { + const headers = sharedHeaders("PublishStateMachineVersion"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_PublishStateMachineVersionCommand = se_PublishStateMachineVersionCommand; + var se_SendTaskFailureCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskFailure"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskFailureCommand = se_SendTaskFailureCommand; + var se_SendTaskHeartbeatCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskHeartbeat"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskHeartbeatCommand = se_SendTaskHeartbeatCommand; + var se_SendTaskSuccessCommand = async (input, context) => { + const headers = sharedHeaders("SendTaskSuccess"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_SendTaskSuccessCommand = se_SendTaskSuccessCommand; + var se_StartExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StartExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_StartExecutionCommand = se_StartExecutionCommand; + var se_StartSyncExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StartSyncExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "sync-" + resolvedHostname; + if (!(0, protocol_http_1.isValidHostname)(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + return buildHttpRpcRequest(context, headers, "/", resolvedHostname, body); + }; + exports.se_StartSyncExecutionCommand = se_StartSyncExecutionCommand; + var se_StopExecutionCommand = async (input, context) => { + const headers = sharedHeaders("StopExecution"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_StopExecutionCommand = se_StopExecutionCommand; + var se_TagResourceCommand = async (input, context) => { + const headers = sharedHeaders("TagResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_TagResourceCommand = se_TagResourceCommand; + var se_UntagResourceCommand = async (input, context) => { + const headers = sharedHeaders("UntagResource"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UntagResourceCommand = se_UntagResourceCommand; + var se_UpdateMapRunCommand = async (input, context) => { + const headers = sharedHeaders("UpdateMapRun"); + let body; + body = JSON.stringify(se_UpdateMapRunInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateMapRunCommand = se_UpdateMapRunCommand; + var se_UpdateStateMachineCommand = async (input, context) => { + const headers = sharedHeaders("UpdateStateMachine"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateStateMachineCommand = se_UpdateStateMachineCommand; + var se_UpdateStateMachineAliasCommand = async (input, context) => { + const headers = sharedHeaders("UpdateStateMachineAlias"); + let body; + body = JSON.stringify((0, smithy_client_1._json)(input)); + return buildHttpRpcRequest(context, headers, "/", void 0, body); + }; + exports.se_UpdateStateMachineAliasCommand = se_UpdateStateMachineAliasCommand; + var de_CreateActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateActivityCommand = de_CreateActivityCommand; + var de_CreateActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityLimitExceeded": + case "com.amazonaws.sfn#ActivityLimitExceeded": + throw await de_ActivityLimitExceededRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_CreateStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateStateMachineCommand = de_CreateStateMachineCommand; + var de_CreateStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidDefinition": + case "com.amazonaws.sfn#InvalidDefinition": + throw await de_InvalidDefinitionRes(parsedOutput, context); + case "InvalidLoggingConfiguration": + case "com.amazonaws.sfn#InvalidLoggingConfiguration": + throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + throw await de_InvalidTracingConfigurationRes(parsedOutput, context); + case "StateMachineAlreadyExists": + case "com.amazonaws.sfn#StateMachineAlreadyExists": + throw await de_StateMachineAlreadyExistsRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineLimitExceeded": + case "com.amazonaws.sfn#StateMachineLimitExceeded": + throw await de_StateMachineLimitExceededRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_CreateStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_CreateStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_CreateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_CreateStateMachineAliasCommand = de_CreateStateMachineAliasCommand; + var de_CreateStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteActivityCommand = de_DeleteActivityCommand; + var de_DeleteActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineCommand = de_DeleteStateMachineCommand; + var de_DeleteStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineAliasCommand = de_DeleteStateMachineAliasCommand; + var de_DeleteStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DeleteStateMachineVersionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineVersionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DeleteStateMachineVersionCommand = de_DeleteStateMachineVersionCommand; + var de_DeleteStateMachineVersionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeActivityCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeActivityCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeActivityOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeActivityCommand = de_DescribeActivityCommand; + var de_DescribeActivityCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityDoesNotExist": + case "com.amazonaws.sfn#ActivityDoesNotExist": + throw await de_ActivityDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeExecutionCommand = de_DescribeExecutionCommand; + var de_DescribeExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeMapRunCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeMapRunCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeMapRunOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeMapRunCommand = de_DescribeMapRunCommand; + var de_DescribeMapRunCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineCommand = de_DescribeStateMachineCommand; + var de_DescribeStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineAliasCommand = de_DescribeStateMachineAliasCommand; + var de_DescribeStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_DescribeStateMachineForExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineForExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_DescribeStateMachineForExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_DescribeStateMachineForExecutionCommand = de_DescribeStateMachineForExecutionCommand; + var de_DescribeStateMachineForExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_GetActivityTaskCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetActivityTaskCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetActivityTaskCommand = de_GetActivityTaskCommand; + var de_GetActivityTaskCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ActivityDoesNotExist": + case "com.amazonaws.sfn#ActivityDoesNotExist": + throw await de_ActivityDoesNotExistRes(parsedOutput, context); + case "ActivityWorkerLimitExceeded": + case "com.amazonaws.sfn#ActivityWorkerLimitExceeded": + throw await de_ActivityWorkerLimitExceededRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_GetExecutionHistoryCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_GetExecutionHistoryCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_GetExecutionHistoryOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_GetExecutionHistoryCommand = de_GetExecutionHistoryCommand; + var de_GetExecutionHistoryCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListActivitiesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListActivitiesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListActivitiesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListActivitiesCommand = de_ListActivitiesCommand; + var de_ListActivitiesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListExecutionsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListExecutionsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListExecutionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListExecutionsCommand = de_ListExecutionsCommand; + var de_ListExecutionsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListMapRunsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListMapRunsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListMapRunsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListMapRunsCommand = de_ListMapRunsCommand; + var de_ListMapRunsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachineAliasesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachineAliasesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachineAliasesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachineAliasesCommand = de_ListStateMachineAliasesCommand; + var de_ListStateMachineAliasesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachinesCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachinesCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachinesOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachinesCommand = de_ListStateMachinesCommand; + var de_ListStateMachinesCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListStateMachineVersionsCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListStateMachineVersionsCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_ListStateMachineVersionsOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListStateMachineVersionsCommand = de_ListStateMachineVersionsCommand; + var de_ListStateMachineVersionsCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ListTagsForResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_ListTagsForResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_ListTagsForResourceCommand = de_ListTagsForResourceCommand; + var de_ListTagsForResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_PublishStateMachineVersionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_PublishStateMachineVersionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_PublishStateMachineVersionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_PublishStateMachineVersionCommand = de_PublishStateMachineVersionCommand; + var de_PublishStateMachineVersionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskFailureCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskFailureCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskFailureCommand = de_SendTaskFailureCommand; + var de_SendTaskFailureCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskHeartbeatCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskHeartbeatCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskHeartbeatCommand = de_SendTaskHeartbeatCommand; + var de_SendTaskHeartbeatCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_SendTaskSuccessCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_SendTaskSuccessCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_SendTaskSuccessCommand = de_SendTaskSuccessCommand; + var de_SendTaskSuccessCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidOutput": + case "com.amazonaws.sfn#InvalidOutput": + throw await de_InvalidOutputRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "TaskDoesNotExist": + case "com.amazonaws.sfn#TaskDoesNotExist": + throw await de_TaskDoesNotExistRes(parsedOutput, context); + case "TaskTimedOut": + case "com.amazonaws.sfn#TaskTimedOut": + throw await de_TaskTimedOutRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StartExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StartExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StartExecutionCommand = de_StartExecutionCommand; + var de_StartExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionAlreadyExists": + case "com.amazonaws.sfn#ExecutionAlreadyExists": + throw await de_ExecutionAlreadyExistsRes(parsedOutput, context); + case "ExecutionLimitExceeded": + case "com.amazonaws.sfn#ExecutionLimitExceeded": + throw await de_ExecutionLimitExceededRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + throw await de_InvalidExecutionInputRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StartSyncExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StartSyncExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StartSyncExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StartSyncExecutionCommand = de_StartSyncExecutionCommand; + var de_StartSyncExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidExecutionInput": + case "com.amazonaws.sfn#InvalidExecutionInput": + throw await de_InvalidExecutionInputRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_StopExecutionCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_StopExecutionCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_StopExecutionOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_StopExecutionCommand = de_StopExecutionCommand; + var de_StopExecutionCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_TagResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_TagResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_TagResourceCommand = de_TagResourceCommand; + var de_TagResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "TooManyTags": + case "com.amazonaws.sfn#TooManyTags": + throw await de_TooManyTagsRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UntagResourceCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UntagResourceCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UntagResourceCommand = de_UntagResourceCommand; + var de_UntagResourceCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateMapRunCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateMapRunCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = (0, smithy_client_1._json)(data); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateMapRunCommand = de_UpdateMapRunCommand; + var de_UpdateMapRunCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateStateMachineCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateStateMachineCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateStateMachineCommand = de_UpdateStateMachineCommand; + var de_UpdateStateMachineCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidDefinition": + case "com.amazonaws.sfn#InvalidDefinition": + throw await de_InvalidDefinitionRes(parsedOutput, context); + case "InvalidLoggingConfiguration": + case "com.amazonaws.sfn#InvalidLoggingConfiguration": + throw await de_InvalidLoggingConfigurationRes(parsedOutput, context); + case "InvalidTracingConfiguration": + case "com.amazonaws.sfn#InvalidTracingConfiguration": + throw await de_InvalidTracingConfigurationRes(parsedOutput, context); + case "MissingRequiredParameter": + case "com.amazonaws.sfn#MissingRequiredParameter": + throw await de_MissingRequiredParameterRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_UpdateStateMachineAliasCommand = async (output, context) => { + if (output.statusCode >= 300) { + return de_UpdateStateMachineAliasCommandError(output, context); + } + const data = await parseBody(output.body, context); + let contents = {}; + contents = de_UpdateStateMachineAliasOutput(data, context); + const response = { + $metadata: deserializeMetadata(output), + ...contents + }; + return response; + }; + exports.de_UpdateStateMachineAliasCommand = de_UpdateStateMachineAliasCommand; + var de_UpdateStateMachineAliasCommandError = async (output, context) => { + const parsedOutput = { + ...output, + body: await parseErrorBody(output.body, context) + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode + }); + } + }; + var de_ActivityDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ActivityLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ActivityWorkerLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ActivityWorkerLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ConflictExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ConflictException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionAlreadyExistsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ExecutionLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ExecutionLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidArnRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidArn({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidDefinitionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidDefinition({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidExecutionInputRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidExecutionInput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidLoggingConfigurationRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidLoggingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidNameRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidName({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidOutputRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidOutput({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidTokenRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidToken({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_InvalidTracingConfigurationRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.InvalidTracingConfiguration({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_MissingRequiredParameterRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.MissingRequiredParameter({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ResourceNotFoundRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ResourceNotFound({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ServiceQuotaExceededException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineAlreadyExistsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineAlreadyExists({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineDeletingRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineDeleting({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineLimitExceededRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineLimitExceeded({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_StateMachineTypeNotSupportedRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.StateMachineTypeNotSupported({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TaskDoesNotExistRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TaskDoesNotExist({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TaskTimedOutRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TaskTimedOut({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_TooManyTagsRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.TooManyTags({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var de_ValidationExceptionRes = async (parsedOutput, context) => { + const body = parsedOutput.body; + const deserialized = (0, smithy_client_1._json)(body); + const exception = new models_0_1.ValidationException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized + }); + return (0, smithy_client_1.decorateServiceException)(exception, body); + }; + var se_UpdateMapRunInput = (input, context) => { + return (0, smithy_client_1.take)(input, { + mapRunArn: [], + maxConcurrency: [], + toleratedFailureCount: [], + toleratedFailurePercentage: smithy_client_1.serializeFloat + }); + }; + var de_ActivityList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ActivityListItem(entry, context); + }); + return retVal; + }; + var de_ActivityListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString + }); + }; + var de_CreateActivityOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_CreateStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString + }); + }; + var de_CreateStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_DescribeActivityOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityArn: smithy_client_1.expectString, + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString + }); + }; + var de_DescribeExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + cause: smithy_client_1.expectString, + error: smithy_client_1.expectString, + executionArn: smithy_client_1.expectString, + input: smithy_client_1.expectString, + inputDetails: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + output: smithy_client_1.expectString, + outputDetails: smithy_client_1._json, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + traceHeader: smithy_client_1.expectString + }); + }; + var de_DescribeMapRunOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + executionCounts: smithy_client_1._json, + itemCounts: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + maxConcurrency: smithy_client_1.expectInt32, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + toleratedFailureCount: smithy_client_1.expectLong, + toleratedFailurePercentage: smithy_client_1.limitedParseFloat32 + }); + }; + var de_DescribeStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + description: smithy_client_1.expectString, + name: smithy_client_1.expectString, + routingConfiguration: smithy_client_1._json, + stateMachineAliasArn: smithy_client_1.expectString, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_DescribeStateMachineForExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + definition: smithy_client_1.expectString, + label: smithy_client_1.expectString, + loggingConfiguration: smithy_client_1._json, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + revisionId: smithy_client_1.expectString, + roleArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + tracingConfiguration: smithy_client_1._json, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_DescribeStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + definition: smithy_client_1.expectString, + description: smithy_client_1.expectString, + label: smithy_client_1.expectString, + loggingConfiguration: smithy_client_1._json, + name: smithy_client_1.expectString, + revisionId: smithy_client_1.expectString, + roleArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + tracingConfiguration: smithy_client_1._json, + type: smithy_client_1.expectString + }); + }; + var de_ExecutionList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_ExecutionListItem(entry, context); + }); + return retVal; + }; + var de_ExecutionListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + itemCount: smithy_client_1.expectInt32, + mapRunArn: smithy_client_1.expectString, + name: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_GetExecutionHistoryOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + events: (_) => de_HistoryEventList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_HistoryEvent = (output, context) => { + return (0, smithy_client_1.take)(output, { + activityFailedEventDetails: smithy_client_1._json, + activityScheduleFailedEventDetails: smithy_client_1._json, + activityScheduledEventDetails: smithy_client_1._json, + activityStartedEventDetails: smithy_client_1._json, + activitySucceededEventDetails: smithy_client_1._json, + activityTimedOutEventDetails: smithy_client_1._json, + executionAbortedEventDetails: smithy_client_1._json, + executionFailedEventDetails: smithy_client_1._json, + executionStartedEventDetails: smithy_client_1._json, + executionSucceededEventDetails: smithy_client_1._json, + executionTimedOutEventDetails: smithy_client_1._json, + id: smithy_client_1.expectLong, + lambdaFunctionFailedEventDetails: smithy_client_1._json, + lambdaFunctionScheduleFailedEventDetails: smithy_client_1._json, + lambdaFunctionScheduledEventDetails: smithy_client_1._json, + lambdaFunctionStartFailedEventDetails: smithy_client_1._json, + lambdaFunctionSucceededEventDetails: smithy_client_1._json, + lambdaFunctionTimedOutEventDetails: smithy_client_1._json, + mapIterationAbortedEventDetails: smithy_client_1._json, + mapIterationFailedEventDetails: smithy_client_1._json, + mapIterationStartedEventDetails: smithy_client_1._json, + mapIterationSucceededEventDetails: smithy_client_1._json, + mapRunFailedEventDetails: smithy_client_1._json, + mapRunStartedEventDetails: smithy_client_1._json, + mapStateStartedEventDetails: smithy_client_1._json, + previousEventId: smithy_client_1.expectLong, + stateEnteredEventDetails: smithy_client_1._json, + stateExitedEventDetails: smithy_client_1._json, + taskFailedEventDetails: smithy_client_1._json, + taskScheduledEventDetails: smithy_client_1._json, + taskStartFailedEventDetails: smithy_client_1._json, + taskStartedEventDetails: smithy_client_1._json, + taskSubmitFailedEventDetails: smithy_client_1._json, + taskSubmittedEventDetails: smithy_client_1._json, + taskSucceededEventDetails: smithy_client_1._json, + taskTimedOutEventDetails: smithy_client_1._json, + timestamp: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + type: smithy_client_1.expectString + }); + }; + var de_HistoryEventList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_HistoryEvent(entry, context); + }); + return retVal; + }; + var de_ListActivitiesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + activities: (_) => de_ActivityList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListExecutionsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executions: (_) => de_ExecutionList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListMapRunsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + mapRuns: (_) => de_MapRunList(_, context), + nextToken: smithy_client_1.expectString + }); + }; + var de_ListStateMachineAliasesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachineAliases: (_) => de_StateMachineAliasList(_, context) + }); + }; + var de_ListStateMachinesOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachines: (_) => de_StateMachineList(_, context) + }); + }; + var de_ListStateMachineVersionsOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + nextToken: smithy_client_1.expectString, + stateMachineVersions: (_) => de_StateMachineVersionList(_, context) + }); + }; + var de_MapRunList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_MapRunListItem(entry, context); + }); + return retVal; + }; + var de_MapRunListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + mapRunArn: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_PublishStateMachineVersionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_StartExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + executionArn: smithy_client_1.expectString, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_StartSyncExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + billingDetails: smithy_client_1._json, + cause: smithy_client_1.expectString, + error: smithy_client_1.expectString, + executionArn: smithy_client_1.expectString, + input: smithy_client_1.expectString, + inputDetails: smithy_client_1._json, + name: smithy_client_1.expectString, + output: smithy_client_1.expectString, + outputDetails: smithy_client_1._json, + startDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineArn: smithy_client_1.expectString, + status: smithy_client_1.expectString, + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + traceHeader: smithy_client_1.expectString + }); + }; + var de_StateMachineAliasList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineAliasListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineAliasListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineAliasArn: smithy_client_1.expectString + }); + }; + var de_StateMachineList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + name: smithy_client_1.expectString, + stateMachineArn: smithy_client_1.expectString, + type: smithy_client_1.expectString + }); + }; + var de_StateMachineVersionList = (output, context) => { + const retVal = (output || []).filter((e) => e != null).map((entry) => { + return de_StateMachineVersionListItem(entry, context); + }); + return retVal; + }; + var de_StateMachineVersionListItem = (output, context) => { + return (0, smithy_client_1.take)(output, { + creationDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))), + stateMachineVersionArn: smithy_client_1.expectString + }); + }; + var de_StopExecutionOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + stopDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_UpdateStateMachineAliasOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var de_UpdateStateMachineOutput = (output, context) => { + return (0, smithy_client_1.take)(output, { + revisionId: smithy_client_1.expectString, + stateMachineVersionArn: smithy_client_1.expectString, + updateDate: (_) => (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(_))) + }); + }; + var deserializeMetadata = (output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }); + var collectBodyString = (streamBody, context) => (0, smithy_client_1.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)); + var throwDefaultError = (0, smithy_client_1.withBaseException)(SFNServiceException_1.SFNServiceException); + var buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const contents = { + protocol, + hostname, + port, + method: "POST", + path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path, + headers + }; + if (resolvedHostname !== void 0) { + contents.hostname = resolvedHostname; + } + if (body !== void 0) { + contents.body = body; + } + return new protocol_http_1.HttpRequest(contents); + }; + function sharedHeaders(operation) { + return { + "content-type": "application/x-amz-json-1.0", + "x-amz-target": `AWSStepFunctions.${operation}` + }; + } + var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => { + if (encoded.length) { + return JSON.parse(encoded); + } + return {}; + }); + var parseErrorBody = async (errorBody, context) => { + const value = await parseBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }; + var loadRestJsonErrorCode = (output, data) => { + const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()); + const sanitizeErrorCode = (rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }; + const headerKey = findKey(output.headers, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(output.headers[headerKey]); + } + if (data.code !== void 0) { + return sanitizeErrorCode(data.code); + } + if (data["__type"] !== void 0) { + return sanitizeErrorCode(data["__type"]); + } + }; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js +var require_CreateActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateActivityCommand = class _CreateActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateActivityCommand)(output, context); + } + }; + exports.CreateActivityCommand = CreateActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js +var require_CreateStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateStateMachineAliasCommand = class _CreateStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.CreateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateStateMachineAliasCommand)(output, context); + } + }; + exports.CreateStateMachineAliasCommand = CreateStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js +var require_CreateStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/CreateStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CreateStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var CreateStateMachineCommand = class _CreateStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _CreateStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.CreateStateMachineInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_CreateStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_CreateStateMachineCommand)(output, context); + } + }; + exports.CreateStateMachineCommand = CreateStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js +var require_DeleteActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteActivityCommand = class _DeleteActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteActivityCommand)(output, context); + } + }; + exports.DeleteActivityCommand = DeleteActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js +var require_DeleteStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineAliasCommand = class _DeleteStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineAliasCommand)(output, context); + } + }; + exports.DeleteStateMachineAliasCommand = DeleteStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js +var require_DeleteStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineCommand = class _DeleteStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineCommand)(output, context); + } + }; + exports.DeleteStateMachineCommand = DeleteStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js +var require_DeleteStateMachineVersionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DeleteStateMachineVersionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DeleteStateMachineVersionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DeleteStateMachineVersionCommand = class _DeleteStateMachineVersionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DeleteStateMachineVersionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineVersionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DeleteStateMachineVersionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DeleteStateMachineVersionCommand)(output, context); + } + }; + exports.DeleteStateMachineVersionCommand = DeleteStateMachineVersionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js +var require_DescribeActivityCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeActivityCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeActivityCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeActivityCommand = class _DescribeActivityCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeActivityCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeActivityCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeActivityCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeActivityCommand)(output, context); + } + }; + exports.DescribeActivityCommand = DescribeActivityCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js +var require_DescribeExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeExecutionCommand = class _DescribeExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeExecutionCommand)(output, context); + } + }; + exports.DescribeExecutionCommand = DescribeExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js +var require_DescribeMapRunCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeMapRunCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeMapRunCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeMapRunCommand = class _DescribeMapRunCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeMapRunCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeMapRunCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeMapRunCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeMapRunCommand)(output, context); + } + }; + exports.DescribeMapRunCommand = DescribeMapRunCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js +var require_DescribeStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineAliasCommand = class _DescribeStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineAliasOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineAliasCommand)(output, context); + } + }; + exports.DescribeStateMachineAliasCommand = DescribeStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js +var require_DescribeStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineCommand = class _DescribeStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineCommand)(output, context); + } + }; + exports.DescribeStateMachineCommand = DescribeStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js +var require_DescribeStateMachineForExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/DescribeStateMachineForExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DescribeStateMachineForExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var DescribeStateMachineForExecutionCommand = class _DescribeStateMachineForExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _DescribeStateMachineForExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineForExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.DescribeStateMachineForExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_DescribeStateMachineForExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_DescribeStateMachineForExecutionCommand)(output, context); + } + }; + exports.DescribeStateMachineForExecutionCommand = DescribeStateMachineForExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js +var require_GetActivityTaskCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetActivityTaskCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetActivityTaskCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var GetActivityTaskCommand = class _GetActivityTaskCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetActivityTaskCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "GetActivityTaskCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetActivityTaskOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_GetActivityTaskCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_GetActivityTaskCommand)(output, context); + } + }; + exports.GetActivityTaskCommand = GetActivityTaskCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js +var require_GetExecutionHistoryCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/GetExecutionHistoryCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.GetExecutionHistoryCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var GetExecutionHistoryCommand = class _GetExecutionHistoryCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _GetExecutionHistoryCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "GetExecutionHistoryCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: models_0_1.GetExecutionHistoryOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_GetExecutionHistoryCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_GetExecutionHistoryCommand)(output, context); + } + }; + exports.GetExecutionHistoryCommand = GetExecutionHistoryCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js +var require_ListActivitiesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListActivitiesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListActivitiesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListActivitiesCommand = class _ListActivitiesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListActivitiesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListActivitiesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListActivitiesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListActivitiesCommand)(output, context); + } + }; + exports.ListActivitiesCommand = ListActivitiesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js +var require_ListExecutionsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListExecutionsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListExecutionsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListExecutionsCommand = class _ListExecutionsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListExecutionsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListExecutionsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListExecutionsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListExecutionsCommand)(output, context); + } + }; + exports.ListExecutionsCommand = ListExecutionsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js +var require_ListMapRunsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListMapRunsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListMapRunsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListMapRunsCommand = class _ListMapRunsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListMapRunsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListMapRunsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListMapRunsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListMapRunsCommand)(output, context); + } + }; + exports.ListMapRunsCommand = ListMapRunsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js +var require_ListStateMachineAliasesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineAliasesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachineAliasesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachineAliasesCommand = class _ListStateMachineAliasesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineAliasesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineAliasesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachineAliasesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachineAliasesCommand)(output, context); + } + }; + exports.ListStateMachineAliasesCommand = ListStateMachineAliasesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js +var require_ListStateMachinesCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachinesCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachinesCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachinesCommand = class _ListStateMachinesCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachinesCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachinesCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachinesCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachinesCommand)(output, context); + } + }; + exports.ListStateMachinesCommand = ListStateMachinesCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js +var require_ListStateMachineVersionsCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListStateMachineVersionsCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListStateMachineVersionsCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListStateMachineVersionsCommand = class _ListStateMachineVersionsCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListStateMachineVersionsCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineVersionsCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListStateMachineVersionsCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListStateMachineVersionsCommand)(output, context); + } + }; + exports.ListStateMachineVersionsCommand = ListStateMachineVersionsCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js +var require_ListTagsForResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/ListTagsForResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ListTagsForResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var ListTagsForResourceCommand = class _ListTagsForResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _ListTagsForResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListTagsForResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_ListTagsForResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_ListTagsForResourceCommand)(output, context); + } + }; + exports.ListTagsForResourceCommand = ListTagsForResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js +var require_PublishStateMachineVersionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/PublishStateMachineVersionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.PublishStateMachineVersionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var PublishStateMachineVersionCommand = class _PublishStateMachineVersionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _PublishStateMachineVersionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "PublishStateMachineVersionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.PublishStateMachineVersionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_PublishStateMachineVersionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_PublishStateMachineVersionCommand)(output, context); + } + }; + exports.PublishStateMachineVersionCommand = PublishStateMachineVersionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js +var require_SendTaskFailureCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskFailureCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskFailureCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskFailureCommand = class _SendTaskFailureCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskFailureCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskFailureCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.SendTaskFailureInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskFailureCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskFailureCommand)(output, context); + } + }; + exports.SendTaskFailureCommand = SendTaskFailureCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js +var require_SendTaskHeartbeatCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskHeartbeatCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskHeartbeatCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskHeartbeatCommand = class _SendTaskHeartbeatCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskHeartbeatCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskHeartbeatCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskHeartbeatCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskHeartbeatCommand)(output, context); + } + }; + exports.SendTaskHeartbeatCommand = SendTaskHeartbeatCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js +var require_SendTaskSuccessCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/SendTaskSuccessCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SendTaskSuccessCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var SendTaskSuccessCommand = class _SendTaskSuccessCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _SendTaskSuccessCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "SendTaskSuccessCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.SendTaskSuccessInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_SendTaskSuccessCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_SendTaskSuccessCommand)(output, context); + } + }; + exports.SendTaskSuccessCommand = SendTaskSuccessCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js +var require_StartExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StartExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StartExecutionCommand = class _StartExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StartExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StartExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StartExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StartExecutionCommand)(output, context); + } + }; + exports.StartExecutionCommand = StartExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js +var require_StartSyncExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StartSyncExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StartSyncExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StartSyncExecutionCommand = class _StartSyncExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StartSyncExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StartSyncExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StartSyncExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: models_0_1.StartSyncExecutionOutputFilterSensitiveLog + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StartSyncExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StartSyncExecutionCommand)(output, context); + } + }; + exports.StartSyncExecutionCommand = StartSyncExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js +var require_StopExecutionCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/StopExecutionCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StopExecutionCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var StopExecutionCommand = class _StopExecutionCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _StopExecutionCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "StopExecutionCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.StopExecutionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_StopExecutionCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_StopExecutionCommand)(output, context); + } + }; + exports.StopExecutionCommand = StopExecutionCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js +var require_TagResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/TagResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TagResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var TagResourceCommand = class _TagResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _TagResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_TagResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_TagResourceCommand)(output, context); + } + }; + exports.TagResourceCommand = TagResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js +var require_UntagResourceCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UntagResourceCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UntagResourceCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UntagResourceCommand = class _UntagResourceCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UntagResourceCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UntagResourceCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UntagResourceCommand)(output, context); + } + }; + exports.UntagResourceCommand = UntagResourceCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js +var require_UpdateMapRunCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateMapRunCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateMapRunCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateMapRunCommand = class _UpdateMapRunCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateMapRunCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateMapRunCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_) => _, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateMapRunCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateMapRunCommand)(output, context); + } + }; + exports.UpdateMapRunCommand = UpdateMapRunCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js +var require_UpdateStateMachineAliasCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineAliasCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateStateMachineAliasCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateStateMachineAliasCommand = class _UpdateStateMachineAliasCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineAliasCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateStateMachineAliasCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.UpdateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateStateMachineAliasCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateStateMachineAliasCommand)(output, context); + } + }; + exports.UpdateStateMachineAliasCommand = UpdateStateMachineAliasCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js +var require_UpdateStateMachineCommand = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/UpdateStateMachineCommand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UpdateStateMachineCommand = exports.$Command = void 0; + var middleware_endpoint_1 = require_dist_cjs26(); + var middleware_serde_1 = require_dist_cjs25(); + var smithy_client_1 = require_dist_cjs35(); + Object.defineProperty(exports, "$Command", { enumerable: true, get: function() { + return smithy_client_1.Command; + } }); + var models_0_1 = require_models_03(); + var Aws_json1_0_1 = require_Aws_json1_0(); + var UpdateStateMachineCommand = class _UpdateStateMachineCommand extends smithy_client_1.Command { + static getEndpointParameterInstructions() { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } + constructor(input) { + super(); + this.input = input; + } + resolveMiddleware(clientStack, configuration, options) { + this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, _UpdateStateMachineCommand.getEndpointParameterInstructions())); + const stack = clientStack.concat(this.middlewareStack); + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateStateMachineCommand"; + const handlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: models_0_1.UpdateStateMachineInputFilterSensitiveLog, + outputFilterSensitiveLog: (_) => _ + }; + const { requestHandler } = configuration; + return stack.resolve((request2) => requestHandler.handle(request2.request, options || {}), handlerExecutionContext); + } + serialize(input, context) { + return (0, Aws_json1_0_1.se_UpdateStateMachineCommand)(input, context); + } + deserialize(output, context) { + return (0, Aws_json1_0_1.de_UpdateStateMachineCommand)(output, context); + } + }; + exports.UpdateStateMachineCommand = UpdateStateMachineCommand; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js +var require_SFN = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/SFN.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFN = void 0; + var smithy_client_1 = require_dist_cjs35(); + var CreateActivityCommand_1 = require_CreateActivityCommand(); + var CreateStateMachineAliasCommand_1 = require_CreateStateMachineAliasCommand(); + var CreateStateMachineCommand_1 = require_CreateStateMachineCommand(); + var DeleteActivityCommand_1 = require_DeleteActivityCommand(); + var DeleteStateMachineAliasCommand_1 = require_DeleteStateMachineAliasCommand(); + var DeleteStateMachineCommand_1 = require_DeleteStateMachineCommand(); + var DeleteStateMachineVersionCommand_1 = require_DeleteStateMachineVersionCommand(); + var DescribeActivityCommand_1 = require_DescribeActivityCommand(); + var DescribeExecutionCommand_1 = require_DescribeExecutionCommand(); + var DescribeMapRunCommand_1 = require_DescribeMapRunCommand(); + var DescribeStateMachineAliasCommand_1 = require_DescribeStateMachineAliasCommand(); + var DescribeStateMachineCommand_1 = require_DescribeStateMachineCommand(); + var DescribeStateMachineForExecutionCommand_1 = require_DescribeStateMachineForExecutionCommand(); + var GetActivityTaskCommand_1 = require_GetActivityTaskCommand(); + var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); + var ListActivitiesCommand_1 = require_ListActivitiesCommand(); + var ListExecutionsCommand_1 = require_ListExecutionsCommand(); + var ListMapRunsCommand_1 = require_ListMapRunsCommand(); + var ListStateMachineAliasesCommand_1 = require_ListStateMachineAliasesCommand(); + var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); + var ListStateMachineVersionsCommand_1 = require_ListStateMachineVersionsCommand(); + var ListTagsForResourceCommand_1 = require_ListTagsForResourceCommand(); + var PublishStateMachineVersionCommand_1 = require_PublishStateMachineVersionCommand(); + var SendTaskFailureCommand_1 = require_SendTaskFailureCommand(); + var SendTaskHeartbeatCommand_1 = require_SendTaskHeartbeatCommand(); + var SendTaskSuccessCommand_1 = require_SendTaskSuccessCommand(); + var StartExecutionCommand_1 = require_StartExecutionCommand(); + var StartSyncExecutionCommand_1 = require_StartSyncExecutionCommand(); + var StopExecutionCommand_1 = require_StopExecutionCommand(); + var TagResourceCommand_1 = require_TagResourceCommand(); + var UntagResourceCommand_1 = require_UntagResourceCommand(); + var UpdateMapRunCommand_1 = require_UpdateMapRunCommand(); + var UpdateStateMachineAliasCommand_1 = require_UpdateStateMachineAliasCommand(); + var UpdateStateMachineCommand_1 = require_UpdateStateMachineCommand(); + var SFNClient_1 = require_SFNClient(); + var commands = { + CreateActivityCommand: CreateActivityCommand_1.CreateActivityCommand, + CreateStateMachineCommand: CreateStateMachineCommand_1.CreateStateMachineCommand, + CreateStateMachineAliasCommand: CreateStateMachineAliasCommand_1.CreateStateMachineAliasCommand, + DeleteActivityCommand: DeleteActivityCommand_1.DeleteActivityCommand, + DeleteStateMachineCommand: DeleteStateMachineCommand_1.DeleteStateMachineCommand, + DeleteStateMachineAliasCommand: DeleteStateMachineAliasCommand_1.DeleteStateMachineAliasCommand, + DeleteStateMachineVersionCommand: DeleteStateMachineVersionCommand_1.DeleteStateMachineVersionCommand, + DescribeActivityCommand: DescribeActivityCommand_1.DescribeActivityCommand, + DescribeExecutionCommand: DescribeExecutionCommand_1.DescribeExecutionCommand, + DescribeMapRunCommand: DescribeMapRunCommand_1.DescribeMapRunCommand, + DescribeStateMachineCommand: DescribeStateMachineCommand_1.DescribeStateMachineCommand, + DescribeStateMachineAliasCommand: DescribeStateMachineAliasCommand_1.DescribeStateMachineAliasCommand, + DescribeStateMachineForExecutionCommand: DescribeStateMachineForExecutionCommand_1.DescribeStateMachineForExecutionCommand, + GetActivityTaskCommand: GetActivityTaskCommand_1.GetActivityTaskCommand, + GetExecutionHistoryCommand: GetExecutionHistoryCommand_1.GetExecutionHistoryCommand, + ListActivitiesCommand: ListActivitiesCommand_1.ListActivitiesCommand, + ListExecutionsCommand: ListExecutionsCommand_1.ListExecutionsCommand, + ListMapRunsCommand: ListMapRunsCommand_1.ListMapRunsCommand, + ListStateMachineAliasesCommand: ListStateMachineAliasesCommand_1.ListStateMachineAliasesCommand, + ListStateMachinesCommand: ListStateMachinesCommand_1.ListStateMachinesCommand, + ListStateMachineVersionsCommand: ListStateMachineVersionsCommand_1.ListStateMachineVersionsCommand, + ListTagsForResourceCommand: ListTagsForResourceCommand_1.ListTagsForResourceCommand, + PublishStateMachineVersionCommand: PublishStateMachineVersionCommand_1.PublishStateMachineVersionCommand, + SendTaskFailureCommand: SendTaskFailureCommand_1.SendTaskFailureCommand, + SendTaskHeartbeatCommand: SendTaskHeartbeatCommand_1.SendTaskHeartbeatCommand, + SendTaskSuccessCommand: SendTaskSuccessCommand_1.SendTaskSuccessCommand, + StartExecutionCommand: StartExecutionCommand_1.StartExecutionCommand, + StartSyncExecutionCommand: StartSyncExecutionCommand_1.StartSyncExecutionCommand, + StopExecutionCommand: StopExecutionCommand_1.StopExecutionCommand, + TagResourceCommand: TagResourceCommand_1.TagResourceCommand, + UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand, + UpdateMapRunCommand: UpdateMapRunCommand_1.UpdateMapRunCommand, + UpdateStateMachineCommand: UpdateStateMachineCommand_1.UpdateStateMachineCommand, + UpdateStateMachineAliasCommand: UpdateStateMachineAliasCommand_1.UpdateStateMachineAliasCommand + }; + var SFN2 = class extends SFNClient_1.SFNClient { + }; + exports.SFN = SFN2; + (0, smithy_client_1.createAggregatedClient)(commands, SFN2); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js +var require_commands3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/commands/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_CreateActivityCommand(), exports); + tslib_1.__exportStar(require_CreateStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_CreateStateMachineCommand(), exports); + tslib_1.__exportStar(require_DeleteActivityCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineCommand(), exports); + tslib_1.__exportStar(require_DeleteStateMachineVersionCommand(), exports); + tslib_1.__exportStar(require_DescribeActivityCommand(), exports); + tslib_1.__exportStar(require_DescribeExecutionCommand(), exports); + tslib_1.__exportStar(require_DescribeMapRunCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineCommand(), exports); + tslib_1.__exportStar(require_DescribeStateMachineForExecutionCommand(), exports); + tslib_1.__exportStar(require_GetActivityTaskCommand(), exports); + tslib_1.__exportStar(require_GetExecutionHistoryCommand(), exports); + tslib_1.__exportStar(require_ListActivitiesCommand(), exports); + tslib_1.__exportStar(require_ListExecutionsCommand(), exports); + tslib_1.__exportStar(require_ListMapRunsCommand(), exports); + tslib_1.__exportStar(require_ListStateMachineAliasesCommand(), exports); + tslib_1.__exportStar(require_ListStateMachineVersionsCommand(), exports); + tslib_1.__exportStar(require_ListStateMachinesCommand(), exports); + tslib_1.__exportStar(require_ListTagsForResourceCommand(), exports); + tslib_1.__exportStar(require_PublishStateMachineVersionCommand(), exports); + tslib_1.__exportStar(require_SendTaskFailureCommand(), exports); + tslib_1.__exportStar(require_SendTaskHeartbeatCommand(), exports); + tslib_1.__exportStar(require_SendTaskSuccessCommand(), exports); + tslib_1.__exportStar(require_StartExecutionCommand(), exports); + tslib_1.__exportStar(require_StartSyncExecutionCommand(), exports); + tslib_1.__exportStar(require_StopExecutionCommand(), exports); + tslib_1.__exportStar(require_TagResourceCommand(), exports); + tslib_1.__exportStar(require_UntagResourceCommand(), exports); + tslib_1.__exportStar(require_UpdateMapRunCommand(), exports); + tslib_1.__exportStar(require_UpdateStateMachineAliasCommand(), exports); + tslib_1.__exportStar(require_UpdateStateMachineCommand(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js +var require_GetExecutionHistoryPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/GetExecutionHistoryPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateGetExecutionHistory = void 0; + var GetExecutionHistoryCommand_1 = require_GetExecutionHistoryCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new GetExecutionHistoryCommand_1.GetExecutionHistoryCommand(input), ...args); + }; + async function* paginateGetExecutionHistory(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateGetExecutionHistory = paginateGetExecutionHistory; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js +var require_Interfaces2 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/Interfaces.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js +var require_ListActivitiesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListActivitiesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListActivities = void 0; + var ListActivitiesCommand_1 = require_ListActivitiesCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListActivitiesCommand_1.ListActivitiesCommand(input), ...args); + }; + async function* paginateListActivities(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListActivities = paginateListActivities; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js +var require_ListExecutionsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListExecutionsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListExecutions = void 0; + var ListExecutionsCommand_1 = require_ListExecutionsCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListExecutionsCommand_1.ListExecutionsCommand(input), ...args); + }; + async function* paginateListExecutions(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListExecutions = paginateListExecutions; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js +var require_ListMapRunsPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListMapRunsPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListMapRuns = void 0; + var ListMapRunsCommand_1 = require_ListMapRunsCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListMapRunsCommand_1.ListMapRunsCommand(input), ...args); + }; + async function* paginateListMapRuns(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListMapRuns = paginateListMapRuns; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js +var require_ListStateMachinesPaginator = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/ListStateMachinesPaginator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.paginateListStateMachines = void 0; + var ListStateMachinesCommand_1 = require_ListStateMachinesCommand(); + var SFNClient_1 = require_SFNClient(); + var makePagedClientRequest = async (client, input, ...args) => { + return await client.send(new ListStateMachinesCommand_1.ListStateMachinesCommand(input), ...args); + }; + async function* paginateListStateMachines(config, input, ...additionalArguments) { + let token = config.startingToken || void 0; + let hasNext = true; + let page; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof SFNClient_1.SFNClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected SFN | SFNClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + return void 0; + } + exports.paginateListStateMachines = paginateListStateMachines; + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js +var require_pagination4 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/pagination/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_GetExecutionHistoryPaginator(), exports); + tslib_1.__exportStar(require_Interfaces2(), exports); + tslib_1.__exportStar(require_ListActivitiesPaginator(), exports); + tslib_1.__exportStar(require_ListExecutionsPaginator(), exports); + tslib_1.__exportStar(require_ListMapRunsPaginator(), exports); + tslib_1.__exportStar(require_ListStateMachinesPaginator(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js +var require_models3 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/models/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models_03(), exports); + } +}); + +// ../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js +var require_dist_cjs53 = __commonJS({ + "../../../node_modules/@aws-sdk/client-sfn/dist-cjs/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SFNServiceException = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_SFNClient(), exports); + tslib_1.__exportStar(require_SFN(), exports); + tslib_1.__exportStar(require_commands3(), exports); + tslib_1.__exportStar(require_pagination4(), exports); + tslib_1.__exportStar(require_models3(), exports); + var SFNServiceException_1 = require_SFNServiceException(); + Object.defineProperty(exports, "SFNServiceException", { enumerable: true, get: function() { + return SFNServiceException_1.SFNServiceException; + } }); + } +}); + +// ../../../node_modules/webidl-conversions/lib/index.js +var require_lib2 = __commonJS({ + "../../../node_modules/webidl-conversions/lib/index.js"(exports, module2) { + "use strict"; + var conversions = {}; + module2.exports = conversions; + function sign(x) { + return x < 0 ? -1 : 1; + } + function evenRound(x) { + if (x % 1 === 0.5 && (x & 1) === 0) { + return Math.floor(x); + } else { + return Math.round(x); + } + } + function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + return function(V, opts) { + if (!opts) + opts = {}; + let x = +V; + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + return x; + } + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + if (x < lowerBound) + x = lowerBound; + if (x > upperBound) + x = upperBound; + return x; + } + if (!Number.isFinite(x) || x === 0) { + return 0; + } + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { + return 0; + } + } + return x; + }; + } + conversions["void"] = function() { + return void 0; + }; + conversions["boolean"] = function(val2) { + return !!val2; + }; + conversions["byte"] = createNumberConversion(8, { unsigned: false }); + conversions["octet"] = createNumberConversion(8, { unsigned: true }); + conversions["short"] = createNumberConversion(16, { unsigned: false }); + conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + conversions["long"] = createNumberConversion(32, { unsigned: false }); + conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); + conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + conversions["double"] = function(V) { + const x = +V; + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + return x; + }; + conversions["unrestricted double"] = function(V) { + const x = +V; + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + return x; + }; + conversions["float"] = conversions["double"]; + conversions["unrestricted float"] = conversions["unrestricted double"]; + conversions["DOMString"] = function(V, opts) { + if (!opts) + opts = {}; + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + return String(V); + }; + conversions["ByteString"] = function(V, opts) { + const x = String(V); + let c = void 0; + for (let i = 0; (c = x.codePointAt(i)) !== void 0; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + return x; + }; + conversions["USVString"] = function(V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 55296 || c > 57343) { + U.push(String.fromCodePoint(c)); + } else if (56320 <= c && c <= 57343) { + U.push(String.fromCodePoint(65533)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(65533)); + } else { + const d = S.charCodeAt(i + 1); + if (56320 <= d && d <= 57343) { + const a = c & 1023; + const b = d & 1023; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(65533)); + } + } + } + } + return U.join(""); + }; + conversions["Date"] = function(V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return void 0; + } + return V; + }; + conversions["RegExp"] = function(V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + return V; + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/utils.js +var require_utils2 = __commonJS({ + "../../../node_modules/whatwg-url/lib/utils.js"(exports, module2) { + "use strict"; + module2.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } + }; + module2.exports.wrapperSymbol = Symbol("wrapper"); + module2.exports.implSymbol = Symbol("impl"); + module2.exports.wrapperForImpl = function(impl) { + return impl[module2.exports.wrapperSymbol]; + }; + module2.exports.implForWrapper = function(wrapper) { + return wrapper[module2.exports.implSymbol]; + }; + } +}); + +// ../../../node_modules/tr46/lib/mappingTable.json +var require_mappingTable = __commonJS({ + "../../../node_modules/tr46/lib/mappingTable.json"(exports, module2) { + module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]]; + } +}); + +// ../../../node_modules/tr46/index.js +var require_tr46 = __commonJS({ + "../../../node_modules/tr46/index.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var mappingTable = require_mappingTable(); + var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 + }; + function normalize(str) { + return str.split("\0").map(function(s) { + return s.normalize("NFC"); + }).join("\0"); + } + function findStatus(val2) { + var start = 0; + var end = mappingTable.length - 1; + while (start <= end) { + var mid = Math.floor((start + end) / 2); + var target = mappingTable[mid]; + if (target[0][0] <= val2 && target[0][1] >= val2) { + return target; + } else if (target[0][0] > val2) { + end = mid - 1; + } else { + start = mid + 1; + } + } + return null; + } + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + function countSymbols(string) { + return string.replace(regexAstralSymbols, "_").length; + } + function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + processed += String.fromCodePoint(codePoint); + break; + } + } + return { + string: processed, + error: hasError + }; + } + var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + var error = false; + if (normalize(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) { + error = true; + } + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== "valid" && status[1] !== "deviation") { + error = true; + break; + } + } + return { + label, + error + }; + } + function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch (e) { + result.error = true; + } + } + return { + string: labels.join("."), + error: result.error + }; + } + module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch (e) { + result.error = true; + return l; + } + }); + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + for (var i = 0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + if (result.error) + return null; + return labels.join("."); + }; + module2.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + return { + domain: result.string, + error: result.error + }; + }; + module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + } +}); + +// ../../../node_modules/whatwg-url/lib/url-state-machine.js +var require_url_state_machine = __commonJS({ + "../../../node_modules/whatwg-url/lib/url-state-machine.js"(exports, module2) { + "use strict"; + var punycode = require("punycode"); + var tr46 = require_tr46(); + var specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 + }; + var failure = Symbol("failure"); + function countSymbols(str) { + return punycode.ucs2.decode(str).length; + } + function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? void 0 : String.fromCodePoint(c); + } + function isASCIIDigit(c) { + return c >= 48 && c <= 57; + } + function isASCIIAlpha(c) { + return c >= 65 && c <= 90 || c >= 97 && c <= 122; + } + function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); + } + function isASCIIHex(c) { + return isASCIIDigit(c) || c >= 65 && c <= 70 || c >= 97 && c <= 102; + } + function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; + } + function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; + } + function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); + } + function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); + } + function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; + } + function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; + } + function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== void 0; + } + function isSpecial(url2) { + return isSpecialScheme(url2.scheme); + } + function defaultPort(scheme) { + return specialSchemes[scheme]; + } + function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + return "%" + hex; + } + function utf8PercentEncode(c) { + const buf = new Buffer(c); + let str = ""; + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + return str; + } + function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); + } + function isC0ControlPercentEncode(c) { + return c <= 31 || c > 126; + } + var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); + function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + } + var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); + function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); + } + function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + return cStr; + } + function parseIPv4Number(input) { + let R = 10; + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + if (input === "") { + return 0; + } + const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; + if (regex.test(input)) { + return failure; + } + return parseInt(input, R); + } + function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + if (parts.length > 4) { + return input; + } + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + numbers.push(n); + } + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + let ipv4 = numbers.pop(); + let counter = 0; + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + return ipv4; + } + function serializeIPv4(address) { + let output = ""; + let n = address; + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + return output; + } + function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + input = punycode.ucs2.decode(input); + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + let value = 0; + let length = 0; + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 16 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + pointer -= length; + if (pieceIndex > 6) { + return failure; + } + let numbersSeen = 0; + while (input[pointer] !== void 0) { + let ipv4Piece = null; + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + if (!isASCIIDigit(input[pointer])) { + return failure; + } + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + ++numbersSeen; + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + if (numbersSeen !== 4) { + return failure; + } + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === void 0) { + return failure; + } + } else if (input[pointer] !== void 0) { + return failure; + } + address[pieceIndex] = value; + ++pieceIndex; + } + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + return address; + } + function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + output += address[pieceIndex].toString(16); + if (pieceIndex !== 7) { + output += ":"; + } + } + return output; + } + function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + return parseIPv6(input.substring(1, input.length - 1)); + } + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + return asciiDomain; + } + function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; + } + function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; + let currStart = null; + let currLen = 0; + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + return { + idx: maxIdx, + len: maxLen + }; + } + function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + return host; + } + function trimControlChars(url2) { + return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); + } + function trimTabAndNewline(url2) { + return url2.replace(/\u0009|\u000A|\u000D/g, ""); + } + function shortenPath(url2) { + const path = url2.path; + if (path.length === 0) { + return; + } + if (url2.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + path.pop(); + } + function includesCredentials(url2) { + return url2.username !== "" || url2.password !== ""; + } + function cannotHaveAUsernamePasswordPort(url2) { + return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file"; + } + function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); + } + function URLStateMachine(input, base, encodingOverride, url2, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url2; + this.failure = false; + this.parseError = false; + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + cannotBeABaseURL: false + }; + const res2 = trimControlChars(this.input); + if (res2 !== this.input) { + this.parseError = true; + } + this.input = res2; + } + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + this.state = stateOverride || "scheme start"; + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + this.input = punycode.ucs2.decode(this.input); + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; + } else if (ret === failure) { + this.failure = true; + break; + } + } + } + URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + return true; + }; + URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || this.base.cannotBeABaseURL && c !== 35) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + return true; + }; + URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + return true; + }; + var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); + URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + return true; + }; + URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + if (this.stateOverride) { + return false; + } + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== void 0) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + return true; + }; + URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === void 0 || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + return true; + }; + URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + return true; + }; + URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || !this.stateOverride && c === 35) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + const buffer = new Buffer(this.buffer); + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 33 || buffer[i] > 126 || buffer[i] === 34 || buffer[i] === 35 || buffer[i] === 60 || buffer[i] === 62) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.buffer += cStr; + } + return true; + }; + URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { + } else if (c === 0) { + this.parseError = true; + } else { + if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + return true; + }; + function serializeURL(url2, excludeFragment) { + let output = url2.scheme + ":"; + if (url2.host !== null) { + output += "//"; + if (url2.username !== "" || url2.password !== "") { + output += url2.username; + if (url2.password !== "") { + output += ":" + url2.password; + } + output += "@"; + } + output += serializeHost(url2.host); + if (url2.port !== null) { + output += ":" + url2.port; + } + } else if (url2.host === null && url2.scheme === "file") { + output += "//"; + } + if (url2.cannotBeABaseURL) { + output += url2.path[0]; + } else { + for (const string of url2.path) { + output += "/" + string; + } + } + if (url2.query !== null) { + output += "?" + url2.query; + } + if (!excludeFragment && url2.fragment !== null) { + output += "#" + url2.fragment; + } + return output; + } + function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + if (tuple.port !== null) { + result += ":" + tuple.port; + } + return result; + } + module2.exports.serializeURL = serializeURL; + module2.exports.serializeURLOrigin = function(url2) { + switch (url2.scheme) { + case "blob": + try { + return module2.exports.serializeURLOrigin(module2.exports.parseURL(url2.path[0])); + } catch (e) { + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url2.scheme, + host: url2.host, + port: url2.port + }); + case "file": + return "file://"; + default: + return "null"; + } + }; + module2.exports.basicURLParse = function(input, options) { + if (options === void 0) { + options = {}; + } + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + return usm.url; + }; + module2.exports.setTheUsername = function(url2, username) { + url2.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url2.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } + }; + module2.exports.setThePassword = function(url2, password) { + url2.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url2.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } + }; + module2.exports.serializeHost = serializeHost; + module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + module2.exports.serializeInteger = function(integer) { + return String(integer); + }; + module2.exports.parseURL = function(input, options) { + if (options === void 0) { + options = {}; + } + return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/URL-impl.js +var require_URL_impl = __commonJS({ + "../../../node_modules/whatwg-url/lib/URL-impl.js"(exports) { + "use strict"; + var usm = require_url_state_machine(); + exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url2 = constructorArgs[0]; + const base = constructorArgs[1]; + let parsedBase = null; + if (base !== void 0) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get href() { + return usm.serializeURL(this._url); + } + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + this._url = parsedURL; + } + get origin() { + return usm.serializeURLOrigin(this._url); + } + get protocol() { + return this._url.scheme + ":"; + } + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + get username() { + return this._url.username; + } + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setTheUsername(this._url, v); + } + get password() { + return this._url.password; + } + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + usm.setThePassword(this._url, v); + } + get host() { + const url2 = this._url; + if (url2.host === null) { + return ""; + } + if (url2.port === null) { + return usm.serializeHost(url2.host); + } + return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port); + } + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + get hostname() { + if (this._url.host === null) { + return ""; + } + return usm.serializeHost(this._url.host); + } + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + get port() { + if (this._url.port === null) { + return ""; + } + return usm.serializeInteger(this._url.port); + } + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + if (this._url.path.length === 0) { + return ""; + } + return "/" + this._url.path.join("/"); + } + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + return "?" + this._url.query; + } + set search(v) { + const url2 = this._url; + if (v === "") { + url2.query = null; + return; + } + const input = v[0] === "?" ? v.substring(1) : v; + url2.query = ""; + usm.basicURLParse(input, { url: url2, stateOverride: "query" }); + } + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + return "#" + this._url.fragment; + } + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + toJSON() { + return this.href; + } + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/URL.js +var require_URL = __commonJS({ + "../../../node_modules/whatwg-url/lib/URL.js"(exports, module2) { + "use strict"; + var conversions = require_lib2(); + var utils = require_utils2(); + var Impl = require_URL_impl(); + var impl = utils.implSymbol; + function URL3(url2) { + if (!this || this[impl] || !(this instanceof URL3)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== void 0) { + args[1] = conversions["USVString"](args[1]); + } + module2.exports.setup(this, args); + } + URL3.prototype.toJSON = function toJSON() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); + }; + Object.defineProperty(URL3.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true + }); + URL3.prototype.toString = function() { + if (!this || !module2.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; + }; + Object.defineProperty(URL3.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(URL3.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true + }); + module2.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL3.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) + privateData = {}; + privateData.wrapper = obj; + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL3, + expose: { + Window: { URL: URL3 }, + Worker: { URL: URL3 } + } + }; + } +}); + +// ../../../node_modules/whatwg-url/lib/public-api.js +var require_public_api = __commonJS({ + "../../../node_modules/whatwg-url/lib/public-api.js"(exports) { + "use strict"; + exports.URL = require_URL().interface; + exports.serializeURL = require_url_state_machine().serializeURL; + exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; + exports.basicURLParse = require_url_state_machine().basicURLParse; + exports.setTheUsername = require_url_state_machine().setTheUsername; + exports.setThePassword = require_url_state_machine().setThePassword; + exports.serializeHost = require_url_state_machine().serializeHost; + exports.serializeInteger = require_url_state_machine().serializeInteger; + exports.parseURL = require_url_state_machine().parseURL; + } +}); + +// ../../../node_modules/safer-buffer/safer.js +var require_safer = __commonJS({ + "../../../node_modules/safer-buffer/safer.js"(exports, module2) { + "use strict"; + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + var safer = {}; + var key; + for (key in buffer) { + if (!buffer.hasOwnProperty(key)) + continue; + if (key === "SlowBuffer" || key === "Buffer") + continue; + safer[key] = buffer[key]; + } + var Safer = safer.Buffer = {}; + for (key in Buffer2) { + if (!Buffer2.hasOwnProperty(key)) + continue; + if (key === "allocUnsafe" || key === "allocUnsafeSlow") + continue; + Safer[key] = Buffer2[key]; + } + safer.Buffer.prototype = Buffer2.prototype; + if (!Safer.from || Safer.from === Uint8Array.from) { + Safer.from = function(value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); + } + if (value && typeof value.length === "undefined") { + throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + } + return Buffer2(value, encodingOrOffset, length); + }; + } + if (!Safer.alloc) { + Safer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } + var buf = Buffer2(size); + if (!fill || fill.length === 0) { + buf.fill(0); + } else if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + return buf; + }; + } + if (!safer.kStringMaxLength) { + try { + safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; + } catch (e) { + } + } + if (!safer.constants) { + safer.constants = { + MAX_LENGTH: safer.kMaxLength + }; + if (safer.kStringMaxLength) { + safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; + } + } + module2.exports = safer; + } +}); + +// ../../../node_modules/iconv-lite/lib/bom-handling.js +var require_bom_handling = __commonJS({ + "../../../node_modules/iconv-lite/lib/bom-handling.js"(exports) { + "use strict"; + var BOMChar = "\uFEFF"; + exports.PrependBOM = PrependBOMWrapper; + function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; + } + PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + return this.encoder.write(str); + }; + PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); + }; + exports.StripBOM = StripBOMWrapper; + function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; + } + StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === "function") + this.options.stripBOM(); + } + this.pass = true; + return res; + }; + StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/internal.js +var require_internal = __commonJS({ + "../../../node_modules/iconv-lite/encodings/internal.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true }, + cesu8: { type: "_internal", bomAware: true }, + unicode11utf8: "utf8", + ucs2: { type: "_internal", bomAware: true }, + utf16le: "ucs2", + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + // Codec. + _internal: InternalCodec + }; + function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; + this.encoder = InternalEncoderCesu8; + if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } + } + InternalCodec.prototype.encoder = InternalEncoder; + InternalCodec.prototype.decoder = InternalDecoder; + var StringDecoder = require("string_decoder").StringDecoder; + if (!StringDecoder.prototype.end) + StringDecoder.prototype.end = function() { + }; + function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); + } + InternalDecoder.prototype.write = function(buf) { + if (!Buffer2.isBuffer(buf)) { + buf = Buffer2.from(buf); + } + return this.decoder.write(buf); + }; + InternalDecoder.prototype.end = function() { + return this.decoder.end(); + }; + function InternalEncoder(options, codec) { + this.enc = codec.enc; + } + InternalEncoder.prototype.write = function(str) { + return Buffer2.from(str, this.enc); + }; + InternalEncoder.prototype.end = function() { + }; + function InternalEncoderBase64(options, codec) { + this.prevStr = ""; + } + InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - str.length % 4; + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + return Buffer2.from(str, "base64"); + }; + InternalEncoderBase64.prototype.end = function() { + return Buffer2.from(this.prevStr, "base64"); + }; + function InternalEncoderCesu8(options, codec) { + } + InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + if (charCode < 128) + buf[bufIdx++] = charCode; + else if (charCode < 2048) { + buf[bufIdx++] = 192 + (charCode >>> 6); + buf[bufIdx++] = 128 + (charCode & 63); + } else { + buf[bufIdx++] = 224 + (charCode >>> 12); + buf[bufIdx++] = 128 + (charCode >>> 6 & 63); + buf[bufIdx++] = 128 + (charCode & 63); + } + } + return buf.slice(0, bufIdx); + }; + InternalEncoderCesu8.prototype.end = function() { + }; + function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; + } + InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 192) !== 128) { + if (contBytes > 0) { + res += this.defaultCharUnicode; + contBytes = 0; + } + if (curByte < 128) { + res += String.fromCharCode(curByte); + } else if (curByte < 224) { + acc = curByte & 31; + contBytes = 1; + accBytes = 1; + } else if (curByte < 240) { + acc = curByte & 15; + contBytes = 2; + accBytes = 1; + } else { + res += this.defaultCharUnicode; + } + } else { + if (contBytes > 0) { + acc = acc << 6 | curByte & 63; + contBytes--; + accBytes++; + if (contBytes === 0) { + if (accBytes === 2 && acc < 128 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 2048) + res += this.defaultCharUnicode; + else + res += String.fromCharCode(acc); + } + } else { + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; + this.contBytes = contBytes; + this.accBytes = accBytes; + return res; + }; + InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf32.js +var require_utf32 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf32.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._utf32 = Utf32Codec; + function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; + } + exports.utf32le = { type: "_utf32", isLE: true }; + exports.utf32be = { type: "_utf32", isLE: false }; + exports.ucs4le = "utf32le"; + exports.ucs4be = "utf32be"; + Utf32Codec.prototype.encoder = Utf32Encoder; + Utf32Codec.prototype.decoder = Utf32Decoder; + function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; + } + Utf32Encoder.prototype.write = function(str) { + var src = Buffer2.from(str, "ucs2"); + var dst = Buffer2.alloc(src.length * 2); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = 55296 <= code && code < 56320; + var isLowSurrogate = 56320 <= code && code < 57344; + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } else { + var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + continue; + } + } + if (isHighSurrogate) + this.highSurrogate = code; + else { + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } + } + if (offset < dst.length) + dst = dst.slice(0, offset); + return dst; + }; + Utf32Encoder.prototype.end = function() { + if (!this.highSurrogate) + return; + var buf = Buffer2.alloc(4); + if (this.isLE) + buf.writeUInt32LE(this.highSurrogate, 0); + else + buf.writeUInt32BE(this.highSurrogate, 0); + this.highSurrogate = 0; + return buf; + }; + function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; + } + Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) + return ""; + var i = 0; + var codepoint = 0; + var dst = Buffer2.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) + overflow.push(src[i]); + if (overflow.length === 4) { + if (isLE) { + codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24; + } else { + codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24; + } + overflow.length = 0; + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + } + for (; i < src.length - 3; i += 4) { + if (isLE) { + codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; + } else { + codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + for (; i < src.length; i++) { + overflow.push(src[i]); + } + return dst.slice(0, offset).toString("ucs2"); + }; + function _writeCodepoint(dst, offset, codepoint, badChar) { + if (codepoint < 0 || codepoint > 1114111) { + codepoint = badChar; + } + if (codepoint >= 65536) { + codepoint -= 65536; + var high = 55296 | codepoint >> 10; + dst[offset++] = high & 255; + dst[offset++] = high >> 8; + var codepoint = 56320 | codepoint & 1023; + } + dst[offset++] = codepoint & 255; + dst[offset++] = codepoint >> 8; + return offset; + } + Utf32Decoder.prototype.end = function() { + this.overflow.length = 0; + }; + exports.utf32 = Utf32AutoCodec; + exports.ucs4 = "utf32"; + function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; + } + Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; + Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + function Utf32AutoEncoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); + } + Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 32) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0, invalidBE = 0; + var bmpCharsLE = 0, bmpCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { + return "utf-32le"; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { + return "utf-32be"; + } + } + if (b[0] !== 0 || b[1] > 16) + invalidBE++; + if (b[3] !== 0 || b[2] > 16) + invalidLE++; + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) + bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) + bmpCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) + return "utf-32be"; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) + return "utf-32le"; + return defaultEncoding || "utf-32le"; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf16.js +var require_utf16 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf16.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf16be = Utf16BECodec; + function Utf16BECodec() { + } + Utf16BECodec.prototype.encoder = Utf16BEEncoder; + Utf16BECodec.prototype.decoder = Utf16BEDecoder; + Utf16BECodec.prototype.bomAware = true; + function Utf16BEEncoder() { + } + Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer2.from(str, "ucs2"); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; + buf[i] = buf[i + 1]; + buf[i + 1] = tmp; + } + return buf; + }; + Utf16BEEncoder.prototype.end = function() { + }; + function Utf16BEDecoder() { + this.overflowByte = -1; + } + Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ""; + var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; + j = 2; + } + for (; i < buf.length - 1; i += 2, j += 2) { + buf2[j] = buf[i + 1]; + buf2[j + 1] = buf[i]; + } + this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; + return buf2.slice(0, j).toString("ucs2"); + }; + Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; + }; + exports.utf16 = Utf16Codec; + function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf16Codec.prototype.encoder = Utf16Encoder; + Utf16Codec.prototype.decoder = Utf16Decoder; + function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder("utf-16le", options); + } + Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf16Encoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 16) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0, asciiCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254) + return "utf-16le"; + if (b[0] === 254 && b[1] === 255) + return "utf-16be"; + } + if (b[0] === 0 && b[1] !== 0) + asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) + asciiCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (asciiCharsBE > asciiCharsLE) + return "utf-16be"; + if (asciiCharsBE < asciiCharsLE) + return "utf-16le"; + return defaultEncoding || "utf-16le"; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/utf7.js +var require_utf7 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/utf7.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf7 = Utf7Codec; + exports.unicode11utf7 = "utf7"; + function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7Codec.prototype.encoder = Utf7Encoder; + Utf7Codec.prototype.decoder = Utf7Decoder; + Utf7Codec.prototype.bomAware = true; + var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; + } + Utf7Encoder.prototype.write = function(str) { + return Buffer2.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; + }.bind(this))); + }; + Utf7Encoder.prototype.end = function() { + }; + function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64Regex = /[A-Za-z0-9\/+]/; + var base64Chars = []; + for (i = 0; i < 256; i++) + base64Chars[i] = base64Regex.test(String.fromCharCode(i)); + var i; + var plusChar = "+".charCodeAt(0); + var minusChar = "-".charCodeAt(0); + var andChar = "&".charCodeAt(0); + Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64Chars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + exports.utf7imap = Utf7IMAPCodec; + function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; + Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; + Utf7IMAPCodec.prototype.bomAware = true; + function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer2.alloc(6); + this.base64AccumIdx = 0; + } + Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; + for (var i2 = 0; i2 < str.length; i2++) { + var uChar = str.charCodeAt(i2); + if (32 <= uChar && uChar <= 126) { + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + inBase64 = false; + } + if (!inBase64) { + buf[bufIdx++] = uChar; + if (uChar === andChar) + buf[bufIdx++] = minusChar; + } + } else { + if (!inBase64) { + buf[bufIdx++] = andChar; + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 255; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); + base64AccumIdx = 0; + } + } + } + } + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + return buf.slice(0, bufIdx); + }; + Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer2.alloc(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + this.base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + this.inBase64 = false; + } + return buf.slice(0, bufIdx); + }; + function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64IMAPChars = base64Chars.slice(); + base64IMAPChars[",".charCodeAt(0)] = true; + Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64IMAPChars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-codec.js +var require_sbcs_codec = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._sbcs = SBCSCodec; + function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data."); + if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) + throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); + var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + this.encodeBuf = encodeBuf; + } + SBCSCodec.prototype.encoder = SBCSEncoder; + SBCSCodec.prototype.decoder = SBCSDecoder; + function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; + } + SBCSEncoder.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + return buf; + }; + SBCSEncoder.prototype.end = function() { + }; + function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; + } + SBCSDecoder.prototype.write = function(buf) { + var decodeBuf = this.decodeBuf; + var newBuf = Buffer2.alloc(buf.length * 2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i] * 2; + idx2 = i * 2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; + } + return newBuf.toString("ucs2"); + }; + SBCSDecoder.prototype.end = function() { + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-data.js +var require_sbcs_data = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module2) { + "use strict"; + module2.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" + }, + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" + }, + "mik": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "cp720": { + "type": "_sbcs", + "chars": "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek": "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + "cp819": "iso88591", + "ibm819": "iso88591", + "cyrillic": "iso88595", + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + "greek": "iso88597", + "greek8": "iso88597", + "ecma118": "iso88597", + "elot928": "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + "strk10482002": "rk1048", + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", + "gb198880": "iso646cn", + "cn": "iso646cn", + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", + "mac": "macintosh", + "csmacintosh": "macintosh" + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js +var require_sbcs_data_generated = __commonJS({ + "../../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module2) { + "use strict"; + module2.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "macgreek": { + "type": "_sbcs", + "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + }, + "maciceland": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macroman": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macromania": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macthai": { + "type": "_sbcs", + "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "macturkish": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macukraine": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "koi8r": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8u": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8t": { + "type": "_sbcs", + "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "armscii8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" + }, + "rk1048": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "georgianps": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "pt154": { + "type": "_sbcs", + "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "viscii": { + "type": "_sbcs", + "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "hproman8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" + }, + "macintosh": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "ascii": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "tis620": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + } + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/dbcs-codec.js +var require_dbcs_codec = __commonJS({ + "../../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._dbcs = DBCSCodec; + var UNASSIGNED = -1; + var GB18030_CODE = -2; + var SEQ_START = -10; + var NODE_START = -1e3; + var UNASSIGNED_NODE = new Array(256); + var DEF_CHAR = -1; + for (i = 0; i < 256; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; + var i; + function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data."); + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); + var mappingTable = codecOptions.table(); + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); + this.decodeTableSeq = []; + for (var i2 = 0; i2 < mappingTable.length; i2++) + this._addDecodeChunk(mappingTable[i2]); + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030(); + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var firstByteNode = this.decodeTables[0]; + for (var i2 = 129; i2 <= 254; i2++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; + for (var j = 48; j <= 57; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); + } + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 129; k <= 254; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); + } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 48; l <= 57; l++) { + if (fourthByteNode[l] === UNASSIGNED) + fourthByteNode[l] = GB18030_CODE; + } + } + } + } + } + this.defaultCharUnicode = iconv.defaultCharUnicode; + this.encodeTable = []; + this.encodeTableSeq = []; + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { + var val2 = codecOptions.encodeSkipVals[i2]; + if (typeof val2 === "number") + skipEncodeChars[val2] = true; + else + for (var j = val2.from; j <= val2.to; j++) + skipEncodeChars[j] = true; + } + this._fillEncodeTable(0, 0, skipEncodeChars); + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) + this.defCharSB = this.encodeTable[0]["?"]; + if (this.defCharSB === UNASSIGNED) + this.defCharSB = "?".charCodeAt(0); + } + DBCSCodec.prototype.encoder = DBCSEncoder; + DBCSCodec.prototype.decoder = DBCSDecoder; + DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) + bytes.push(addr & 255); + if (bytes.length == 0) + bytes.push(0); + var node = this.decodeTables[0]; + for (var i2 = bytes.length - 1; i2 > 0; i2--) { + var val2 = node[bytes[i2]]; + if (val2 == UNASSIGNED) { + node[bytes[i2]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } else if (val2 <= NODE_START) { + node = this.decodeTables[NODE_START - val2]; + } else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + return node; + }; + DBCSCodec.prototype._addDecodeChunk = function(chunk) { + var curAddr = parseInt(chunk[0], 16); + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 255; + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { + for (var l = 0; l < part.length; ) { + var code = part.charCodeAt(l++); + if (55296 <= code && code < 56320) { + var codeTrail = part.charCodeAt(l++); + if (56320 <= codeTrail && codeTrail < 57344) + writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } else if (4080 < code && code <= 4095) { + var len = 4095 - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } else + writeTable[curAddr++] = code; + } + } else if (typeof part === "number") { + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; + } else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + if (curAddr > 255) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); + }; + DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; + if (this.encodeTable[high] === void 0) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); + return this.encodeTable[high]; + }; + DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; + }; + DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + var node; + if (bucket[low] <= SEQ_START) { + node = this.encodeTableSeq[SEQ_START - bucket[low]]; + } else { + node = {}; + if (bucket[low] !== UNASSIGNED) + node[DEF_CHAR] = bucket[low]; + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === "object") + node = oldVal; + else { + node = node[uCode] = {}; + if (oldVal !== void 0) + node[DEF_CHAR] = oldVal; + } + } + uCode = seq[seq.length - 1]; + node[uCode] = dbcsCode; + }; + DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i2 = 0; i2 < 256; i2++) { + var uCode = node[i2]; + var mbCode = prefix + i2; + if (skipEncodeChars[mbCode]) + continue; + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { + var newPrefix = mbCode << 8 >>> 0; + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) + hasValues = true; + else + subNodeEmpty[subNodeIdx] = true; + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } + } + return hasValues; + }; + function DBCSEncoder(options, codec) { + this.leadSurrogate = -1; + this.seqObj = void 0; + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; + } + DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; + while (true) { + if (nextChar === -1) { + if (i2 == str.length) + break; + var uCode = str.charCodeAt(i2++); + } else { + var uCode = nextChar; + nextChar = -1; + } + if (55296 <= uCode && uCode < 57344) { + if (uCode < 56320) { + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + uCode = UNASSIGNED; + } + } else { + if (leadSurrogate !== -1) { + uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); + leadSurrogate = -1; + } else { + uCode = UNASSIGNED; + } + } + } else if (leadSurrogate !== -1) { + nextChar = uCode; + uCode = UNASSIGNED; + leadSurrogate = -1; + } + var dbcsCode = UNASSIGNED; + if (seqObj !== void 0 && uCode != UNASSIGNED) { + var resCode = seqObj[uCode]; + if (typeof resCode === "object") { + seqObj = resCode; + continue; + } else if (typeof resCode == "number") { + dbcsCode = resCode; + } else if (resCode == void 0) { + resCode = seqObj[DEF_CHAR]; + if (resCode !== void 0) { + dbcsCode = resCode; + nextChar = uCode; + } else { + } + } + seqObj = void 0; + } else if (uCode >= 0) { + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== void 0) + dbcsCode = subtable[uCode & 255]; + if (dbcsCode <= SEQ_START) { + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; + continue; + } + if (dbcsCode == UNASSIGNED && this.gb18030) { + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); + dbcsCode = dbcsCode % 12600; + newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); + dbcsCode = dbcsCode % 1260; + newBuf[j++] = 129 + Math.floor(dbcsCode / 10); + dbcsCode = dbcsCode % 10; + newBuf[j++] = 48 + dbcsCode; + continue; + } + } + } + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else if (dbcsCode < 65536) { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } else if (dbcsCode < 16777216) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = dbcsCode >> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = dbcsCode >>> 16 & 255; + newBuf[j++] = dbcsCode >>> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } + } + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === void 0) + return; + var newBuf = Buffer2.alloc(10), j = 0; + if (this.seqObj) { + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== void 0) { + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } + } else { + } + this.seqObj = void 0; + } + if (this.leadSurrogate !== -1) { + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.findIdx = findIdx; + function DBCSDecoder(options, codec) { + this.nodeIdx = 0; + this.prevBytes = []; + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; + } + DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode; + for (var i2 = 0, j = 0; i2 < buf.length; i2++) { + var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; + var uCode = this.decodeTables[nodeIdx][curByte]; + if (uCode >= 0) { + } else if (uCode === UNASSIGNED) { + uCode = this.defaultCharUnicode.charCodeAt(0); + i2 = seqStart; + } else if (uCode === GB18030_CODE) { + if (i2 >= 3) { + var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); + } else { + var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } else if (uCode <= NODE_START) { + nodeIdx = NODE_START - uCode; + continue; + } else if (uCode <= SEQ_START) { + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length - 1]; + } else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + if (uCode >= 65536) { + uCode -= 65536; + var uCodeLead = 55296 | uCode >> 10; + newBuf[j++] = uCodeLead & 255; + newBuf[j++] = uCodeLead >> 8; + uCode = 56320 | uCode & 1023; + } + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + nodeIdx = 0; + seqStart = i2 + 1; + } + this.nodeIdx = nodeIdx; + this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString("ucs2"); + }; + DBCSDecoder.prototype.end = function() { + var ret = ""; + while (this.prevBytes.length > 0) { + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) + ret += this.write(bytesArr); + } + this.prevBytes = []; + this.nodeIdx = 0; + return ret; + }; + function findIdx(table, val2) { + if (table[0] > val2) + return -1; + var l = 0, r = table.length; + while (l < r - 1) { + var mid = l + (r - l + 1 >> 1); + if (table[mid] <= val2) + l = mid; + else + r = mid; + } + return l; + } + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/shiftjis.json +var require_shiftjis = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 128], + ["a1", "\uFF61", 62], + ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], + ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["81fc", "\u25EF"], + ["824f", "\uFF10", 9], + ["8260", "\uFF21", 25], + ["8281", "\uFF41", 25], + ["829f", "\u3041", 82], + ["8340", "\u30A1", 62], + ["8380", "\u30E0", 22], + ["839f", "\u0391", 16, "\u03A3", 6], + ["83bf", "\u03B1", 16, "\u03C3", 6], + ["8440", "\u0410", 5, "\u0401\u0416", 25], + ["8470", "\u0430", 5, "\u0451\u0436", 7], + ["8480", "\u043E", 17], + ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["8740", "\u2460", 19, "\u2160", 9], + ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["877e", "\u337B"], + ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], + ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], + ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], + ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], + ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], + ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], + ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], + ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], + ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], + ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], + ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], + ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], + ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], + ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], + ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], + ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], + ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], + ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], + ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], + ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], + ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], + ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], + ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], + ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], + ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], + ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], + ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], + ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], + ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], + ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], + ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], + ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], + ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], + ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], + ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], + ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["f040", "\uE000", 62], + ["f080", "\uE03F", 124], + ["f140", "\uE0BC", 62], + ["f180", "\uE0FB", 124], + ["f240", "\uE178", 62], + ["f280", "\uE1B7", 124], + ["f340", "\uE234", 62], + ["f380", "\uE273", 124], + ["f440", "\uE2F0", 62], + ["f480", "\uE32F", 124], + ["f540", "\uE3AC", 62], + ["f580", "\uE3EB", 124], + ["f640", "\uE468", 62], + ["f680", "\uE4A7", 124], + ["f740", "\uE524", 62], + ["f780", "\uE563", 124], + ["f840", "\uE5E0", 62], + ["f880", "\uE61F", 124], + ["f940", "\uE69C"], + ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], + ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], + ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], + ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], + ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/eucjp.json +var require_eucjp = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8ea1", "\uFF61", 62], + ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], + ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["a2fe", "\u25EF"], + ["a3b0", "\uFF10", 9], + ["a3c1", "\uFF21", 25], + ["a3e1", "\uFF41", 25], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["ada1", "\u2460", 19, "\u2160", 9], + ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], + ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], + ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], + ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], + ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], + ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], + ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], + ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], + ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], + ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], + ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], + ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], + ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], + ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], + ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], + ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], + ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], + ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], + ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], + ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], + ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], + ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], + ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], + ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], + ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], + ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], + ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], + ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], + ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], + ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], + ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], + ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], + ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], + ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], + ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], + ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], + ["8fa2c2", "\xA1\xA6\xBF"], + ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], + ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], + ["8fa6e7", "\u038C"], + ["8fa6e9", "\u038E\u03AB"], + ["8fa6ec", "\u038F"], + ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], + ["8fa7c2", "\u0402", 10, "\u040E\u040F"], + ["8fa7f2", "\u0452", 10, "\u045E\u045F"], + ["8fa9a1", "\xC6\u0110"], + ["8fa9a4", "\u0126"], + ["8fa9a6", "\u0132"], + ["8fa9a8", "\u0141\u013F"], + ["8fa9ab", "\u014A\xD8\u0152"], + ["8fa9af", "\u0166\xDE"], + ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], + ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], + ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], + ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], + ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], + ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], + ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], + ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], + ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], + ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], + ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], + ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], + ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], + ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], + ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], + ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], + ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], + ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], + ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], + ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], + ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], + ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], + ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], + ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], + ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], + ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], + ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], + ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], + ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], + ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], + ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], + ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], + ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], + ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], + ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], + ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], + ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], + ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], + ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], + ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], + ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], + ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], + ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], + ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], + ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], + ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], + ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], + ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], + ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], + ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], + ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], + ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], + ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], + ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], + ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], + ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], + ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], + ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], + ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], + ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], + ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], + ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], + ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], + ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], + ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], + ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], + ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], + ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp936.json +var require_cp936 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127, "\u20AC"], + ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], + ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], + ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], + ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], + ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], + ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], + ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], + ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], + ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], + ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], + ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], + ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], + ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], + ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], + ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], + ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], + ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], + ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], + ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], + ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], + ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], + ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], + ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], + ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], + ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], + ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], + ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], + ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], + ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], + ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], + ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], + ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], + ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], + ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], + ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], + ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], + ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], + ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], + ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], + ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], + ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], + ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], + ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], + ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], + ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], + ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], + ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], + ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], + ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], + ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], + ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], + ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], + ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], + ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], + ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], + ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], + ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], + ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], + ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], + ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], + ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], + ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], + ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], + ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], + ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], + ["a2a1", "\u2170", 9], + ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], + ["a2e5", "\u3220", 9], + ["a2f1", "\u2160", 11], + ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], + ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], + ["a6f4", "\uFE33\uFE34"], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], + ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], + ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], + ["a8bd", "\u0144\u0148"], + ["a8c0", "\u0261"], + ["a8c5", "\u3105", 36], + ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], + ["a959", "\u2121\u3231"], + ["a95c", "\u2010"], + ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], + ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], + ["a996", "\u3007"], + ["a9a4", "\u2500", 75], + ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], + ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], + ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], + ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], + ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], + ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], + ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], + ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], + ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], + ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], + ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], + ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], + ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], + ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], + ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], + ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], + ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], + ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], + ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], + ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], + ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], + ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], + ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], + ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], + ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], + ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], + ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], + ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], + ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], + ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], + ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], + ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], + ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], + ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], + ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], + ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], + ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], + ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], + ["bd40", "\u7D37", 54, "\u7D6F", 7], + ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], + ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], + ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], + ["bf40", "\u7DFB", 62], + ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], + ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], + ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], + ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], + ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], + ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], + ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], + ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], + ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], + ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], + ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], + ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], + ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], + ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], + ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], + ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], + ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], + ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], + ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], + ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], + ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], + ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], + ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], + ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], + ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], + ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], + ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], + ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], + ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], + ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], + ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], + ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], + ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], + ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], + ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], + ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], + ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], + ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], + ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], + ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], + ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], + ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], + ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], + ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], + ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], + ["d640", "\u8AE4", 34, "\u8B08", 27], + ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], + ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], + ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], + ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], + ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], + ["d940", "\u8CAE", 62], + ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], + ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], + ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], + ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], + ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], + ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], + ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], + ["dd40", "\u8EE5", 62], + ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], + ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], + ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], + ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], + ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], + ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], + ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], + ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], + ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], + ["e240", "\u91E6", 62], + ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], + ["e340", "\u9246", 45, "\u9275", 16], + ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], + ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], + ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], + ["e540", "\u930A", 51, "\u933F", 10], + ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], + ["e640", "\u936C", 34, "\u9390", 27], + ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], + ["e740", "\u93CE", 7, "\u93D7", 54], + ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], + ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], + ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], + ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], + ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], + ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], + ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], + ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], + ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], + ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], + ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], + ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], + ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], + ["ee40", "\u980F", 62], + ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], + ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], + ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], + ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], + ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], + ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], + ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], + ["f240", "\u99FA", 62], + ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], + ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], + ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], + ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], + ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], + ["f540", "\u9B7C", 62], + ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], + ["f640", "\u9BDC", 62], + ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], + ["f740", "\u9C3C", 62], + ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], + ["f840", "\u9CE3", 62], + ["f880", "\u9D22", 32], + ["f940", "\u9D43", 62], + ["f980", "\u9D82", 32], + ["fa40", "\u9DA3", 62], + ["fa80", "\u9DE2", 32], + ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], + ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], + ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], + ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], + ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], + ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], + ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/gbk-added.json +var require_gbk_added = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module2) { + module2.exports = [ + ["a140", "\uE4C6", 62], + ["a180", "\uE505", 32], + ["a240", "\uE526", 62], + ["a280", "\uE565", 32], + ["a2ab", "\uE766", 5], + ["a2e3", "\u20AC\uE76D"], + ["a2ef", "\uE76E\uE76F"], + ["a2fd", "\uE770\uE771"], + ["a340", "\uE586", 62], + ["a380", "\uE5C5", 31, "\u3000"], + ["a440", "\uE5E6", 62], + ["a480", "\uE625", 32], + ["a4f4", "\uE772", 10], + ["a540", "\uE646", 62], + ["a580", "\uE685", 32], + ["a5f7", "\uE77D", 7], + ["a640", "\uE6A6", 62], + ["a680", "\uE6E5", 32], + ["a6b9", "\uE785", 7], + ["a6d9", "\uE78D", 6], + ["a6ec", "\uE794\uE795"], + ["a6f3", "\uE796"], + ["a6f6", "\uE797", 8], + ["a740", "\uE706", 62], + ["a780", "\uE745", 32], + ["a7c2", "\uE7A0", 14], + ["a7f2", "\uE7AF", 12], + ["a896", "\uE7BC", 10], + ["a8bc", "\u1E3F"], + ["a8bf", "\u01F9"], + ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], + ["a8ea", "\uE7CD", 20], + ["a958", "\uE7E2"], + ["a95b", "\uE7E3"], + ["a95d", "\uE7E4\uE7E5\uE7E6"], + ["a989", "\u303E\u2FF0", 11], + ["a997", "\uE7F4", 12], + ["a9f0", "\uE801", 14], + ["aaa1", "\uE000", 93], + ["aba1", "\uE05E", 93], + ["aca1", "\uE0BC", 93], + ["ada1", "\uE11A", 93], + ["aea1", "\uE178", 93], + ["afa1", "\uE1D6", 93], + ["d7fa", "\uE810", 4], + ["f8a1", "\uE234", 93], + ["f9a1", "\uE292", 93], + ["faa1", "\uE2F0", 93], + ["fba1", "\uE34E", 93], + ["fca1", "\uE3AC", 93], + ["fda1", "\uE40A", 93], + ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], + ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], + ["8135f437", "\uE7C7"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +var require_gb18030_ranges = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module2) { + module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp949.json +var require_cp949 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], + ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], + ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], + ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], + ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], + ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], + ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], + ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], + ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], + ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], + ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], + ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], + ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], + ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], + ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], + ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], + ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], + ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], + ["8741", "\uB19E", 9, "\uB1A9", 15], + ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], + ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], + ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], + ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], + ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], + ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], + ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], + ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], + ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], + ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], + ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], + ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], + ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], + ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], + ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], + ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], + ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], + ["8d41", "\uB6C3", 16, "\uB6D5", 8], + ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], + ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], + ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], + ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], + ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], + ["8f41", "\uB885", 7, "\uB88E", 17], + ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], + ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], + ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], + ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], + ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], + ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], + ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], + ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], + ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], + ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], + ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], + ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], + ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], + ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], + ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], + ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], + ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], + ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], + ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], + ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], + ["9641", "\uBEB8", 23, "\uBED2\uBED3"], + ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], + ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], + ["9741", "\uBF83", 16, "\uBF95", 8], + ["9761", "\uBF9E", 17, "\uBFB1", 7], + ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], + ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], + ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], + ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], + ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], + ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], + ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], + ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], + ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], + ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], + ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], + ["9b61", "\uC333", 17, "\uC346", 7], + ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], + ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], + ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], + ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], + ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], + ["9d61", "\uC4C6", 25], + ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], + ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], + ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], + ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], + ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], + ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], + ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], + ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], + ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], + ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], + ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], + ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], + ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], + ["a241", "\uC910\uC912", 5, "\uC919", 18], + ["a261", "\uC92D", 6, "\uC935", 18], + ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], + ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], + ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], + ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], + ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], + ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], + ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], + ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], + ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], + ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], + ["a5b0", "\u2160", 9], + ["a5c1", "\u0391", 16, "\u03A3", 6], + ["a5e1", "\u03B1", 16, "\u03C3", 6], + ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], + ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], + ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], + ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], + ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], + ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], + ["a841", "\uCB6D", 10, "\uCB7A", 14], + ["a861", "\uCB89", 18, "\uCB9D", 6], + ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], + ["a8a6", "\u0132"], + ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], + ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], + ["a941", "\uCBC5", 14, "\uCBD5", 10], + ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], + ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], + ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], + ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], + ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], + ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], + ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], + ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], + ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], + ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], + ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], + ["acd1", "\u0430", 5, "\u0451\u0436", 25], + ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], + ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], + ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], + ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], + ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], + ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], + ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], + ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], + ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], + ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], + ["b061", "\uCEBB", 5, "\uCEC2", 19], + ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], + ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], + ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], + ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], + ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], + ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], + ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], + ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], + ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], + ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], + ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], + ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], + ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], + ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], + ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], + ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], + ["b641", "\uD105", 7, "\uD10E", 17], + ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], + ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], + ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], + ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], + ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], + ["b841", "\uD1D0", 7, "\uD1D9", 17], + ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], + ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], + ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], + ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], + ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], + ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], + ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], + ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], + ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], + ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], + ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], + ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], + ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], + ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], + ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], + ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], + ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], + ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], + ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], + ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], + ["bf41", "\uD49E", 10, "\uD4AA", 14], + ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], + ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], + ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], + ["c061", "\uD51E", 25], + ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], + ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], + ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], + ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], + ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], + ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], + ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], + ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], + ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], + ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], + ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], + ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], + ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], + ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], + ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], + ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], + ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], + ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], + ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], + ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], + ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], + ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], + ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], + ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], + ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], + ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], + ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], + ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], + ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], + ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], + ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], + ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], + ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], + ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], + ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], + ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], + ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], + ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], + ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], + ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], + ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], + ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], + ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], + ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], + ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], + ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], + ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], + ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], + ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], + ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], + ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], + ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], + ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], + ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], + ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], + ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], + ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], + ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], + ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], + ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], + ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], + ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], + ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], + ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], + ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], + ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], + ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], + ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], + ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], + ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], + ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], + ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/cp950.json +var require_cp950 = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module2) { + module2.exports = [ + ["0", "\0", 127], + ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], + ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], + ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], + ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], + ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], + ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], + ["a3e1", "\u20AC"], + ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], + ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], + ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], + ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], + ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], + ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], + ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], + ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], + ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], + ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], + ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], + ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], + ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], + ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], + ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], + ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], + ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], + ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], + ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], + ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], + ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], + ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], + ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], + ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], + ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], + ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], + ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], + ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], + ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], + ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], + ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], + ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], + ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], + ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], + ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], + ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], + ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], + ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], + ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], + ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], + ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], + ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], + ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], + ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], + ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], + ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], + ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], + ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], + ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], + ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], + ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], + ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], + ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], + ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], + ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], + ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], + ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], + ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], + ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], + ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], + ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], + ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], + ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], + ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], + ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], + ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], + ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], + ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], + ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], + ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], + ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], + ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], + ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], + ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], + ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], + ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], + ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], + ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], + ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], + ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], + ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], + ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], + ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], + ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], + ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], + ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], + ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], + ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], + ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], + ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], + ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], + ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], + ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], + ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], + ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], + ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], + ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], + ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], + ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], + ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], + ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], + ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], + ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], + ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], + ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], + ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], + ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], + ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], + ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], + ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], + ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], + ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], + ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], + ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], + ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], + ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], + ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], + ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], + ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], + ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], + ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], + ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], + ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], + ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], + ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], + ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], + ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], + ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], + ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], + ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], + ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], + ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], + ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], + ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], + ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], + ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], + ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], + ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], + ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], + ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], + ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], + ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], + ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], + ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], + ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], + ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], + ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], + ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], + ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], + ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], + ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], + ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], + ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], + ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], + ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], + ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], + ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], + ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], + ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], + ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], + ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], + ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], + ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], + ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], + ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], + ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], + ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/tables/big5-added.json +var require_big5_added = __commonJS({ + "../../../node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module2) { + module2.exports = [ + ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], + ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], + ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], + ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], + ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], + ["8940", "\u{2A3A9}\u{21145}"], + ["8943", "\u650A"], + ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], + ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], + ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], + ["89ab", "\u918C\u78B8\u915E\u80BC"], + ["89b0", "\u8D0B\u80F6\u{209E7}"], + ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], + ["89c1", "\u6E9A\u823E\u7519"], + ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], + ["8a40", "\u{27D84}\u5525"], + ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], + ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], + ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], + ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], + ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], + ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], + ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], + ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], + ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], + ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], + ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], + ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], + ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], + ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], + ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], + ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], + ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], + ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], + ["8cc9", "\u9868\u676B\u4276\u573D"], + ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], + ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], + ["8d40", "\u{20B9F}"], + ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], + ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], + ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], + ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], + ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], + ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], + ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], + ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], + ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], + ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], + ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], + ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], + ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], + ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], + ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], + ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], + ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], + ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], + ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], + ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], + ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], + ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], + ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], + ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], + ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], + ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], + ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], + ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], + ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], + ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], + ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], + ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], + ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], + ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], + ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], + ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], + ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], + ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], + ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], + ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], + ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], + ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], + ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], + ["9fae", "\u9159\u9681\u915C"], + ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], + ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], + ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], + ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], + ["9fe7", "\u6BFA\u8818\u7F78"], + ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], + ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], + ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], + ["a055", "\u{2183B}\u{26E05}"], + ["a058", "\u8A7E\u{2251B}"], + ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], + ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], + ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], + ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], + ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], + ["a0ae", "\u77FE"], + ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], + ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], + ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], + ["a3c0", "\u2400", 31, "\u2421"], + ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], + ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], + ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], + ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], + ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], + ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], + ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], + ["f9fe", "\uFFED"], + ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], + ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], + ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], + ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], + ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], + ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], + ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], + ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], + ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], + ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] + ]; + } +}); + +// ../../../node_modules/iconv-lite/encodings/dbcs-data.js +var require_dbcs_data = __commonJS({ + "../../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module2) { + "use strict"; + module2.exports = { + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + "shiftjis": { + type: "_dbcs", + table: function() { + return require_shiftjis(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 }, + encodeSkipVals: [{ from: 60736, to: 63808 }] + }, + "csshiftjis": "shiftjis", + "mskanji": "shiftjis", + "sjis": "shiftjis", + "windows31j": "shiftjis", + "ms31j": "shiftjis", + "xsjis": "shiftjis", + "windows932": "shiftjis", + "ms932": "shiftjis", + "932": "shiftjis", + "cp932": "shiftjis", + "eucjp": { + type: "_dbcs", + table: function() { + return require_eucjp(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 } + }, + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + "gb2312": "cp936", + "gb231280": "cp936", + "gb23121980": "cp936", + "csgb2312": "cp936", + "csiso58gb231280": "cp936", + "euccn": "cp936", + // Microsoft's CP936 is a subset and approximation of GBK. + "windows936": "cp936", + "ms936": "cp936", + "936": "cp936", + "cp936": { + type: "_dbcs", + table: function() { + return require_cp936(); + } + }, + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + "gbk": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + } + }, + "xgbk": "gbk", + "isoir58": "gbk", + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + "gb18030": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + }, + gb18030: function() { + return require_gb18030_ranges(); + }, + encodeSkipVals: [128], + encodeAdd: { "\u20AC": 41699 } + }, + "chinese": "gb18030", + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + "windows949": "cp949", + "ms949": "cp949", + "949": "cp949", + "cp949": { + type: "_dbcs", + table: function() { + return require_cp949(); + } + }, + "cseuckr": "cp949", + "csksc56011987": "cp949", + "euckr": "cp949", + "isoir149": "cp949", + "korean": "cp949", + "ksc56011987": "cp949", + "ksc56011989": "cp949", + "ksc5601": "cp949", + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + "windows950": "cp950", + "ms950": "cp950", + "950": "cp950", + "cp950": { + type: "_dbcs", + table: function() { + return require_cp950(); + } + }, + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + "big5": "big5hkscs", + "big5hkscs": { + type: "_dbcs", + table: function() { + return require_cp950().concat(require_big5_added()); + }, + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 36457, + 36463, + 36478, + 36523, + 36532, + 36557, + 36560, + 36695, + 36713, + 36718, + 36811, + 36862, + 36973, + 36986, + 37060, + 37084, + 37105, + 37311, + 37551, + 37552, + 37553, + 37554, + 37585, + 37959, + 38090, + 38361, + 38652, + 39285, + 39798, + 39800, + 39803, + 39878, + 39902, + 39916, + 39926, + 40002, + 40019, + 40034, + 40040, + 40043, + 40055, + 40124, + 40125, + 40144, + 40279, + 40282, + 40388, + 40431, + 40443, + 40617, + 40687, + 40701, + 40800, + 40907, + 41079, + 41180, + 41183, + 36812, + 37576, + 38468, + 38637, + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 41636, + 41637, + 41639, + 41638, + 41676, + 41678 + ] + }, + "cnbig5": "big5hkscs", + "csbig5": "big5hkscs", + "xxbig5": "big5hkscs" + }; + } +}); + +// ../../../node_modules/iconv-lite/encodings/index.js +var require_encodings = __commonJS({ + "../../../node_modules/iconv-lite/encodings/index.js"(exports, module2) { + "use strict"; + var modules = [ + require_internal(), + require_utf32(), + require_utf16(), + require_utf7(), + require_sbcs_codec(), + require_sbcs_data(), + require_sbcs_data_generated(), + require_dbcs_codec(), + require_dbcs_data() + ]; + for (i = 0; i < modules.length; i++) { + module2 = modules[i]; + for (enc in module2) + if (Object.prototype.hasOwnProperty.call(module2, enc)) + exports[enc] = module2[enc]; + } + var module2; + var enc; + var i; + } +}); + +// ../../../node_modules/iconv-lite/lib/streams.js +var require_streams = __commonJS({ + "../../../node_modules/iconv-lite/lib/streams.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = function(stream_module) { + var Transform = stream_module.Transform; + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; + Transform.call(this, options); + } + IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != "string") + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) + this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) + this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on("error", cb); + this.on("data", function(chunk) { + chunks.push(chunk); + }); + this.on("end", function() { + cb(null, Buffer2.concat(chunks)); + }); + return this; + }; + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = "utf8"; + Transform.call(this, options); + } + IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) + this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) + this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ""; + this.on("error", cb); + this.on("data", function(chunk) { + res += chunk; + }); + this.on("end", function() { + cb(null, res); + }); + return this; + }; + return { + IconvLiteEncoderStream, + IconvLiteDecoderStream + }; + }; + } +}); + +// ../../../node_modules/iconv-lite/lib/index.js +var require_lib3 = __commonJS({ + "../../../node_modules/iconv-lite/lib/index.js"(exports, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + var bomHandling = require_bom_handling(); + var iconv = module2.exports; + iconv.encodings = null; + iconv.defaultCharUnicode = "\uFFFD"; + iconv.defaultCharSingleByte = "?"; + iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); + var encoder = iconv.getEncoder(encoding, options); + var res = encoder.write(str); + var trail = encoder.end(); + return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; + }; + iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === "string") { + if (!iconv.skipDecodeWarning) { + console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); + iconv.skipDecodeWarning = true; + } + buf = Buffer2.from("" + (buf || ""), "binary"); + } + var decoder = iconv.getDecoder(encoding, options); + var res = decoder.write(buf); + var trail = decoder.end(); + return trail ? res + trail : res; + }; + iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; + } + }; + iconv.toEncoding = iconv.encode; + iconv.fromEncoding = iconv.decode; + iconv._codecDataCache = {}; + iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = require_encodings(); + var enc = iconv._canonicalizeEncoding(encoding); + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + var codecDef = iconv.encodings[enc]; + switch (typeof codecDef) { + case "string": + enc = codecDef; + break; + case "object": + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + enc = codecDef.type; + break; + case "function": + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + codec = new codecDef(codecOptions, iconv); + iconv._codecDataCache[codecOptions.encodingName] = codec; + return codec; + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); + } + } + }; + iconv._canonicalizeEncoding = function(encoding) { + return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); + }; + iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + return encoder; + }; + iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + return decoder; + }; + iconv.enableStreamingAPI = function enableStreamingAPI(stream_module2) { + if (iconv.supportsStreams) + return; + var streams = require_streams()(stream_module2); + iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + iconv.encodeStream = function encodeStream(encoding, options) { + return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); + }; + iconv.decodeStream = function decodeStream(encoding, options) { + return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); + }; + iconv.supportsStreams = true; + }; + var stream_module; + try { + stream_module = require("stream"); + } catch (e) { + } + if (stream_module && stream_module.Transform) { + iconv.enableStreamingAPI(stream_module); + } else { + iconv.encodeStream = iconv.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; + } + if (false) { + console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); + } + } +}); + +// ../../../node_modules/encoding/lib/encoding.js +var require_encoding = __commonJS({ + "../../../node_modules/encoding/lib/encoding.js"(exports, module2) { + "use strict"; + var iconvLite = require_lib3(); + module2.exports.convert = convert; + function convert(str, to, from) { + from = checkEncoding(from || "UTF-8"); + to = checkEncoding(to || "UTF-8"); + str = str || ""; + var result; + if (from !== "UTF-8" && typeof str === "string") { + str = Buffer.from(str, "binary"); + } + if (from === to) { + if (typeof str === "string") { + result = Buffer.from(str); + } else { + result = str; + } + } else { + try { + result = convertIconvLite(str, to, from); + } catch (E) { + console.error(E); + result = str; + } + } + if (typeof result === "string") { + result = Buffer.from(result, "utf-8"); + } + return result; + } + function convertIconvLite(str, to, from) { + if (to === "UTF-8") { + return iconvLite.decode(str, from); + } else if (from === "UTF-8") { + return iconvLite.encode(str, to); + } else { + return iconvLite.encode(iconvLite.decode(str, from), to); + } + } + function checkEncoding(name) { + return (name || "").toString().trim().replace(/^latin[\-_]?(\d+)$/i, "ISO-8859-$1").replace(/^win(?:dows)?[\-_]?(\d+)$/i, "WINDOWS-$1").replace(/^utf[\-_]?(\d+)$/i, "UTF-$1").replace(/^ks_c_5601\-1987$/i, "CP949").replace(/^us[\-_]?ascii$/i, "ASCII").toUpperCase(); + } + } +}); + +// ../../../node_modules/node-fetch/lib/index.js +var require_lib4 = __commonJS({ + "../../../node_modules/node-fetch/lib/index.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function _interopDefault(ex) { + return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex; + } + var Stream = _interopDefault(require("stream")); + var http = _interopDefault(require("http")); + var Url = _interopDefault(require("url")); + var whatwgUrl = _interopDefault(require_public_api()); + var https2 = _interopDefault(require("https")); + var zlib = _interopDefault(require("zlib")); + var Readable = Stream.Readable; + var BUFFER = Symbol("buffer"); + var TYPE = Symbol("type"); + var Blob = class _Blob { + constructor() { + this[TYPE] = ""; + const blobParts = arguments[0]; + const options = arguments[1]; + const buffers = []; + let size = 0; + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof _Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === "string" ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + this[BUFFER] = Buffer.concat(buffers); + let type = options && options.type !== void 0 && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function() { + }; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return "[object Blob]"; + } + slice() { + const size = this.size; + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === void 0) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === void 0) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new _Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } + }; + Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } + }); + Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: "Blob", + writable: false, + enumerable: false, + configurable: true + }); + function FetchError(message, type, systemError) { + Error.call(this, message); + this.message = message; + this.type = type; + if (systemError) { + this.code = this.errno = systemError.code; + } + Error.captureStackTrace(this, this.constructor); + } + FetchError.prototype = Object.create(Error.prototype); + FetchError.prototype.constructor = FetchError; + FetchError.prototype.name = "FetchError"; + var convert; + try { + convert = require_encoding().convert; + } catch (e) { + } + var INTERNALS = Symbol("Body internals"); + var PassThrough = Stream.PassThrough; + function Body(body) { + var _this = this; + var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size; + let size = _ref$size === void 0 ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; + if (body == null) { + body = null; + } else if (isURLSearchParams(body)) { + body = Buffer.from(body.toString()); + } else if (isBlob(body)) + ; + else if (Buffer.isBuffer(body)) + ; + else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") { + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) + ; + else { + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + if (body instanceof Stream) { + body.on("error", function(err) { + const error = err.name === "AbortError" ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, "system", err); + _this[INTERNALS].error = error; + }); + } + } + Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function(buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get("content-type") || ""; + return consumeBody.call(this).then(function(buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), + { + [BUFFER]: buf + } + ); + }); + }, + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + return consumeBody.call(this).then(function(buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, "invalid-json")); + } + }); + }, + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function(buffer) { + return buffer.toString(); + }); + }, + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + return consumeBody.call(this).then(function(buffer) { + return convertBody(buffer, _this3.headers); + }); + } + }; + Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } + }); + Body.mixIn = function(proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } + }; + function consumeBody() { + var _this4 = this; + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + this[INTERNALS].disturbed = true; + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + let body = this.body; + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + if (isBlob(body)) { + body = body.stream(); + } + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + let accum = []; + let accumBytes = 0; + let abort = false; + return new Body.Promise(function(resolve, reject) { + let resTimeout; + if (_this4.timeout) { + resTimeout = setTimeout(function() { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout")); + }, _this4.timeout); + } + body.on("error", function(err) { + if (err.name === "AbortError") { + abort = true; + reject(err); + } else { + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, "system", err)); + } + }); + body.on("data", function(chunk) { + if (abort || chunk === null) { + return; + } + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size")); + return; + } + accumBytes += chunk.length; + accum.push(chunk); + }); + body.on("end", function() { + if (abort) { + return; + } + clearTimeout(resTimeout); + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err)); + } + }); + }); + } + function convertBody(buffer, headers) { + if (typeof convert !== "function") { + throw new Error("The package `encoding` must be installed to use the textConverted() function"); + } + const ct = headers.get("content-type"); + let charset = "utf-8"; + let res, str; + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + str = buffer.slice(0, 1024).toString(); + if (!res && str) { + res = / 0 && arguments[0] !== void 0 ? arguments[0] : void 0; + this[MAP] = /* @__PURE__ */ Object.create(null); + if (init instanceof _Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + return; + } + if (init == null) + ; + else if (typeof init === "object") { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== "function") { + throw new TypeError("Header pairs must be iterable"); + } + const pairs = []; + for (const pair of init) { + if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") { + throw new TypeError("Each header pair must be iterable"); + } + pairs.push(Array.from(pair)); + } + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError("Each header pair must be a name/value tuple"); + } + this.append(pair[0], pair[1]); + } + } else { + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError("Provided initializer must be an object"); + } + } + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === void 0) { + return null; + } + return this[MAP][key].join(", "); + } + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], value = _pairs$i[1]; + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== void 0 ? key : name] = [value]; + } + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== void 0) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== void 0; + } + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== void 0) { + delete this[MAP][key]; + } + } + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, "key"); + } + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, "value"); + } + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, "key+value"); + } + }; + Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: "Headers", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } + }); + function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value"; + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === "key" ? function(k) { + return k.toLowerCase(); + } : kind === "value" ? function(k) { + return headers[MAP][k].join(", "); + } : function(k) { + return [k.toLowerCase(), headers[MAP][k].join(", ")]; + }); + } + var INTERNAL = Symbol("internal"); + function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; + } + var HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError("Value of `this` is not a HeadersIterator"); + } + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index; + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: void 0, + done: true + }; + } + this[INTERNAL].index = index + 1; + return { + value: values[index], + done: false + }; + } + }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: "HeadersIterator", + writable: false, + enumerable: false, + configurable: true + }); + function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + const hostHeaderKey = find(headers[MAP], "Host"); + if (hostHeaderKey !== void 0) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + return obj; + } + function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val2 of obj[name]) { + if (invalidHeaderCharRegex.test(val2)) { + continue; + } + if (headers[MAP][name] === void 0) { + headers[MAP][name] = [val2]; + } else { + headers[MAP][name].push(val2); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; + } + var INTERNALS$1 = Symbol("Response internals"); + var STATUS_CODES = http.STATUS_CODES; + var Response2 = class _Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + Body.call(this, body, opts); + const status = opts.status || 200; + const headers = new Headers(opts.headers); + if (body != null && !headers.has("Content-Type")) { + const contentType = extractContentType(body); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + get url() { + return this[INTERNALS$1].url || ""; + } + get status() { + return this[INTERNALS$1].status; + } + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + get redirected() { + return this[INTERNALS$1].counter > 0; + } + get statusText() { + return this[INTERNALS$1].statusText; + } + get headers() { + return this[INTERNALS$1].headers; + } + /** + * Clone this response + * + * @return Response + */ + clone() { + return new _Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } + }; + Body.mixIn(Response2.prototype); + Object.defineProperties(Response2.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } + }); + Object.defineProperty(Response2.prototype, Symbol.toStringTag, { + value: "Response", + writable: false, + enumerable: false, + configurable: true + }); + var INTERNALS$2 = Symbol("Request internals"); + var URL3 = Url.URL || whatwgUrl.URL; + var parse_url = Url.parse; + var format_url = Url.format; + function parseURL(urlStr) { + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL3(urlStr).toString(); + } + return parse_url(urlStr); + } + var streamDestructionSupported = "destroy" in Stream.Readable.prototype; + function isRequest(input) { + return typeof input === "object" && typeof input[INTERNALS$2] === "object"; + } + function isAbortSignal(signal) { + const proto = signal && typeof signal === "object" && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === "AbortSignal"); + } + var Request = class _Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + let parsedURL; + if (!isRequest(input)) { + if (input && input.href) { + parsedURL = parseURL(input.href); + } else { + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + let method = init.method || input.method || "GET"; + method = method.toUpperCase(); + if ((init.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body"); + } + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + const headers = new Headers(init.headers || input.headers || {}); + if (inputBody != null && !headers.has("Content-Type")) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append("Content-Type", contentType); + } + } + let signal = isRequest(input) ? input.signal : null; + if ("signal" in init) + signal = init.signal; + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError("Expected signal to be an instanceof AbortSignal"); + } + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || "follow", + headers, + parsedURL, + signal + }; + this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; + this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + get method() { + return this[INTERNALS$2].method; + } + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + get headers() { + return this[INTERNALS$2].headers; + } + get redirect() { + return this[INTERNALS$2].redirect; + } + get signal() { + return this[INTERNALS$2].signal; + } + /** + * Clone this request + * + * @return Request + */ + clone() { + return new _Request(this); + } + }; + Body.mixIn(Request.prototype); + Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: "Request", + writable: false, + enumerable: false, + configurable: true + }); + Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } + }); + function getNodeRequestOptions(request2) { + const parsedURL = request2[INTERNALS$2].parsedURL; + const headers = new Headers(request2[INTERNALS$2].headers); + if (!headers.has("Accept")) { + headers.set("Accept", "*/*"); + } + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError("Only absolute URLs are supported"); + } + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError("Only HTTP(S) protocols are supported"); + } + if (request2.signal && request2.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8"); + } + let contentLengthValue = null; + if (request2.body == null && /^(POST|PUT)$/i.test(request2.method)) { + contentLengthValue = "0"; + } + if (request2.body != null) { + const totalBytes = getTotalBytes(request2); + if (typeof totalBytes === "number") { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set("Content-Length", contentLengthValue); + } + if (!headers.has("User-Agent")) { + headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"); + } + if (request2.compress && !headers.has("Accept-Encoding")) { + headers.set("Accept-Encoding", "gzip,deflate"); + } + let agent = request2.agent; + if (typeof agent === "function") { + agent = agent(parsedURL); + } + if (!headers.has("Connection") && !agent) { + headers.set("Connection", "close"); + } + return Object.assign({}, parsedURL, { + method: request2.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); + } + function AbortError(message) { + Error.call(this, message); + this.type = "aborted"; + this.message = message; + Error.captureStackTrace(this, this.constructor); + } + AbortError.prototype = Object.create(Error.prototype); + AbortError.prototype.constructor = AbortError; + AbortError.prototype.name = "AbortError"; + var URL$1 = Url.URL || whatwgUrl.URL; + var PassThrough$1 = Stream.PassThrough; + var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest); + }; + var isSameProtocol = function isSameProtocol2(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + return orig === dest; + }; + function fetch2(url2, opts) { + if (!fetch2.Promise) { + throw new Error("native promise missing, set fetch.Promise to your favorite alternative"); + } + Body.Promise = fetch2.Promise; + return new fetch2.Promise(function(resolve, reject) { + const request2 = new Request(url2, opts); + const options = getNodeRequestOptions(request2); + const send = (options.protocol === "https:" ? https2 : http).request; + const signal = request2.signal; + let response = null; + const abort = function abort2() { + let error = new AbortError("The user aborted a request."); + reject(error); + if (request2.body && request2.body instanceof Stream.Readable) { + destroyStream(request2.body, error); + } + if (!response || !response.body) + return; + response.body.emit("error", error); + }; + if (signal && signal.aborted) { + abort(); + return; + } + const abortAndFinalize = function abortAndFinalize2() { + abort(); + finalize(); + }; + const req = send(options); + let reqTimeout; + if (signal) { + signal.addEventListener("abort", abortAndFinalize); + } + function finalize() { + req.abort(); + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + clearTimeout(reqTimeout); + } + if (request2.timeout) { + req.once("socket", function(socket) { + reqTimeout = setTimeout(function() { + reject(new FetchError(`network timeout at: ${request2.url}`, "request-timeout")); + finalize(); + }, request2.timeout); + }); + } + req.on("error", function(err) { + reject(new FetchError(`request to ${request2.url} failed, reason: ${err.message}`, "system", err)); + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); + }); + fixResponseChunkedTransferBadEnding(req, function(err) { + if (signal && signal.aborted) { + return; + } + if (response && response.body) { + destroyStream(response.body, err); + } + }); + if (parseInt(process.version.substring(1)) < 14) { + req.on("socket", function(s) { + s.addListener("close", function(hadError) { + const hasDataListener = s.listenerCount("data") > 0; + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + response.body.emit("error", err); + } + }); + }); + } + req.on("response", function(res) { + clearTimeout(reqTimeout); + const headers = createHeadersLenient(res.headers); + if (fetch2.isRedirect(res.statusCode)) { + const location = headers.get("Location"); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request2.url).toString(); + } catch (err) { + if (request2.redirect !== "manual") { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect")); + finalize(); + return; + } + } + switch (request2.redirect) { + case "error": + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request2.url}`, "no-redirect")); + finalize(); + return; + case "manual": + if (locationURL !== null) { + try { + headers.set("Location", locationURL); + } catch (err) { + reject(err); + } + } + break; + case "follow": + if (locationURL === null) { + break; + } + if (request2.counter >= request2.follow) { + reject(new FetchError(`maximum redirect reached at: ${request2.url}`, "max-redirect")); + finalize(); + return; + } + const requestOpts = { + headers: new Headers(request2.headers), + follow: request2.follow, + counter: request2.counter + 1, + agent: request2.agent, + compress: request2.compress, + method: request2.method, + body: request2.body, + signal: request2.signal, + timeout: request2.timeout, + size: request2.size + }; + if (!isDomainOrSubdomain(request2.url, locationURL) || !isSameProtocol(request2.url, locationURL)) { + for (const name of ["authorization", "www-authenticate", "cookie", "cookie2"]) { + requestOpts.headers.delete(name); + } + } + if (res.statusCode !== 303 && request2.body && getTotalBytes(request2) === null) { + reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); + finalize(); + return; + } + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request2.method === "POST") { + requestOpts.method = "GET"; + requestOpts.body = void 0; + requestOpts.headers.delete("content-length"); + } + resolve(fetch2(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + res.once("end", function() { + if (signal) + signal.removeEventListener("abort", abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + const response_options = { + url: request2.url, + status: res.statusCode, + statusText: res.statusMessage, + headers, + size: request2.size, + timeout: request2.timeout, + counter: request2.counter + }; + const codings = headers.get("Content-Encoding"); + if (!request2.compress || request2.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response2(body, response_options); + resolve(response); + return; + } + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + if (codings == "gzip" || codings == "x-gzip") { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response2(body, response_options); + resolve(response); + return; + } + if (codings == "deflate" || codings == "x-deflate") { + const raw = res.pipe(new PassThrough$1()); + raw.once("data", function(chunk) { + if ((chunk[0] & 15) === 8) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response2(body, response_options); + resolve(response); + }); + raw.on("end", function() { + if (!response) { + response = new Response2(body, response_options); + resolve(response); + } + }); + return; + } + if (codings == "br" && typeof zlib.createBrotliDecompress === "function") { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response2(body, response_options); + resolve(response); + return; + } + response = new Response2(body, response_options); + resolve(response); + }); + writeToStream(req, request2); + }); + } + function fixResponseChunkedTransferBadEnding(request2, errorCallback) { + let socket; + request2.on("socket", function(s) { + socket = s; + }); + request2.on("response", function(response) { + const headers = response.headers; + if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) { + response.once("close", function(hadError) { + const hasDataListener = socket && socket.listenerCount("data") > 0; + if (hasDataListener && !hadError) { + const err = new Error("Premature close"); + err.code = "ERR_STREAM_PREMATURE_CLOSE"; + errorCallback(err); + } + }); + } + }); + } + function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + stream.emit("error", err); + stream.end(); + } + } + fetch2.isRedirect = function(code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + }; + fetch2.Promise = global.Promise; + module2.exports = exports = fetch2; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = exports; + exports.Headers = Headers; + exports.Request = Request; + exports.Response = Response2; + exports.FetchError = FetchError; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/client-names.ts +var CLIENT_NAMES; +var init_client_names = __esm({ + "../sdk-v2-to-v3-adapter/lib/client-names.ts"() { + "use strict"; + CLIENT_NAMES = [ + "ACM", + "ACMPCA", + "APIGateway", + "ARCZonalShift", + "AccessAnalyzer", + "Account", + "AlexaForBusiness", + "Amp", + "Amplify", + "AmplifyBackend", + "AmplifyUIBuilder", + "ApiGatewayManagementApi", + "ApiGatewayV2", + "AppConfig", + "AppConfigData", + "AppIntegrations", + "AppMesh", + "AppRunner", + "AppStream", + "AppSync", + "Appflow", + "ApplicationAutoScaling", + "ApplicationCostProfiler", + "ApplicationInsights", + "Athena", + "AuditManager", + "AugmentedAIRuntime", + "AutoScaling", + "AutoScalingPlans", + "Backup", + "BackupGateway", + "BackupStorage", + "Batch", + "Billingconductor", + "Braket", + "Budgets", + "CUR", + "Chime", + "ChimeSDKIdentity", + "ChimeSDKMediaPipelines", + "ChimeSDKMeetings", + "ChimeSDKMessaging", + "ChimeSDKVoice", + "Cloud9", + "CloudControl", + "CloudDirectory", + "CloudFormation", + "CloudFront", + "CloudHSM", + "CloudHSMV2", + "CloudSearch", + "CloudSearchDomain", + "CloudTrail", + "CloudWatch", + "CloudWatchEvents", + "CloudWatchLogs", + "CodeArtifact", + "CodeBuild", + "CodeCatalyst", + "CodeCommit", + "CodeDeploy", + "CodeGuruProfiler", + "CodeGuruReviewer", + "CodePipeline", + "CodeStar", + "CodeStarNotifications", + "CodeStarconnections", + "CognitoIdentity", + "CognitoIdentityServiceProvider", + "CognitoSync", + "Comprehend", + "ComprehendMedical", + "ComputeOptimizer", + "ConfigService", + "Connect", + "ConnectCampaigns", + "ConnectCases", + "ConnectContactLens", + "ConnectParticipant", + "ControlTower", + "CostExplorer", + "CustomerProfiles", + "DAX", + "DLM", + "DMS", + "DataBrew", + "DataExchange", + "DataPipeline", + "DataSync", + "Detective", + "DevOpsGuru", + "DeviceFarm", + "DirectConnect", + "DirectoryService", + "Discovery", + "DocDB", + "DocDBElastic", + "Drs", + "DynamoDB", + "DynamoDBStreams", + "EBS", + "EC2", + "EC2InstanceConnect", + "ECR", + "ECRPUBLIC", + "ECS", + "EFS", + "EKS", + "ELB", + "ELBv2", + "EMR", + "EMRServerless", + "EMRcontainers", + "ES", + "ElastiCache", + "ElasticBeanstalk", + "ElasticInference", + "ElasticTranscoder", + "EventBridge", + "Evidently", + "FMS", + "FSx", + "Finspace", + "Finspacedata", + "Firehose", + "Fis", + "ForecastQueryService", + "ForecastService", + "FraudDetector", + "GameLift", + "GameSparks", + "Glacier", + "GlobalAccelerator", + "Glue", + "Grafana", + "Greengrass", + "GreengrassV2", + "GroundStation", + "GuardDuty", + "Health", + "HealthLake", + "Honeycode", + "IAM", + "IVS", + "IdentityStore", + "Imagebuilder", + "Inspector", + "Inspector2", + "IoT1ClickDevicesService", + "IoT1ClickProjects", + "IoTAnalytics", + "IoTEvents", + "IoTEventsData", + "IoTFleetHub", + "IoTFleetWise", + "IoTJobsDataPlane", + "IoTRoboRunner", + "IoTSecureTunneling", + "IoTSiteWise", + "IoTThingsGraph", + "IoTTwinMaker", + "IoTWireless", + "Iot", + "IotData", + "IotDeviceAdvisor", + "Ivschat", + "KMS", + "Kafka", + "KafkaConnect", + "Kendra", + "Keyspaces", + "Kinesis", + "KinesisAnalytics", + "KinesisAnalyticsV2", + "KinesisVideo", + "KinesisVideoArchivedMedia", + "KinesisVideoMedia", + "KinesisVideoSignalingChannels", + "KinesisVideoWebRTCStorage", + "LakeFormation", + "Lambda", + "LexModelBuildingService", + "LexModelsV2", + "LexRuntime", + "LexRuntimeV2", + "LicenseManager", + "LicenseManagerLinuxSubscriptions", + "LicenseManagerUserSubscriptions", + "Lightsail", + "Location", + "LookoutEquipment", + "LookoutMetrics", + "LookoutVision", + "M2", + "MQ", + "MTurk", + "MWAA", + "MachineLearning", + "Macie", + "Macie2", + "ManagedBlockchain", + "MarketplaceCatalog", + "MarketplaceCommerceAnalytics", + "MarketplaceEntitlementService", + "MarketplaceMetering", + "MediaConnect", + "MediaConvert", + "MediaLive", + "MediaPackage", + "MediaPackageVod", + "MediaStore", + "MediaStoreData", + "MediaTailor", + "MemoryDB", + "Mgn", + "MigrationHub", + "MigrationHubConfig", + "MigrationHubOrchestrator", + "MigrationHubRefactorSpaces", + "MigrationHubStrategy", + "Mobile", + "Neptune", + "NetworkFirewall", + "NetworkManager", + "Nimble", + "OAM", + "Omics", + "OpenSearch", + "OpenSearchServerless", + "OpsWorks", + "OpsWorksCM", + "Organizations", + "Outposts", + "PI", + "Panorama", + "Personalize", + "PersonalizeEvents", + "PersonalizeRuntime", + "Pinpoint", + "PinpointEmail", + "PinpointSMSVoice", + "PinpointSMSVoiceV2", + "Pipes", + "Polly", + "Pricing", + "PrivateNetworks", + "Proton", + "QLDB", + "QLDBSession", + "QuickSight", + "RAM", + "RDS", + "RDSDataService", + "RUM", + "Rbin", + "Redshift", + "RedshiftData", + "RedshiftServerless", + "Rekognition", + "Resiliencehub", + "ResourceExplorer2", + "ResourceGroups", + "ResourceGroupsTaggingAPI", + "RoboMaker", + "RolesAnywhere", + "Route53", + "Route53Domains", + "Route53RecoveryCluster", + "Route53RecoveryControlConfig", + "Route53RecoveryReadiness", + "Route53Resolver", + "S3", + "S3Control", + "S3Outposts", + "SES", + "SESV2", + "SMS", + "SNS", + "SQS", + "SSM", + "SSMContacts", + "SSMIncidents", + "SSO", + "SSOAdmin", + "SSOOIDC", + "STS", + "SWF", + "SageMaker", + "SageMakerFeatureStoreRuntime", + "SageMakerGeospatial", + "SageMakerMetrics", + "SageMakerRuntime", + "SagemakerEdge", + "SavingsPlans", + "Scheduler", + "Schemas", + "SecretsManager", + "SecurityHub", + "SecurityLake", + "ServerlessApplicationRepository", + "ServiceCatalog", + "ServiceCatalogAppRegistry", + "ServiceDiscovery", + "ServiceQuotas", + "Shield", + "Signer", + "SimSpaceWeaver", + "SnowDeviceManagement", + "Snowball", + "SsmSap", + "StepFunctions", + "StorageGateway", + "Support", + "SupportApp", + "Synthetics", + "Textract", + "TimestreamQuery", + "TimestreamWrite", + "TranscribeService", + "Transfer", + "Translate", + "VoiceID", + "WAF", + "WAFRegional", + "WAFV2", + "WellArchitected", + "Wisdom", + "WorkDocs", + "WorkLink", + "WorkMail", + "WorkMailMessageFlow", + "WorkSpaces", + "WorkSpacesWeb", + "XRay" + ]; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts +var CLIENT_PACKAGE_NAMES_MAP; +var init_client_package_names_map = __esm({ + "../sdk-v2-to-v3-adapter/lib/client-package-names-map.ts"() { + "use strict"; + init_client_names(); + CLIENT_PACKAGE_NAMES_MAP = { + ...CLIENT_NAMES.reduce( + (acc, name) => ({ + ...acc, + [name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`.replace("-chime-sdk", "-chime-sdk-").replace("client-amplify-", "client-amplify").replace("client-cloud-", "client-cloud").replace("client-code-", "client-code").replace("client-connect-", "client-connect").replace("client-data-", "client-data").replace("client-io-t", "client-iot-").replace("client-iot-fleet-", "client-iotfleet").replace("client-lookout-", "client-lookout").replace("client-media-", "client-media").replace("client-migration-hub-", "client-migrationhub").replace("client-pinpoint-sms", "client-pinpoint-sms-").replace("client-route53", "client-route53-").replace("client-sage-maker", "client-sagemaker").replace("client-security-", "client-security").replace("client-work-", "client-work") + }), + {} + ), + AccessAnalyzer: "client-accessanalyzer", + ACMPCA: "client-acm-pca", + APIGateway: "client-api-gateway", + ApiGatewayManagementApi: "client-apigatewaymanagementapi", + ApiGatewayV2: "client-apigatewayv2", + AppConfig: "client-appconfig", + AppConfigData: "client-appconfigdata", + AppIntegrations: "client-appintegrations", + AppRunner: "client-apprunner", + AppStream: "client-appstream", + AppSync: "client-appsync", + ApplicationCostProfiler: "client-applicationcostprofiler", + ARCZonalShift: "client-arc-zonal-shift", + AugmentedAIRuntime: "client-sage-maker-a2iruntime", + AuditManager: "client-auditmanager", + BackupStorage: "client-backupstorage", + CUR: "client-cost-and-usage-report-service", + CloudHSMV2: "client-cloudhsm-v2", + CodeGuruProfiler: "client-codeguruprofiler", + CodeStarconnections: "client-codestar-connections", + CognitoIdentityServiceProvider: "client-cognito-identity-provider", + ComprehendMedical: "client-comprehendmedical", + ConnectContactLens: "client-connect-contact-lens", + ControlTower: "client-controltower", + DMS: "client-database-migration-service", + DataPipeline: "client-data-pipeline", + Discovery: "client-application-discovery-service", + DevOpsGuru: "client-devops-guru", + DynamoDB: "client-dynamodb", + DynamoDBStreams: "client-dynamodb-streams", + DocDB: "client-docdb", + DocDBElastic: "client-docdb-elastic", + EC2InstanceConnect: "client-ec2-instance-connect", + ECRPUBLIC: "client-ecr-public", + ELB: "client-elastic-load-balancing", + ELBv2: "client-elastic-load-balancing-v2", + ElastiCache: "client-elasticache", + EMRcontainers: "client-emr-containers", + EMRServerless: "client-emr-serverless", + ES: "client-elasticsearch-service", + EventBridge: "client-eventbridge", + Finspacedata: "client-finspace-data", + ForecastQueryService: "client-forecastquery", + ForecastService: "client-forecast", + FraudDetector: "client-frauddetector", + GameLift: "client-gamelift", + GameSparks: "client-gamesparks", + GreengrassV2: "client-greengrassv2", + GroundStation: "client-groundstation", + GuardDuty: "client-guardduty", + HealthLake: "client-healthlake", + IdentityStore: "client-identitystore", + IoTAnalytics: "client-iotanalytics", + IotData: "client-iot-data-plane", + IotDeviceAdvisor: "client-iotdeviceadvisor", + IoTSecureTunneling: "client-iotsecuretunneling", + IoTSiteWise: "client-iotsitewise", + IoTThingsGraph: "client-iotthingsgraph", + IoTTwinMaker: "client-iottwinmaker", + IoTRoboRunner: "client-iot-roborunner", + KafkaConnect: "client-kafkaconnect", + KinesisVideoSignalingChannels: "client-kinesis-video-signaling", + KinesisVideoWebRTCStorage: "client-kinesis-video-webrtc-storage", + LakeFormation: "client-lakeformation", + LexRuntime: "client-lex-runtime-service", + ManagedBlockchain: "client-managedblockchain", + MigrationHubConfig: "client-migrationhub-config", + MigrationHubRefactorSpaces: "client-migration-hub-refactor-spaces", + NetworkManager: "client-networkmanager", + OpenSearch: "client-opensearch", + OpenSearchServerless: "client-opensearchserverless", + OpsWorks: "client-opsworks", + OpsWorksCM: "client-opsworkscm", + PrivateNetworks: "client-privatenetworks", + QLDBSession: "client-qldb-session", + QuickSight: "client-quicksight", + ResourceExplorer2: "client-resource-explorer-2", + RDSDataService: "client-rds-data", + RoboMaker: "client-robomaker", + RolesAnywhere: "client-rolesanywhere", + Route53: "client-route-53", + Route53Domains: "client-route-53-domains", + Route53Resolver: "client-route53resolver", + S3Control: "client-s3-control", + SageMakerFeatureStoreRuntime: "client-sagemaker-featurestore-runtime", + SavingsPlans: "client-savingsplans", + SecurityHub: "client-securityhub", + ServerlessApplicationRepository: "client-serverlessapplicationrepository", + ServiceCatalogAppRegistry: "client-service-catalog-appregistry", + ServiceDiscovery: "client-servicediscovery", + SimSpaceWeaver: "client-simspaceweaver", + SSMContacts: "client-ssm-contacts", + SSMIncidents: "client-ssm-incidents", + SSOAdmin: "client-sso-admin", + SSOOIDC: "client-sso-oidc", + StepFunctions: "client-sfn", + TranscribeService: "client-transcribe", + WAFRegional: "client-waf-regional", + WellArchitected: "client-wellarchitected", + WorkMailMessageFlow: "client-workmailmessageflow" + }; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts +var get_v3_client_package_name_exports = {}; +__export(get_v3_client_package_name_exports, { + getV3ClientPackageName: () => getV3ClientPackageName +}); +var getV3ClientPackageName; +var init_get_v3_client_package_name = __esm({ + "../sdk-v2-to-v3-adapter/lib/get-v3-client-package-name.ts"() { + "use strict"; + init_client_package_names_map(); + getV3ClientPackageName = (clientName) => { + if (clientName in CLIENT_PACKAGE_NAMES_MAP) { + return `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[clientName]}`; + } + throw new Error(`Client '${clientName}' is either deprecated or newly added. Please consider using the v3 package format (@aws-sdk/client-xxx).`); + }; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts +var find_client_constructor_exports = {}; +__export(find_client_constructor_exports, { + findV3ClientConstructor: () => findV3ClientConstructor +}); +function findV3ClientConstructor(pkg) { + const [_clientName, ServiceClient] = Object.entries(pkg).find( + ([name]) => { + return name.endsWith("Client") && name !== "__Client"; + } + ); + return ServiceClient; +} +var init_find_client_constructor = __esm({ + "../sdk-v2-to-v3-adapter/lib/find-client-constructor.ts"() { + "use strict"; + } +}); + +// ../sdk-v2-to-v3-adapter/lib/index.js +var require_lib5 = __commonJS({ + "../sdk-v2-to-v3-adapter/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findV3ClientConstructor = exports.getV3ClientPackageName = void 0; + var get_v3_client_package_name_1 = (init_get_v3_client_package_name(), __toCommonJS(get_v3_client_package_name_exports)); + Object.defineProperty(exports, "getV3ClientPackageName", { enumerable: true, get: function() { + return get_v3_client_package_name_1.getV3ClientPackageName; + } }); + var find_client_constructor_1 = (init_find_client_constructor(), __toCommonJS(find_client_constructor_exports)); + Object.defineProperty(exports, "findV3ClientConstructor", { enumerable: true, get: function() { + return find_client_constructor_1.findV3ClientConstructor; + } }); + } +}); + +// lib/assertions/providers/lambda-handler/index.ts +var lambda_handler_exports = {}; +__export(lambda_handler_exports, { + handler: () => handler, + isComplete: () => isComplete, + onTimeout: () => onTimeout +}); +module.exports = __toCommonJS(lambda_handler_exports); + +// lib/assertions/providers/lambda-handler/assertion.ts +var import_helpers_internal = __toESM(require_helpers_internal()); + +// lib/assertions/providers/lambda-handler/base.ts +var https = __toESM(require("https")); +var url = __toESM(require("url")); +var import_client_sfn = __toESM(require_dist_cjs53()); +var CustomResourceHandler = class { + constructor(event, context) { + this.event = event; + this.context = context; + this.timeout = setTimeout(async () => { + await this.respond({ + status: "FAILED", + reason: "Lambda Function Timeout", + data: this.context.logStreamName + }); + this.timedOut = true; + }, context.getRemainingTimeInMillis() - 1200); + this.event = event; + this.physicalResourceId = extractPhysicalResourceId(event); + } + physicalResourceId; + timeout; + timedOut = false; + /** + * Handles executing the custom resource event. If `stateMachineArn` is present + * in the props then trigger the waiter statemachine + */ + async handle() { + try { + if ("stateMachineArn" in this.event.ResourceProperties) { + const req = { + stateMachineArn: this.event.ResourceProperties.stateMachineArn, + name: this.event.RequestId, + input: JSON.stringify(this.event) + }; + await this.startExecution(req); + return; + } else { + const response = await this.processEvent(this.event.ResourceProperties); + return response; + } + } catch (e) { + console.log(e); + throw e; + } finally { + clearTimeout(this.timeout); + } + } + /** + * Handle async requests from the waiter state machine + */ + async handleIsComplete() { + try { + const result = await this.processEvent(this.event.ResourceProperties); + return result; + } catch (e) { + console.log(e); + return; + } finally { + clearTimeout(this.timeout); + } + } + /** + * Start a step function state machine which will wait for the request + * to be successful. + */ + async startExecution(req) { + try { + const sfn = new import_client_sfn.SFN({}); + await sfn.startExecution(req); + } finally { + clearTimeout(this.timeout); + } + } + respond(response) { + if (this.timedOut) { + return; + } + const cfResponse = { + Status: response.status, + Reason: response.reason, + PhysicalResourceId: this.physicalResourceId, + StackId: this.event.StackId, + RequestId: this.event.RequestId, + LogicalResourceId: this.event.LogicalResourceId, + NoEcho: false, + Data: response.data + }; + const responseBody = JSON.stringify(cfResponse); + console.log("Responding to CloudFormation", responseBody); + const parsedUrl = url.parse(this.event.ResponseURL); + const requestOptions = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: "PUT", + headers: { + "content-type": "", + "content-length": Buffer.byteLength(responseBody, "utf8") + } + }; + return new Promise((resolve, reject) => { + try { + const request2 = https.request(requestOptions, resolve); + request2.on("error", reject); + request2.write(responseBody); + request2.end(); + } catch (e) { + reject(e); + } finally { + clearTimeout(this.timeout); + } + }); + } +}; +function extractPhysicalResourceId(event) { + switch (event.RequestType) { + case "Create": + return event.LogicalResourceId; + case "Update": + case "Delete": + return event.PhysicalResourceId; + } +} + +// lib/assertions/providers/lambda-handler/assertion.ts +var AssertionHandler = class extends CustomResourceHandler { + async processEvent(request2) { + let actual = decodeCall(request2.actual); + const expected = decodeCall(request2.expected); + let result; + const matcher = new MatchCreator(expected).getMatcher(); + console.log(`Testing equality between ${JSON.stringify(request2.actual)} and ${JSON.stringify(request2.expected)}`); + const matchResult = matcher.test(actual); + matchResult.finished(); + if (matchResult.hasFailed()) { + result = { + failed: true, + assertion: JSON.stringify({ + status: "fail", + message: matchResult.renderMismatch() + }) + }; + if (request2.failDeployment) { + throw new Error(result.assertion); + } + } else { + result = { + assertion: JSON.stringify({ + status: "success" + }) + }; + } + return result; + } +}; +var MatchCreator = class { + parsedObj; + constructor(obj) { + this.parsedObj = { + matcher: obj + }; + } + /** + * Return a Matcher that can be tested against the actual results. + * This will convert the encoded matchers into their corresponding + * assertions matcher. + * + * For example: + * + * ExpectedResult.objectLike({ + * Messages: [{ + * Body: Match.objectLike({ + * Elements: Match.arrayWith([{ Asdf: 3 }]), + * Payload: Match.serializedJson({ key: 'value' }), + * }), + * }], + * }); + * + * Will be encoded as: + * { + * $ObjectLike: { + * Messages: [{ + * Body: { + * $ObjectLike: { + * Elements: { + * $ArrayWith: [{ Asdf: 3 }], + * }, + * Payload: { + * $SerializedJson: { key: 'value' } + * } + * }, + * }, + * }], + * }, + * } + * + * Which can then be parsed by this function. For each key (recursively) + * the parser will check if the value has one of the encoded matchers as a key + * and if so, it will set the value as the Matcher. So, + * + * { + * Body: { + * $ObjectLike: { + * Elements: { + * $ArrayWith: [{ Asdf: 3 }], + * }, + * Payload: { + * $SerializedJson: { key: 'value' } + * } + * }, + * }, + * } + * + * Will be converted to + * { + * Body: Match.objectLike({ + * Elements: Match.arrayWith([{ Asdf: 3 }]), + * Payload: Match.serializedJson({ key: 'value' }), + * }), + * } + */ + getMatcher() { + try { + const final = JSON.parse(JSON.stringify(this.parsedObj), function(_k, v) { + const nested = Object.keys(v)[0]; + switch (nested) { + case "$ArrayWith": + return import_helpers_internal.Match.arrayWith(v[nested]); + case "$ObjectLike": + return import_helpers_internal.Match.objectLike(v[nested]); + case "$StringLike": + return import_helpers_internal.Match.stringLikeRegexp(v[nested]); + case "$SerializedJson": + return import_helpers_internal.Match.serializedJson(v[nested]); + default: + return v; + } + }); + if (import_helpers_internal.Matcher.isMatcher(final.matcher)) { + return final.matcher; + } + return import_helpers_internal.Match.exact(final.matcher); + } catch { + return import_helpers_internal.Match.exact(this.parsedObj.matcher); + } + } +}; +function decodeCall(call) { + if (!call) { + return void 0; + } + try { + const parsed = JSON.parse(call); + return parsed; + } catch { + return call; + } +} + +// lib/assertions/providers/lambda-handler/http.ts +var import_node_fetch = __toESM(require_lib4()); +var HttpHandler = class extends CustomResourceHandler { + async processEvent(request2) { + console.log("request", request2); + const response = await (0, import_node_fetch.default)(request2.parameters.url, request2.parameters.fetchOptions); + const result = { + ok: response.ok, + status: response.status, + statusText: response.statusText, + headers: response.headers.raw() + }; + try { + const jsonResponse = await response.json(); + result.body = jsonResponse; + } catch (e) { + result.body = {}; + } + return { + apiCallResponse: result + }; + } +}; + +// lib/assertions/providers/lambda-handler/sdk.ts +var import_sdk_v2_to_v3_adapter = __toESM(require_lib5()); + +// lib/assertions/providers/lambda-handler/utils.ts +function parseJsonPayload(payload) { + try { + const buffer = Buffer.from(payload); + return JSON.parse(new TextDecoder().decode(buffer)); + } catch { + return payload; + } +} +function decodeParameters(obj) { + return Object.fromEntries(Object.entries(obj).map(([key, value]) => { + try { + return [key, JSON.parse(value)]; + } catch { + return [key, value]; + } + })); +} + +// lib/assertions/providers/lambda-handler/sdk.ts +function flatten(object) { + return Object.assign( + {}, + ...function _flatten(child, path = []) { + return [].concat(...Object.keys(child).map((key) => { + let childKey = Buffer.isBuffer(child[key]) ? child[key].toString("utf8") : child[key]; + if (typeof childKey === "string") { + childKey = isJsonString(childKey); + } + return typeof childKey === "object" && childKey !== null ? _flatten(childKey, path.concat([key])) : { [path.concat([key]).join(".")]: childKey }; + })); + }(object) + ); +} +function getServicePackage(service) { + const packageName = (0, import_sdk_v2_to_v3_adapter.getV3ClientPackageName)(service); + try { + const pkg = require(packageName); + return { + service, + pkg, + packageName + }; + } catch (e) { + throw Error(`Service ${service} client package with name '${packageName}' does not exist.`); + } +} +function getServiceClient(sdkPkg) { + try { + const ServiceClient = (0, import_sdk_v2_to_v3_adapter.findV3ClientConstructor)(sdkPkg.pkg); + return new ServiceClient({}); + } catch (e) { + console.error(e); + throw Error(`No client constructor found within package: ${sdkPkg.packageName}`); + } +} +function getSdkCommand(sdkPkg, api) { + const commandName = api.endsWith("Command") ? api : `${api}Command`; + const command = Object.entries(sdkPkg.pkg).find( + ([name]) => name.toLowerCase() === commandName.toLowerCase() + )?.[1]; + if (!command) { + throw new Error(`Unable to find command named: ${commandName} for api: ${api} in service package`); + } + return command; +} +var AwsApiCallHandler = class extends CustomResourceHandler { + async processEvent(request2) { + const sdkPkg = getServicePackage(request2.service); + const client = getServiceClient(sdkPkg); + const Command = getSdkCommand(sdkPkg, request2.api); + const commandInput = (request2.parameters && decodeParameters(request2.parameters)) ?? {}; + console.log(`SDK request to ${sdkPkg.service}.${request2.api} with parameters ${JSON.stringify(commandInput)}`); + const response = await client.send(new Command(commandInput)); + if (response.Payload) { + response.Payload = parseJsonPayload(response.Payload); + } + console.log(`SDK response received ${JSON.stringify(response)}`); + delete response.$metadata; + const respond = { + apiCallResponse: response + }; + const flatData = { + ...flatten(respond) + }; + let resp = respond; + if (request2.outputPaths) { + resp = filterKeys(flatData, request2.outputPaths); + } else if (request2.flattenResponse === "true") { + resp = flatData; + } + console.log(`Returning result ${JSON.stringify(resp)}`); + return resp; + } +}; +function filterKeys(object, searchStrings) { + return Object.entries(object).reduce((filteredObject, [key, value]) => { + for (const searchString of searchStrings) { + if (key.startsWith(`apiCallResponse.${searchString}`)) { + filteredObject[key] = value; + } + } + return filteredObject; + }, {}); +} +function isJsonString(value) { + try { + return JSON.parse(value); + } catch { + return value; + } +} + +// lib/assertions/providers/lambda-handler/types.ts +var ASSERT_RESOURCE_TYPE = "Custom::DeployAssert@AssertEquals"; +var SDK_RESOURCE_TYPE_PREFIX = "Custom::DeployAssert@SdkCall"; +var HTTP_RESOURCE_TYPE = "Custom::DeployAssert@HttpCall"; + +// lib/assertions/providers/lambda-handler/index.ts +async function handler(event, context) { + console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); + const provider = createResourceHandler(event, context); + try { + if (event.RequestType === "Delete") { + await provider.respond({ + status: "SUCCESS", + reason: "OK" + }); + return; + } + const result = await provider.handle(); + if ("stateMachineArn" in event.ResourceProperties) { + console.info('Found "stateMachineArn", waiter statemachine started'); + return; + } else if ("expected" in event.ResourceProperties) { + console.info('Found "expected", testing assertions'); + const actualPath = event.ResourceProperties.actualPath; + const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; + const assertion = new AssertionHandler({ + ...event, + ResourceProperties: { + ServiceToken: event.ServiceToken, + actual, + expected: event.ResourceProperties.expected + } + }, context); + try { + const assertionResult = await assertion.handle(); + await provider.respond({ + status: "SUCCESS", + reason: "OK", + // return both the result of the API call _and_ the assertion results + data: { + ...assertionResult, + ...result + } + }); + return; + } catch (e) { + await provider.respond({ + status: "FAILED", + reason: e.message ?? "Internal Error" + }); + return; + } + } + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: result + }); + } catch (e) { + await provider.respond({ + status: "FAILED", + reason: e.message ?? "Internal Error" + }); + return; + } + return; +} +async function onTimeout(timeoutEvent) { + const isCompleteRequest = JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage); + const provider = createResourceHandler(isCompleteRequest, standardContext); + await provider.respond({ + status: "FAILED", + reason: "Operation timed out: " + JSON.stringify(isCompleteRequest) + }); +} +async function isComplete(event, context) { + console.log(`Event: ${JSON.stringify({ ...event, ResponseURL: "..." })}`); + const provider = createResourceHandler(event, context); + try { + const result = await provider.handleIsComplete(); + const actualPath = event.ResourceProperties.actualPath; + if (result) { + const actual = actualPath ? result[`apiCallResponse.${actualPath}`] : result.apiCallResponse; + if ("expected" in event.ResourceProperties) { + const assertion = new AssertionHandler({ + ...event, + ResourceProperties: { + ServiceToken: event.ServiceToken, + actual, + expected: event.ResourceProperties.expected + } + }, context); + const assertionResult = await assertion.handleIsComplete(); + if (!assertionResult?.failed) { + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: { + ...assertionResult, + ...result + } + }); + return; + } else { + console.log(`Assertion Failed: ${JSON.stringify(assertionResult)}`); + throw new Error(JSON.stringify(event)); + } + } + await provider.respond({ + status: "SUCCESS", + reason: "OK", + data: result + }); + } else { + console.log("No result"); + throw new Error(JSON.stringify(event)); + } + return; + } catch (e) { + console.log(e); + throw new Error(JSON.stringify(event)); + } +} +function createResourceHandler(event, context) { + if (event.ResourceType.startsWith(SDK_RESOURCE_TYPE_PREFIX)) { + return new AwsApiCallHandler(event, context); + } else if (event.ResourceType.startsWith(ASSERT_RESOURCE_TYPE)) { + return new AssertionHandler(event, context); + } else if (event.ResourceType.startsWith(HTTP_RESOURCE_TYPE)) { + return new HttpHandler(event, context); + } else { + throw new Error(`Unsupported resource type "${event.ResourceType}`); + } +} +var standardContext = { + getRemainingTimeInMillis: () => 9e4 +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + handler, + isComplete, + onTimeout +}); +/*! Bundled license information: + +tslib/tslib.es6.js: + (*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** *) +*/ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json index 4a1964040dd88..d453b59895a03 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-logs-destinations/test/integ.lambda.js.snapshot/manifest.json @@ -148,7 +148,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/9d66fb022cacb4dc6163acb431fb5085bdb9b0b770a47de1c5664c14b1f455b3.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c1d2086d6e491024ccf5ae6e2ec76bc1cb174a150a7a0f66465dc299575182e1.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js similarity index 100% rename from packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/__entrypoint__.js rename to packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.assets.json index 433c4a35e9762..20eee17c70bbb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.assets.json @@ -1,20 +1,20 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "bffc468fc464208b727e3300214b3102d30e6f4d749531331ef45d2da89cae51": { + "e898a98407cf445e1fa3bfebeec8355da79b87e6adbaf4101e83a30591dede4f": { "source": { "path": "integ-aurora-serverlessv2-cluster.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "bffc468fc464208b727e3300214b3102d30e6f4d749531331ef45d2da89cae51.json", + "objectKey": "e898a98407cf445e1fa3bfebeec8355da79b87e6adbaf4101e83a30591dede4f.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.template.json index 251ce03637f86..bc0fc3af49636 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ-aurora-serverlessv2-cluster.template.json @@ -18,9 +18,6 @@ "IntegVPCPublicSubnet1SubnetE05F7E7D": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -44,21 +41,24 @@ "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPublicSubnet1RouteTable622895C7": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "Tags": [ { "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPublicSubnet1RouteTableAssociation0E84800B": { @@ -75,12 +75,12 @@ "IntegVPCPublicSubnet1DefaultRouteE885D95E": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "IntegVPCPublicSubnet1RouteTable622895C7" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "RouteTableId": { + "Ref": "IntegVPCPublicSubnet1RouteTable622895C7" } }, "DependsOn": [ @@ -102,15 +102,15 @@ "IntegVPCPublicSubnet1NATGateway380AC0A0": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "IntegVPCPublicSubnet1SubnetE05F7E7D" - }, "AllocationId": { "Fn::GetAtt": [ "IntegVPCPublicSubnet1EIP1AC057E9", "AllocationId" ] }, + "SubnetId": { + "Ref": "IntegVPCPublicSubnet1SubnetE05F7E7D" + }, "Tags": [ { "Key": "Name", @@ -126,9 +126,6 @@ "IntegVPCPublicSubnet2Subnet9648DE97": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -152,21 +149,24 @@ "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPublicSubnet2RouteTableB79B3910": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "Tags": [ { "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPublicSubnet2RouteTableAssociation831EA0CC": { @@ -183,12 +183,12 @@ "IntegVPCPublicSubnet2DefaultRoute2FC4B163": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "IntegVPCPublicSubnet2RouteTableB79B3910" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "RouteTableId": { + "Ref": "IntegVPCPublicSubnet2RouteTableB79B3910" } }, "DependsOn": [ @@ -210,15 +210,15 @@ "IntegVPCPublicSubnet2NATGateway912800A3": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "IntegVPCPublicSubnet2Subnet9648DE97" - }, "AllocationId": { "Fn::GetAtt": [ "IntegVPCPublicSubnet2EIPEA07DF99", "AllocationId" ] }, + "SubnetId": { + "Ref": "IntegVPCPublicSubnet2Subnet9648DE97" + }, "Tags": [ { "Key": "Name", @@ -234,9 +234,6 @@ "IntegVPCPrivateSubnet1SubnetD5B61223": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -260,21 +257,24 @@ "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPrivateSubnet1RouteTableF2678D77": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "Tags": [ { "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPrivateSubnet1RouteTableAssociationAD4B0EBF": { @@ -291,21 +291,18 @@ "IntegVPCPrivateSubnet1DefaultRoute140D7A84": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "IntegVPCPrivateSubnet1RouteTableF2678D77" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "IntegVPCPublicSubnet1NATGateway380AC0A0" + }, + "RouteTableId": { + "Ref": "IntegVPCPrivateSubnet1RouteTableF2678D77" } } }, "IntegVPCPrivateSubnet2SubnetFCC4EF23": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -329,21 +326,24 @@ "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPrivateSubnet2RouteTable4132D373": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "Tags": [ { "Key": "Name", "Value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "IntegVPCPrivateSubnet2RouteTableAssociation9A15DAD6": { @@ -360,12 +360,12 @@ "IntegVPCPrivateSubnet2DefaultRouteAE44E307": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "IntegVPCPrivateSubnet2RouteTable4132D373" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "IntegVPCPublicSubnet2NATGateway912800A3" + }, + "RouteTableId": { + "Ref": "IntegVPCPrivateSubnet2RouteTable4132D373" } } }, @@ -383,11 +383,11 @@ "IntegVPCVPCGW4DD476C7": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { - "VpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "InternetGatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "VpcId": { + "Ref": "IntegVPC2FF1AB0E" } } }, @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ @@ -583,7 +583,7 @@ }, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.03.0", - "MasterUsername": { + "MasterUserPassword": { "Fn::Join": [ "", [ @@ -591,11 +591,11 @@ { "Ref": "integauroraserverlessv20IntegClusterSecretB9E432EB" }, - ":SecretString:username::}}" + ":SecretString:password::}}" ] ] }, - "MasterUserPassword": { + "MasterUsername": { "Fn::Join": [ "", [ @@ -603,7 +603,7 @@ { "Ref": "integauroraserverlessv20IntegClusterSecretB9E432EB" }, - ":SecretString:password::}}" + ":SecretString:username::}}" ] ] }, @@ -646,7 +646,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -655,6 +654,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ServerlessDatabaseCapacity", "Namespace": "AWS/RDS", "Period": 600, @@ -666,7 +666,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -675,6 +674,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ACUUtilization", "Namespace": "AWS/RDS", "Period": 600, @@ -758,7 +758,7 @@ }, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.03.0", - "MasterUsername": { + "MasterUserPassword": { "Fn::Join": [ "", [ @@ -766,11 +766,11 @@ { "Ref": "integauroraserverlessv21IntegClusterSecretA8DA28CB" }, - ":SecretString:username::}}" + ":SecretString:password::}}" ] ] }, - "MasterUserPassword": { + "MasterUsername": { "Fn::Join": [ "", [ @@ -778,7 +778,7 @@ { "Ref": "integauroraserverlessv21IntegClusterSecretA8DA28CB" }, - ":SecretString:password::}}" + ":SecretString:username::}}" ] ] }, @@ -859,7 +859,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -868,6 +867,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ServerlessDatabaseCapacity", "Namespace": "AWS/RDS", "Period": 600, @@ -879,7 +879,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -888,6 +887,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ACUUtilization", "Namespace": "AWS/RDS", "Period": 600, @@ -971,7 +971,7 @@ }, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.03.0", - "MasterUsername": { + "MasterUserPassword": { "Fn::Join": [ "", [ @@ -979,11 +979,11 @@ { "Ref": "integauroraserverlessv22IntegClusterSecretBF74DBA3" }, - ":SecretString:username::}}" + ":SecretString:password::}}" ] ] }, - "MasterUserPassword": { + "MasterUsername": { "Fn::Join": [ "", [ @@ -991,7 +991,7 @@ { "Ref": "integauroraserverlessv22IntegClusterSecretBF74DBA3" }, - ":SecretString:password::}}" + ":SecretString:username::}}" ] ] }, @@ -1072,7 +1072,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -1081,6 +1080,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ServerlessDatabaseCapacity", "Namespace": "AWS/RDS", "Period": 600, @@ -1092,7 +1092,6 @@ "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", - "EvaluationPeriods": 3, "Dimensions": [ { "Name": "DBClusterIdentifier", @@ -1101,6 +1100,7 @@ } } ], + "EvaluationPeriods": 3, "MetricName": "ACUUtilization", "Namespace": "AWS/RDS", "Period": 600, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ.json index fcf69e229cfef..075c36bb36699 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "integ-test/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json index 4b008a0cae838..b94a64ee1d3aa 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/integtestDefaultTestDeployAssert24D5C536.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/manifest.json index 3f10d394ec9e0..439fe7ee9a89f 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "integ-aurora-serverlessv2-cluster.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/bffc468fc464208b727e3300214b3102d30e6f4d749531331ef45d2da89cae51.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e898a98407cf445e1fa3bfebeec8355da79b87e6adbaf4101e83a30591dede4f.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -297,12 +297,6 @@ "data": "integauroraserverlessv21alarmE70B8A00" } ], - "/integ-aurora-serverlessv2-cluster/integ-aurora-serverlessv2-2/Integ-Cluster": [ - { - "type": "aws:cdk:info", - "data": "..." - } - ], "/integ-aurora-serverlessv2-cluster/integ-aurora-serverlessv2-2/Integ-Cluster/Subnets/Default": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/tree.json index 2cb417f6456a3..6dbe6edaf0f63 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.cluster-serverless-v2.js.snapshot/tree.json @@ -45,9 +45,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -71,7 +68,10 @@ "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -93,15 +93,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "tags": [ { "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -134,12 +134,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "IntegVPCPublicSubnet1RouteTable622895C7" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "routeTableId": { + "Ref": "IntegVPCPublicSubnet1RouteTable622895C7" } } }, @@ -174,15 +174,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "IntegVPCPublicSubnet1SubnetE05F7E7D" - }, "allocationId": { "Fn::GetAtt": [ "IntegVPCPublicSubnet1EIP1AC057E9", "AllocationId" ] }, + "subnetId": { + "Ref": "IntegVPCPublicSubnet1SubnetE05F7E7D" + }, "tags": [ { "key": "Name", @@ -212,9 +212,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -238,7 +235,10 @@ "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -260,15 +260,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "tags": [ { "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -301,12 +301,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "IntegVPCPublicSubnet2RouteTableB79B3910" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "routeTableId": { + "Ref": "IntegVPCPublicSubnet2RouteTableB79B3910" } } }, @@ -341,15 +341,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "IntegVPCPublicSubnet2Subnet9648DE97" - }, "allocationId": { "Fn::GetAtt": [ "IntegVPCPublicSubnet2EIPEA07DF99", "AllocationId" ] }, + "subnetId": { + "Ref": "IntegVPCPublicSubnet2Subnet9648DE97" + }, "tags": [ { "key": "Name", @@ -379,9 +379,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -405,7 +402,10 @@ "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -427,15 +427,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "tags": [ { "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -468,12 +468,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "IntegVPCPrivateSubnet1RouteTableF2678D77" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "IntegVPCPublicSubnet1NATGateway380AC0A0" + }, + "routeTableId": { + "Ref": "IntegVPCPrivateSubnet1RouteTableF2678D77" } } }, @@ -498,9 +498,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -524,7 +521,10 @@ "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -546,15 +546,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "tags": [ { "key": "Name", "value": "integ-aurora-serverlessv2-cluster/Integ-VPC/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" + } } }, "constructInfo": { @@ -587,12 +587,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "IntegVPCPrivateSubnet2RouteTable4132D373" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "IntegVPCPublicSubnet2NATGateway912800A3" + }, + "routeTableId": { + "Ref": "IntegVPCPrivateSubnet2RouteTable4132D373" } } }, @@ -632,11 +632,11 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "IntegVPC2FF1AB0E" - }, "internetGatewayId": { "Ref": "IntegVPCIGW02FC78B6" + }, + "vpcId": { + "Ref": "IntegVPC2FF1AB0E" } } }, @@ -957,7 +957,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -966,6 +965,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ServerlessDatabaseCapacity", "namespace": "AWS/RDS", "period": 600, @@ -995,7 +995,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -1004,6 +1003,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ACUUtilization", "namespace": "AWS/RDS", "period": 600, @@ -1025,7 +1025,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "integ-aurora-serverlessv2-1": { @@ -1340,7 +1340,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -1349,6 +1348,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ServerlessDatabaseCapacity", "namespace": "AWS/RDS", "period": 600, @@ -1378,7 +1378,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -1387,6 +1386,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ACUUtilization", "namespace": "AWS/RDS", "period": 600, @@ -1408,7 +1408,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "integ-aurora-serverlessv2-2": { @@ -1723,7 +1723,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -1732,6 +1731,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ServerlessDatabaseCapacity", "namespace": "AWS/RDS", "period": 600, @@ -1761,7 +1761,6 @@ "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { "comparisonOperator": "GreaterThanOrEqualToThreshold", - "evaluationPeriods": 3, "dimensions": [ { "name": "DBClusterIdentifier", @@ -1770,6 +1769,7 @@ } } ], + "evaluationPeriods": 3, "metricName": "ACUUtilization", "namespace": "AWS/RDS", "period": 600, @@ -1791,7 +1791,7 @@ }, "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "BootstrapVersion": { @@ -1829,7 +1829,7 @@ "path": "integ-test/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "DeployAssert": { @@ -1875,7 +1875,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js new file mode 100644 index 0000000000000..c83ecebaaadac --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/__entrypoint__.js @@ -0,0 +1,147 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withRetries = exports.handler = exports.external = void 0; +const https = require("https"); +const url = require("url"); +// for unit tests +exports.external = { + sendHttpRequest: defaultSendHttpRequest, + log: defaultLog, + includeStackTraces: true, + userHandlerIndex: './index', +}; +const CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED'; +const MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID'; +async function handler(event, context) { + const sanitizedEvent = { ...event, ResponseURL: '...' }; + exports.external.log(JSON.stringify(sanitizedEvent, undefined, 2)); + // ignore DELETE event when the physical resource ID is the marker that + // indicates that this DELETE is a subsequent DELETE to a failed CREATE + // operation. + if (event.RequestType === 'Delete' && event.PhysicalResourceId === CREATE_FAILED_PHYSICAL_ID_MARKER) { + exports.external.log('ignoring DELETE event caused by a failed CREATE event'); + await submitResponse('SUCCESS', event); + return; + } + try { + // invoke the user handler. this is intentionally inside the try-catch to + // ensure that if there is an error it's reported as a failure to + // cloudformation (otherwise cfn waits). + // eslint-disable-next-line @typescript-eslint/no-require-imports + const userHandler = require(exports.external.userHandlerIndex).handler; + const result = await userHandler(sanitizedEvent, context); + // validate user response and create the combined event + const responseEvent = renderResponse(event, result); + // submit to cfn as success + await submitResponse('SUCCESS', responseEvent); + } + catch (e) { + const resp = { + ...event, + Reason: exports.external.includeStackTraces ? e.stack : e.message, + }; + if (!resp.PhysicalResourceId) { + // special case: if CREATE fails, which usually implies, we usually don't + // have a physical resource id. in this case, the subsequent DELETE + // operation does not have any meaning, and will likely fail as well. to + // address this, we use a marker so the provider framework can simply + // ignore the subsequent DELETE. + if (event.RequestType === 'Create') { + exports.external.log('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored'); + resp.PhysicalResourceId = CREATE_FAILED_PHYSICAL_ID_MARKER; + } + else { + // otherwise, if PhysicalResourceId is not specified, something is + // terribly wrong because all other events should have an ID. + exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`); + } + } + // this is an actual error, fail the activity altogether and exist. + await submitResponse('FAILED', resp); + } +} +exports.handler = handler; +function renderResponse(cfnRequest, handlerResponse = {}) { + // if physical ID is not returned, we have some defaults for you based + // on the request type. + const physicalResourceId = handlerResponse.PhysicalResourceId ?? cfnRequest.PhysicalResourceId ?? cfnRequest.RequestId; + // if we are in DELETE and physical ID was changed, it's an error. + if (cfnRequest.RequestType === 'Delete' && physicalResourceId !== cfnRequest.PhysicalResourceId) { + throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`); + } + // merge request event and result event (result prevails). + return { + ...cfnRequest, + ...handlerResponse, + PhysicalResourceId: physicalResourceId, + }; +} +async function submitResponse(status, event) { + const json = { + Status: status, + Reason: event.Reason ?? status, + StackId: event.StackId, + RequestId: event.RequestId, + PhysicalResourceId: event.PhysicalResourceId || MISSING_PHYSICAL_ID_MARKER, + LogicalResourceId: event.LogicalResourceId, + NoEcho: event.NoEcho, + Data: event.Data, + }; + exports.external.log('submit response to cloudformation', json); + const responseBody = JSON.stringify(json); + const parsedUrl = url.parse(event.ResponseURL); + const req = { + hostname: parsedUrl.hostname, + path: parsedUrl.path, + method: 'PUT', + headers: { + 'content-type': '', + 'content-length': Buffer.byteLength(responseBody, 'utf8'), + }, + }; + const retryOptions = { + attempts: 5, + sleep: 1000, + }; + await withRetries(retryOptions, exports.external.sendHttpRequest)(req, responseBody); +} +async function defaultSendHttpRequest(options, responseBody) { + return new Promise((resolve, reject) => { + try { + const request = https.request(options, _ => resolve()); + request.on('error', reject); + request.write(responseBody); + request.end(); + } + catch (e) { + reject(e); + } + }); +} +function defaultLog(fmt, ...params) { + // eslint-disable-next-line no-console + console.log(fmt, ...params); +} +function withRetries(options, fn) { + return async (...xs) => { + let attempts = options.attempts; + let ms = options.sleep; + while (true) { + try { + return await fn(...xs); + } + catch (e) { + if (attempts-- <= 0) { + throw e; + } + await sleep(Math.floor(Math.random() * ms)); + ms *= 2; + } + } + }; +} +exports.withRetries = withRetries; +async function sleep(ms) { + return new Promise((ok) => setTimeout(ok, ms)); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZWpzLWVudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJub2RlanMtZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBRTNCLGlCQUFpQjtBQUNKLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLGVBQWUsRUFBRSxzQkFBc0I7SUFDdkMsR0FBRyxFQUFFLFVBQVU7SUFDZixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLFNBQVM7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDbEcsTUFBTSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQVczRixLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQWtELEVBQUUsT0FBMEI7SUFDMUcsTUFBTSxjQUFjLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEQsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0QsdUVBQXVFO0lBQ3ZFLHVFQUF1RTtJQUN2RSxhQUFhO0lBQ2IsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssZ0NBQWdDLEVBQUU7UUFDbkcsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTztLQUNSO0lBRUQsSUFBSTtRQUNGLHlFQUF5RTtRQUN6RSxpRUFBaUU7UUFDakUsd0NBQXdDO1FBQ3hDLGlFQUFpRTtRQUNqRSxNQUFNLFdBQVcsR0FBWSxPQUFPLENBQUMsZ0JBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN4RSxNQUFN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LE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBSyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxFQUFFO1lBQ1gsSUFBSTtnQkFDRixPQUFPLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDbkIsTUFBTSxDQUFDLENBQUM7aUJBQ1Q7Z0JBQ0QsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDNUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBaEJELGtDQWdCQztBQUVELEtBQUssVUFBVSxLQUFLLENBQUMsRUFBVTtJQUM3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuXG4vLyBmb3IgdW5pdCB0ZXN0c1xuZXhwb3J0IGNvbnN0IGV4dGVybmFsID0ge1xuICBzZW5kSHR0cFJlcXVlc3Q6IGRlZmF1bHRTZW5kSHR0cFJlcXVlc3QsXG4gIGxvZzogZGVmYXVsdExvZyxcbiAgaW5jbHVkZVN0YWNrVHJhY2VzOiB0cnVlLFxuICB1c2VySGFuZGxlckluZGV4OiAnLi9pbmRleCcsXG59O1xuXG5jb25zdCBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6OkNSRUFURV9GQUlMRUQnO1xuY29uc3QgTUlTU0lOR19QSFlTSUNBTF9JRF9NQVJLRVIgPSAnQVdTQ0RLOjpDdXN0b21SZXNvdXJjZVByb3ZpZGVyRnJhbWV3b3JrOjpNSVNTSU5HX1BIWVNJQ0FMX0lEJztcblxuZXhwb3J0IHR5cGUgUmVzcG9uc2UgPSBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50ICYgSGFuZGxlclJlc3BvbnNlO1xuZXhwb3J0IHR5cGUgSGFuZGxlciA9IChldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgY29udGV4dDogQVdTTGFtYmRhLkNvbnRleHQpID0+IFByb21pc2U8SGFuZGxlclJlc3BvbnNlIHwgdm9pZD47XG5leHBvcnQgdHlwZSBIYW5kbGVyUmVzcG9uc2UgPSB1bmRlZmluZWQgfCB7XG4gIERhdGE/OiBhbnk7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZztcbiAgUmVhc29uPzogc3RyaW5nO1xuICBOb0VjaG8/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQsIGNvbnRleHQ6IEFXU0xhbWJkYS5Db250ZXh0KSB7XG4gIGNvbnN0IHNhbml0aXplZEV2ZW50ID0geyAuLi5ldmVudCwgUmVzcG9uc2VVUkw6ICcuLi4nIH07XG4gIGV4dGVybmFsLmxvZyhKU09OLnN0cmluZ2lmeShzYW5pdGl6ZWRFdmVudCwgdW5kZWZpbmVkLCAyKSk7XG5cbiAgLy8gaWdub3JlIERFTEVURSBldmVudCB3aGVuIHRoZSBwaHlzaWNhbCByZXNvdXJjZSBJRCBpcyB0aGUgbWFya2VyIHRoYXRcbiAgLy8gaW5kaWNhdGVzIHRoYXQgdGhpcyBERUxFVEUgaXMgYSBzdWJzZXF1ZW50IERFTEVURSB0byBhIGZhaWxlZCBDUkVBVEVcbiAgLy8gb3BlcmF0aW9uLlxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnICYmIGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCA9PT0gQ1JFQVRFX0ZBSUxFRF9QSFlTSUNBTF9JRF9NQVJLRVIpIHtcbiAgICBleHRlcm5hbC5sb2coJ2lnbm9yaW5nIERFTEVURSBldmVudCBjYXVzZWQgYnkgYSBmYWlsZWQgQ1JFQVRFIGV2ZW50Jyk7XG4gICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCBldmVudCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBpbnZva2UgdGhlIHVzZXIgaGFuZGxlci4gdGhpcyBpcyBpbnRlbnRpb25hbGx5IGluc2lkZSB0aGUgdHJ5LWNhdGNoIHRvXG4gICAgLy8gZW5zdXJlIHRoYXQgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaXQncyByZXBvcnRlZCBhcyBhIGZhaWx1cmUgdG9cbiAgICAvLyBjbG91ZGZvcm1hdGlvbiAob3RoZXJ3aXNlIGNmbiB3YWl0cykuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICBjb25zdCB1c2VySGFuZGxlcjogSGFuZGxlciA9IHJlcXVpcmUoZXh0ZXJuYWwudXNlckhhbmRsZXJJbmRleCkuaGFuZGxlcjtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB1c2VySGFuZGxlcihzYW5pdGl6ZWRFdmVudCwgY29udGV4dCk7XG5cbiAgICAvLyB2YWxpZGF0ZSB1c2VyIHJlc3BvbnNlIGFuZCBjcmVhdGUgdGhlIGNvbWJpbmVkIGV2ZW50XG4gICAgY29uc3QgcmVzcG9uc2VFdmVudCA9IHJlbmRlclJlc3BvbnNlKGV2ZW50LCByZXN1bHQpO1xuXG4gICAgLy8gc3VibWl0IHRvIGNmbiBhcyBzdWNjZXNzXG4gICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ1NVQ0NFU1MnLCByZXNwb25zZUV2ZW50KTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgY29uc3QgcmVzcDogUmVzcG9uc2UgPSB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIFJlYXNvbjogZXh0ZXJuYWwuaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICB9O1xuXG4gICAgaWYgKCFyZXNwLlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgLy8gc3BlY2lhbCBjYXNlOiBpZiBDUkVBVEUgZmFpbHMsIHdoaWNoIHVzdWFsbHkgaW1wbGllcywgd2UgdXN1YWxseSBkb24ndFxuICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAvLyBhZGRyZXNzIHRoaXMsIHdlIHVzZSBhIG1hcmtlciBzbyB0aGUgcHJvdmlkZXIgZnJhbWV3b3JrIGNhbiBzaW1wbHlcbiAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgIGV4dGVybmFsLmxvZygnQ1JFQVRFIGZhaWxlZCwgcmVzcG9uZGluZyB3aXRoIGEgbWFya2VyIHBoeXNpY2FsIHJlc291cmNlIGlkIHNvIHRoYXQgdGhlIHN1YnNlcXVlbnQgREVMRVRFIHdpbGwgYmUgaWdub3JlZCcpO1xuICAgICAgICByZXNwLlBoeXNpY2FsUmVzb3VyY2VJZCA9IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgIC8vIHRlcnJpYmx5IHdyb25nIGJlY2F1c2UgYWxsIG90aGVyIGV2ZW50cyBzaG91bGQgaGF2ZSBhbiBJRC5cbiAgICAgICAgZXh0ZXJuYWwubG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIHJlc3ApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJlc3BvbnNlKFxuICBjZm5SZXF1ZXN0OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50ICYgeyBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmcgfSxcbiAgaGFuZGxlclJlc3BvbnNlOiB2b2lkIHwgSGFuZGxlclJlc3BvbnNlID0geyB9KTogUmVzcG9uc2Uge1xuXG4gIC8vIGlmIHBoeXNpY2FsIElEIGlzIG5vdCByZXR1cm5lZCwgd2UgaGF2ZSBzb21lIGRlZmF1bHRzIGZvciB5b3UgYmFzZWRcbiAgLy8gb24gdGhlIHJlcXVlc3QgdHlwZS5cbiAgY29uc3QgcGh5c2ljYWxSZXNvdXJjZUlkID0gaGFuZGxlclJlc3BvbnNlLlBoeXNpY2FsUmVzb3VyY2VJZCA/PyBjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZCA/PyBjZm5SZXF1ZXN0LlJlcXVlc3RJZDtcblxuICAvLyBpZiB3ZSBhcmUgaW4gREVMRVRFIGFuZCBwaHlzaWNhbCBJRCB3YXMgY2hhbmdlZCwgaXQncyBhbiBlcnJvci5cbiAgaWYgKGNmblJlcXVlc3QuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnICYmIHBoeXNpY2FsUmVzb3VyY2VJZCAhPT0gY2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERFTEVURTogY2Fubm90IGNoYW5nZSB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgZnJvbSBcIiR7Y2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWR9XCIgdG8gXCIke2hhbmRsZXJSZXNwb25zZS5QaHlzaWNhbFJlc291cmNlSWR9XCIgZHVyaW5nIGRlbGV0aW9uYCk7XG4gIH1cblxuICAvLyBtZXJnZSByZXF1ZXN0IGV2ZW50IGFuZCByZXN1bHQgZXZlbnQgKHJlc3VsdCBwcmV2YWlscykuXG4gIHJldHVybiB7XG4gICAgLi4uY2ZuUmVxdWVzdCxcbiAgICAuLi5oYW5kbGVyUmVzcG9uc2UsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBwaHlzaWNhbFJlc291cmNlSWQsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN1Ym1pdFJlc3BvbnNlKHN0YXR1czogJ1NVQ0NFU1MnIHwgJ0ZBSUxFRCcsIGV2ZW50OiBSZXNwb25zZSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogZXZlbnQuUmVhc29uID8/IHN0YXR1cyxcbiAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogZXZlbnQuUmVxdWVzdElkLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkIHx8IE1JU1NJTkdfUEhZU0lDQUxfSURfTUFSS0VSLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBOb0VjaG86IGV2ZW50Lk5vRWNobyxcbiAgICBEYXRhOiBldmVudC5EYXRhLFxuICB9O1xuXG4gIGV4dGVybmFsLmxvZygnc3VibWl0IHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywganNvbik7XG5cbiAgY29uc3QgcmVzcG9uc2VCb2R5ID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG4gIGNvbnN0IHBhcnNlZFVybCA9IHVybC5wYXJzZShldmVudC5SZXNwb25zZVVSTCk7XG4gIGNvbnN0IHJlcSA9IHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtdHlwZSc6ICcnLFxuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogQnVmZmVyLmJ5dGVMZW5ndGgocmVzcG9uc2VCb2R5LCAndXRmOCcpLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgcmV0cnlPcHRpb25zID0ge1xuICAgIGF0dGVtcHRzOiA1LFxuICAgIHNsZWVwOiAxMDAwLFxuICB9O1xuICBhd2FpdCB3aXRoUmV0cmllcyhyZXRyeU9wdGlvbnMsIGV4dGVybmFsLnNlbmRIdHRwUmVxdWVzdCkocmVxLCByZXNwb25zZUJvZHkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkZWZhdWx0U2VuZEh0dHBSZXF1ZXN0KG9wdGlvbnM6IGh0dHBzLlJlcXVlc3RPcHRpb25zLCByZXNwb25zZUJvZHk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRpb25zLCBfID0+IHJlc29sdmUoKSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LndyaXRlKHJlc3BvbnNlQm9keSk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJlamVjdChlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0TG9nKGZtdDogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4ucGFyYW1zKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXRyeU9wdGlvbnMge1xuICAvKiogSG93IG1hbnkgcmV0cmllcyAod2lsbCBhdCBsZWFzdCB0cnkgb25jZSkgKi9cbiAgcmVhZG9ubHkgYXR0ZW1wdHM6IG51bWJlcjtcbiAgLyoqIFNsZWVwIGJhc2UsIGluIG1zICovXG4gIHJlYWRvbmx5IHNsZWVwOiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoUmV0cmllczxBIGV4dGVuZHMgQXJyYXk8YW55PiwgQj4ob3B0aW9uczogUmV0cnlPcHRpb25zLCBmbjogKC4uLnhzOiBBKSA9PiBQcm9taXNlPEI+KTogKC4uLnhzOiBBKSA9PiBQcm9taXNlPEI+IHtcbiAgcmV0dXJuIGFzeW5jICguLi54czogQSkgPT4ge1xuICAgIGxldCBhdHRlbXB0cyA9IG9wdGlvbnMuYXR0ZW1wdHM7XG4gICAgbGV0IG1zID0gb3B0aW9ucy5zbGVlcDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKC4uLnhzKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGF0dGVtcHRzLS0gPD0gMCkge1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgc2xlZXAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbXMpKTtcbiAgICAgICAgbXMgKj0gMjtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaykgPT4gc2V0VGltZW91dChvaywgbXMpKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js new file mode 100644 index 0000000000000..8cbc0ea437b76 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837/index.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handler = void 0; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +const sdk = require("@aws-sdk/client-ec2"); +const ec2 = new sdk.EC2({}); +/** + * The default security group ingress rule. This can be used to both revoke and authorize the rules + */ +function ingressRuleParams(groupId, account) { + return { + GroupId: groupId, + IpPermissions: [{ + UserIdGroupPairs: [{ + GroupId: groupId, + UserId: account, + }], + IpProtocol: '-1', + }], + }; +} +/** + * The default security group egress rule. This can be used to both revoke and authorize the rules + */ +function egressRuleParams(groupId) { + return { + GroupId: groupId, + IpPermissions: [{ + IpRanges: [{ + CidrIp: '0.0.0.0/0', + }], + IpProtocol: '-1', + }], + }; +} +/** + * Process a custom resource request to restrict the default security group + * ingress & egress rules. + * + * When someone turns off the property then this custom resource will be deleted in which + * case we should add back the rules that were removed. + */ +async function handler(event) { + const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; + const account = event.ResourceProperties.Account; + switch (event.RequestType) { + case 'Create': + return revokeRules(securityGroupId, account); + case 'Update': + return onUpdate(event); + case 'Delete': + return authorizeRules(securityGroupId, account); + } +} +exports.handler = handler; +async function onUpdate(event) { + const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; + const newSg = event.ResourceProperties.DefaultSecurityGroupId; + if (oldSg !== newSg) { + await authorizeRules(oldSg, event.ResourceProperties.Account); + await revokeRules(newSg, event.ResourceProperties.Account); + } + return; +} +/** + * Revoke both ingress and egress rules + */ +async function revokeRules(groupId, account) { + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); + return; +} +/** + * Authorize both ingress and egress rules + */ +async function authorizeRules(groupId, account) { + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); + return; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU1Qjs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFHekQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixNQUFNLEVBQUUsT0FBTztxQkFDaEIsQ0FBQztnQkFDRixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsT0FBZTtJQUN2QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxFQUFFLENBQUM7d0JBQ1QsTUFBTSxFQUFFLFdBQVc7cUJBQ3BCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFrRDtJQUM5RSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNqRCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDekIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxXQUFXLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuRDtBQUNILENBQUM7QUFYRCwwQkFXQztBQUNELEtBQUssVUFBVSxRQUFRLENBQUMsS0FBd0Q7SUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDekQsTUFBTSxHQUFHLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxPQUFPO0FBQ1QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFlLEVBQUUsT0FBZTtJQUM1RCxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE9BQU87QUFDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuaW1wb3J0ICogYXMgc2RrIGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lYzInO1xuXG5jb25zdCBlYzIgPSBuZXcgc2RrLkVDMih7fSk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTpcbnNkay5SZXZva2VTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dFxufCBzZGsuQXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IHNkay5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzQ29tbWFuZElucHV0IHwgc2RrLkF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3NDb21tYW5kSW5wdXQge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIElwUmFuZ2VzOiBbe1xuICAgICAgICBDaWRySXA6ICcwLjAuMC4wLzAnLFxuICAgICAgfV0sXG4gICAgICBJcFByb3RvY29sOiAnLTEnLFxuICAgIH1dLFxuICB9O1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYSBjdXN0b20gcmVzb3VyY2UgcmVxdWVzdCB0byByZXN0cmljdCB0aGUgZGVmYXVsdCBzZWN1cml0eSBncm91cFxuICogaW5ncmVzcyAmIGVncmVzcyBydWxlcy5cbiAqXG4gKiBXaGVuIHNvbWVvbmUgdHVybnMgb2ZmIHRoZSBwcm9wZXJ0eSB0aGVuIHRoaXMgY3VzdG9tIHJlc291cmNlIHdpbGwgYmUgZGVsZXRlZCBpbiB3aGljaFxuICogY2FzZSB3ZSBzaG91bGQgYWRkIGJhY2sgdGhlIHJ1bGVzIHRoYXQgd2VyZSByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgYWNjb3VudCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50O1xuICBzd2l0Y2ggKGV2ZW50LlJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgIHJldHVybiByZXZva2VSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICAgIGNhc2UgJ1VwZGF0ZSc6XG4gICAgICByZXR1cm4gb25VcGRhdGUoZXZlbnQpO1xuICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICByZXR1cm4gYXV0aG9yaXplUnVsZXMoc2VjdXJpdHlHcm91cElkLCBhY2NvdW50KTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZXZlbnQ6IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgb2xkU2cgPSBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgY29uc3QgbmV3U2cgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGVmYXVsdFNlY3VyaXR5R3JvdXBJZDtcbiAgaWYgKG9sZFNnICE9PSBuZXdTZykge1xuICAgIGF3YWl0IGF1dGhvcml6ZVJ1bGVzKG9sZFNnLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQWNjb3VudCk7XG4gICAgYXdhaXQgcmV2b2tlUnVsZXMobmV3U2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgfVxuICByZXR1cm47XG59XG5cbi8qKlxuICogUmV2b2tlIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJldm9rZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5yZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpO1xuICByZXR1cm47XG59XG5cbi8qKlxuICogQXV0aG9yaXplIGJvdGggaW5ncmVzcyBhbmQgZWdyZXNzIHJ1bGVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF1dGhvcml6ZVJ1bGVzKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzcyhpbmdyZXNzUnVsZVBhcmFtcyhncm91cElkLCBhY2NvdW50KSk7XG4gIGF3YWl0IGVjMi5hdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzKGVncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCkpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js deleted file mode 100644 index cf597f535efd3..0000000000000 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.handler = void 0; -// eslint-disable-next-line import/no-extraneous-dependencies -const aws_sdk_1 = require("aws-sdk"); -const ec2 = new aws_sdk_1.EC2(); -/** - * The default security group ingress rule. This can be used to both revoke and authorize the rules - */ -function ingressRuleParams(groupId, account) { - return { - GroupId: groupId, - IpPermissions: [{ - UserIdGroupPairs: [{ - GroupId: groupId, - UserId: account, - }], - IpProtocol: '-1', - }], - }; -} -/** - * The default security group egress rule. This can be used to both revoke and authorize the rules - */ -function egressRuleParams(groupId) { - return { - GroupId: groupId, - IpPermissions: [{ - IpRanges: [{ - CidrIp: '0.0.0.0/0', - }], - IpProtocol: '-1', - }], - }; -} -/** - * Process a custom resource request to restrict the default security group - * ingress & egress rules. - * - * When someone turns off the property then this custom resource will be deleted in which - * case we should add back the rules that were removed. - */ -async function handler(event) { - const securityGroupId = event.ResourceProperties.DefaultSecurityGroupId; - const account = event.ResourceProperties.Account; - switch (event.RequestType) { - case 'Create': - return revokeRules(securityGroupId, account); - case 'Update': - return onUpdate(event); - case 'Delete': - return authorizeRules(securityGroupId, account); - } -} -exports.handler = handler; -async function onUpdate(event) { - const oldSg = event.OldResourceProperties.DefaultSecurityGroupId; - const newSg = event.ResourceProperties.DefaultSecurityGroupId; - if (oldSg !== newSg) { - await authorizeRules(oldSg, event.ResourceProperties.Account); - await revokeRules(newSg, event.ResourceProperties.Account); - } - return; -} -/** - * Revoke both ingress and egress rules - */ -async function revokeRules(groupId, account) { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - return; -} -/** - * Authorize both ingress and egress rules - */ -async function authorizeRules(groupId, account) { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - return; -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0QscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUM7QUFFdEI7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixhQUFhLEVBQUUsQ0FBQztnQkFDZCxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNqQixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsTUFBTSxFQUFFLE9BQU87cUJBQ2hCLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsRUFBRSxDQUFDO3dCQUNULE1BQU0sRUFBRSxXQUFXO3FCQUNwQixDQUFDO2dCQUNGLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBa0Q7SUFDOUUsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3pCLEtBQUssUUFBUTtZQUNYLE9BQU8sV0FBVyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLFFBQVE7WUFDWCxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7QUFDSCxDQUFDO0FBWEQsMEJBV0M7QUFDRCxLQUFLLFVBQVUsUUFBUSxDQUFDLEtBQXdEO0lBQzlFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7SUFDOUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO1FBQ25CLE1BQU0sY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1RDtJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQ3pELE1BQU0sR0FBRyxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekUsTUFBTSxHQUFHLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEYsT0FBTztBQUNULENBQUM7QUFFRDs7R0FFRztBQUNILEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDNUQsTUFBTSxHQUFHLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkYsTUFBTSxHQUFHLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RSxPQUFPO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IEVDMiB9IGZyb20gJ2F3cy1zZGsnO1xuXG5jb25zdCBlYzIgPSBuZXcgRUMyKCk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGJvdGggcmV2b2tlIGFuZCBhdXRob3JpemUgdGhlIHJ1bGVzXG4gKi9cbmZ1bmN0aW9uIGluZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZywgYWNjb3VudDogc3RyaW5nKTogRUMyLlJldm9rZVNlY3VyaXR5R3JvdXBJbmdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwSW5ncmVzc1JlcXVlc3Qge1xuICByZXR1cm4ge1xuICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgSXBQZXJtaXNzaW9uczogW3tcbiAgICAgIFVzZXJJZEdyb3VwUGFpcnM6IFt7XG4gICAgICAgIEdyb3VwSWQ6IGdyb3VwSWQsXG4gICAgICAgIFVzZXJJZDogYWNjb3VudCxcbiAgICAgIH1dLFxuICAgICAgSXBQcm90b2NvbDogJy0xJyxcbiAgICB9XSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBzZWN1cml0eSBncm91cCBlZ3Jlc3MgcnVsZS4gVGhpcyBjYW4gYmUgdXNlZCB0byBib3RoIHJldm9rZSBhbmQgYXV0aG9yaXplIHRoZSBydWxlc1xuICovXG5mdW5jdGlvbiBlZ3Jlc3NSdWxlUGFyYW1zKGdyb3VwSWQ6IHN0cmluZyk6IEVDMi5SZXZva2VTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB8IEVDMi5BdXRob3JpemVTZWN1cml0eUdyb3VwRWdyZXNzUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgR3JvdXBJZDogZ3JvdXBJZCxcbiAgICBJcFBlcm1pc3Npb25zOiBbe1xuICAgICAgSXBSYW5nZXM6IFt7XG4gICAgICAgIENpZHJJcDogJzAuMC4wLjAvMCcsXG4gICAgICB9XSxcbiAgICAgIElwUHJvdG9jb2w6ICctMScsXG4gICAgfV0sXG4gIH07XG59XG5cbi8qKlxuICogUHJvY2VzcyBhIGN1c3RvbSByZXNvdXJjZSByZXF1ZXN0IHRvIHJlc3RyaWN0IHRoZSBkZWZhdWx0IHNlY3VyaXR5IGdyb3VwXG4gKiBpbmdyZXNzICYgZWdyZXNzIHJ1bGVzLlxuICpcbiAqIFdoZW4gc29tZW9uZSB0dXJucyBvZmYgdGhlIHByb3BlcnR5IHRoZW4gdGhpcyBjdXN0b20gcmVzb3VyY2Ugd2lsbCBiZSBkZWxldGVkIGluIHdoaWNoXG4gKiBjYXNlIHdlIHNob3VsZCBhZGQgYmFjayB0aGUgcnVsZXMgdGhhdCB3ZXJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBhY2NvdW50ID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQ7XG4gIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgcmV0dXJuIHJldm9rZVJ1bGVzKHNlY3VyaXR5R3JvdXBJZCwgYWNjb3VudCk7XG4gICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgIHJldHVybiBvblVwZGF0ZShldmVudCk7XG4gICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgIHJldHVybiBhdXRob3JpemVSdWxlcyhzZWN1cml0eUdyb3VwSWQsIGFjY291bnQpO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBvblVwZGF0ZShldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvbGRTZyA9IGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBjb25zdCBuZXdTZyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EZWZhdWx0U2VjdXJpdHlHcm91cElkO1xuICBpZiAob2xkU2cgIT09IG5ld1NnKSB7XG4gICAgYXdhaXQgYXV0aG9yaXplUnVsZXMob2xkU2csIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5BY2NvdW50KTtcbiAgICBhd2FpdCByZXZva2VSdWxlcyhuZXdTZywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkFjY291bnQpO1xuICB9XG4gIHJldHVybjtcbn1cblxuLyoqXG4gKiBSZXZva2UgYm90aCBpbmdyZXNzIGFuZCBlZ3Jlc3MgcnVsZXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmV2b2tlUnVsZXMoZ3JvdXBJZDogc3RyaW5nLCBhY2NvdW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWMyLnJldm9rZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICBhd2FpdCBlYzIucmV2b2tlU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgcmV0dXJuO1xufVxuXG4vKipcbiAqIEF1dGhvcml6ZSBib3RoIGluZ3Jlc3MgYW5kIGVncmVzcyBydWxlc1xuICovXG5hc3luYyBmdW5jdGlvbiBhdXRob3JpemVSdWxlcyhncm91cElkOiBzdHJpbmcsIGFjY291bnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlYzIuYXV0aG9yaXplU2VjdXJpdHlHcm91cEluZ3Jlc3MoaW5ncmVzc1J1bGVQYXJhbXMoZ3JvdXBJZCwgYWNjb3VudCkpLnByb21pc2UoKTtcbiAgYXdhaXQgZWMyLmF1dGhvcml6ZVNlY3VyaXR5R3JvdXBFZ3Jlc3MoZWdyZXNzUnVsZVBhcmFtcyhncm91cElkKSkucHJvbWlzZSgpO1xuICByZXR1cm47XG59XG4iXX0= \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.assets.json index a68b74ac24ad2..db86f554a78ea 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.assets.json @@ -1,20 +1,20 @@ { "version": "33.0.0", "files": { - "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd": { + "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837": { "source": { - "path": "asset.ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd", + "path": "asset.18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837", "packaging": "zip" }, "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip", + "objectKey": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } }, - "3cb4c5b292de90a5cca731c6fccc40d54330b450daa17f661fd5b902cdb88262": { + "059791a6d7bcbe6c57ee7a66815aec54a766bab098a73b3f68e7e35e590207eb": { "source": { "path": "aws-cdk-rds-integ-instance-create-grant.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "3cb4c5b292de90a5cca731c6fccc40d54330b450daa17f661fd5b902cdb88262.json", + "objectKey": "059791a6d7bcbe6c57ee7a66815aec54a766bab098a73b3f68e7e35e590207eb.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.template.json index 3919e084f527e..dea087d59cb1b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/aws-cdk-rds-integ-instance-create-grant.template.json @@ -489,7 +489,7 @@ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" }, - "S3Key": "ba598c1f1d84f7077ea9c16a6b921e4f8acf18e996100e72a8f17da980e64fdd.zip" + "S3Key": "18d379b052acd60e0d086d5b19d9bef956ebc0bd018c5570960125aab0c7f837.zip" }, "Timeout": 900, "MemorySize": 128, @@ -500,7 +500,7 @@ "Arn" ] }, - "Runtime": "nodejs16.x", + "Runtime": "nodejs18.x", "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" }, "DependsOn": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/manifest.json index 289f724851753..e8d0c82da7967 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-create-grant.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3cb4c5b292de90a5cca731c6fccc40d54330b450daa17f661fd5b902cdb88262.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/059791a6d7bcbe6c57ee7a66815aec54a766bab098a73b3f68e7e35e590207eb.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json index 23ab1ead30ce7..eee117fc9693c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.assets.json @@ -14,7 +14,7 @@ } } }, - "61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa": { + "e156e994bd8b199ada07e704f8e41973d5a4754bb6850d96a2d271a56427aaac": { "source": { "path": "aws-cdk-customresources-vpc.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa.json", + "objectKey": "e156e994bd8b199ada07e704f8e41973d5a4754bb6850d96a2d271a56427aaac.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json index 59e5e12fa96a3..b4d9d7e2d65b2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/aws-cdk-customresources-vpc.template.json @@ -432,7 +432,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "DescribeVpcAttributeCustomResourcePolicyAF7C66C1" diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json index 4b55f80b6818d..f8aeb4cb40b9c 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource-vpc.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/61a99b6d1016281c78311f819c9f93ab74ebdcd0fb42a3c19207ce25d87423aa.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e156e994bd8b199ada07e704f8e41973d5a4754bb6850d96a2d271a56427aaac.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -171,12 +171,6 @@ "data": "VpcVPCGWBF912B6E" } ], - "/aws-cdk-customresources-vpc/DescribeVpcAttribute": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-customresources-vpc/DescribeVpcAttribute/Resource/Default": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json index 01b3bbd03d66e..279df01301eb9 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.assets.json @@ -14,7 +14,7 @@ } } }, - "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab": { + "f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf": { "source": { "path": "aws-cdk-sdk-js-v3.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", + "objectKey": "f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json index 95e425361caa1..c9fcc96a54cb8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js-v3.template.json @@ -44,7 +44,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "PublishCustomResourcePolicyDF696FCA" @@ -138,7 +138,7 @@ }, "Create": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", "Update": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "ListTopicsCustomResourcePolicy31A8396A", @@ -211,7 +211,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "GetParameterCustomResourcePolicyD8E5D455" @@ -311,7 +311,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -327,7 +327,7 @@ }, "Create": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", "Update": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "DescribeClusterCustomResourcePolicyD7730CF4" diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json index 83d30b0556546..1a660f88d7732 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.assets.json @@ -14,7 +14,7 @@ } } }, - "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab": { + "f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf": { "source": { "path": "aws-cdk-sdk-js.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", + "objectKey": "f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json index 95e425361caa1..c9fcc96a54cb8 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/aws-cdk-sdk-js.template.json @@ -44,7 +44,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "PublishCustomResourcePolicyDF696FCA" @@ -138,7 +138,7 @@ }, "Create": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", "Update": "{\"service\":\"SNS\",\"action\":\"listTopics\",\"physicalResourceId\":{\"responsePath\":\"Topics.0.TopicArn\"}}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "ListTopicsCustomResourcePolicy31A8396A", @@ -211,7 +211,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "GetParameterCustomResourcePolicyD8E5D455" @@ -311,7 +311,7 @@ ] ] }, - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" @@ -327,7 +327,7 @@ }, "Create": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", "Update": "{\"service\":\"EKS\",\"action\":\"describeCluster\",\"parameters\":{\"name\":\"fake-cluster\"},\"physicalResourceId\":{\"id\":\"fake-cluster\"},\"ignoreErrorCodesMatching\":\"ResourceNotFoundException\"}", - "InstallLatestAwsSdk": "false" + "InstallLatestAwsSdk": false }, "DependsOn": [ "DescribeClusterCustomResourcePolicyD7730CF4" diff --git a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json index da3fcf0020248..9192e2bb1b501 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.aws-custom-resource.js.snapshot/manifest.json @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -39,12 +39,6 @@ "data": "TopicBFC7AF6E" } ], - "/aws-cdk-sdk-js/Publish": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js/Publish/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -69,12 +63,6 @@ "data": "AWS679f53fac002430cb0da5b7982bd22872D164C4C" } ], - "/aws-cdk-sdk-js/ListTopics": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js/ListTopics/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -93,12 +81,6 @@ "data": "Utf8Parameter6C885A19" } ], - "/aws-cdk-sdk-js/GetParameter": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js/GetParameter/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -123,24 +105,12 @@ "data": "CustomRoleDefaultPolicyC5C189DF" } ], - "/aws-cdk-sdk-js/GetParameterNoPolicy": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js/GetParameterNoPolicy/Resource/Default": [ { "type": "aws:cdk:logicalId", "data": "GetParameterNoPolicyFCF7AA3B" } ], - "/aws-cdk-sdk-js/DescribeCluster": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js/DescribeCluster/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -208,7 +178,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/90328cc300769dbb47041b1d6d622e6b40cae6d7dc37c1ab8b4943405ffdb7ab.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f7014d6ee9fca77abf913cdb6de3cc5313693f863b4fc8fe4ec59b5765eec3cf.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -230,12 +200,6 @@ "data": "TopicBFC7AF6E" } ], - "/aws-cdk-sdk-js-v3/Publish": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js-v3/Publish/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -260,12 +224,6 @@ "data": "AWS679f53fac002430cb0da5b7982bd22872D164C4C" } ], - "/aws-cdk-sdk-js-v3/ListTopics": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js-v3/ListTopics/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -284,12 +242,6 @@ "data": "Utf8Parameter6C885A19" } ], - "/aws-cdk-sdk-js-v3/GetParameter": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js-v3/GetParameter/Resource/Default": [ { "type": "aws:cdk:logicalId", @@ -314,24 +266,12 @@ "data": "CustomRoleDefaultPolicyC5C189DF" } ], - "/aws-cdk-sdk-js-v3/GetParameterNoPolicy": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js-v3/GetParameterNoPolicy/Resource/Default": [ { "type": "aws:cdk:logicalId", "data": "GetParameterNoPolicyFCF7AA3B" } ], - "/aws-cdk-sdk-js-v3/DescribeCluster": [ - { - "type": "aws:cdk:warning", - "data": "installLatestAwsSdk was not specified, and defaults to true. You probably do not want this. Set the global context flag '@aws-cdk/customresources:installLatestAwsSdkDefault' to false to switch this behavior off project-wide, or set the property explicitly to true if you know you need to call APIs that are not in Lambda's built-in SDK version." - } - ], "/aws-cdk-sdk-js-v3/DescribeCluster/Resource/Default": [ { "type": "aws:cdk:logicalId", diff --git a/packages/aws-cdk-lib/aws-ec2/lib/restrict-default-security-group-handler/index.ts b/packages/aws-cdk-lib/aws-ec2/lib/restrict-default-security-group-handler/index.ts index f2072012329df..279e674d7ba73 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/restrict-default-security-group-handler/index.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/restrict-default-security-group-handler/index.ts @@ -1,12 +1,14 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import { EC2 } from 'aws-sdk'; +/* eslint-disable-next-line import/no-extraneous-dependencies */ +import * as sdk from '@aws-sdk/client-ec2'; -const ec2 = new EC2(); +const ec2 = new sdk.EC2({}); /** * The default security group ingress rule. This can be used to both revoke and authorize the rules */ -function ingressRuleParams(groupId: string, account: string): EC2.RevokeSecurityGroupIngressRequest | EC2.AuthorizeSecurityGroupIngressRequest { +function ingressRuleParams(groupId: string, account: string): +sdk.RevokeSecurityGroupIngressCommandInput +| sdk.AuthorizeSecurityGroupIngressCommandInput { return { GroupId: groupId, IpPermissions: [{ @@ -22,7 +24,7 @@ function ingressRuleParams(groupId: string, account: string): EC2.RevokeSecurity /** * The default security group egress rule. This can be used to both revoke and authorize the rules */ -function egressRuleParams(groupId: string): EC2.RevokeSecurityGroupEgressRequest | EC2.AuthorizeSecurityGroupEgressRequest { +function egressRuleParams(groupId: string): sdk.RevokeSecurityGroupEgressCommandInput | sdk.AuthorizeSecurityGroupEgressCommandInput { return { GroupId: groupId, IpPermissions: [{ @@ -67,8 +69,8 @@ async function onUpdate(event: AWSLambda.CloudFormationCustomResourceUpdateEvent * Revoke both ingress and egress rules */ async function revokeRules(groupId: string, account: string): Promise { - await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)).promise(); - await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); + await ec2.revokeSecurityGroupEgress(egressRuleParams(groupId)); + await ec2.revokeSecurityGroupIngress(ingressRuleParams(groupId, account)); return; } @@ -76,7 +78,7 @@ async function revokeRules(groupId: string, account: string): Promise { * Authorize both ingress and egress rules */ async function authorizeRules(groupId: string, account: string): Promise { - await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)).promise(); - await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)).promise(); + await ec2.authorizeSecurityGroupIngress(ingressRuleParams(groupId, account)); + await ec2.authorizeSecurityGroupEgress(egressRuleParams(groupId)); return; } diff --git a/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts b/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts index f67991963f240..21f4549208330 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/vpc.ts @@ -1700,7 +1700,7 @@ export class Vpc extends VpcBase { const id = 'Custom::VpcRestrictDefaultSG'; const provider = CustomResourceProvider.getOrCreateProvider(this, id, { codeDirectory: path.join(__dirname, 'restrict-default-security-group-handler'), - runtime: CustomResourceProviderRuntime.NODEJS_16_X, + runtime: CustomResourceProviderRuntime.NODEJS_18_X, description: 'Lambda function for removing all inbound/outbound rules from the VPC default security group', }); provider.addToRolePolicy({ diff --git a/packages/aws-cdk-lib/aws-ec2/test/restrict-default-security-group-handler.test.ts b/packages/aws-cdk-lib/aws-ec2/test/restrict-default-security-group-handler.test.ts index f413d71f1ce35..3562230b51f0f 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/restrict-default-security-group-handler.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/restrict-default-security-group-handler.test.ts @@ -1,52 +1,12 @@ -let mockRevokeSecurityGroupEgress: jest.Mock; -let mockAuthorizeSecurityGroupEgress: jest.Mock; -let mockRevokeSecurityGroupIngress: jest.Mock; -let mockAuthorizeSecurityGroupIngress: jest.Mock; - +import 'aws-sdk-client-mock-jest'; +import { AuthorizeSecurityGroupEgressCommand, AuthorizeSecurityGroupIngressCommand, EC2, RevokeSecurityGroupEgressCommand, RevokeSecurityGroupIngressCommand } from '@aws-sdk/client-ec2'; +import { mockClient } from 'aws-sdk-client-mock'; import { handler } from '../lib/restrict-default-security-group-handler'; -jest.mock('aws-sdk', () => { - return { - EC2: jest.fn(() => { - return { - revokeSecurityGroupEgress: jest.fn((params) => { - return { - promise: () => mockRevokeSecurityGroupEgress(params), - }; - }), - revokeSecurityGroupIngress: jest.fn((params) => { - return { - promise: () => mockRevokeSecurityGroupIngress(params), - }; - }), - authorizeSecurityGroupIngress: jest.fn((params) => { - return { - promise: () => mockAuthorizeSecurityGroupIngress(params), - }; - }), - authorizeSecurityGroupEgress: jest.fn((params) => { - return { - promise: () => mockAuthorizeSecurityGroupEgress(params), - }; - }), - }; - }), - }; -}); +const mockEc2Client = mockClient(EC2); beforeEach(() => { - mockRevokeSecurityGroupEgress = jest.fn().mockReturnThis(); - mockRevokeSecurityGroupIngress = jest.fn().mockReturnThis(); - mockAuthorizeSecurityGroupEgress = jest.fn().mockReturnThis(); - mockAuthorizeSecurityGroupIngress = jest.fn().mockReturnThis(); -}); - -afterEach(() => { - jest.clearAllMocks(); -}); - -afterAll(() => { - jest.restoreAllMocks(); + mockEc2Client.reset(); }); test('revokes rules on create event', async () => { @@ -64,9 +24,9 @@ test('revokes rules on create event', async () => { await invokeHandler(event); // THEN - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledTimes(1); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledTimes(1); - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupEgressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupIngressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandWith(RevokeSecurityGroupEgressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ IpRanges: [{ @@ -75,7 +35,7 @@ test('revokes rules on create event', async () => { IpProtocol: '-1', }], }); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandWith(RevokeSecurityGroupIngressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ UserIdGroupPairs: [{ @@ -102,11 +62,11 @@ test('authorizes rules on delete event', async () => { await invokeHandler(event); // THEN - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledTimes(0); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledTimes(0); - expect(mockAuthorizeSecurityGroupEgress).toHaveBeenCalledTimes(1); - expect(mockAuthorizeSecurityGroupIngress).toHaveBeenCalledTimes(1); - expect(mockAuthorizeSecurityGroupIngress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupEgressCommand, 0); + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupIngressCommand, 0); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupEgressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupIngressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandWith(AuthorizeSecurityGroupIngressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ UserIdGroupPairs: [{ @@ -116,7 +76,7 @@ test('authorizes rules on delete event', async () => { IpProtocol: '-1', }], }); - expect(mockAuthorizeSecurityGroupEgress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandWith(AuthorizeSecurityGroupEgressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ IpRanges: [{ @@ -147,10 +107,10 @@ test('update event with no change', async () => { await invokeHandler(event); // THEN - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledTimes(0); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledTimes(0); - expect(mockAuthorizeSecurityGroupEgress).toHaveBeenCalledTimes(0); - expect(mockAuthorizeSecurityGroupIngress).toHaveBeenCalledTimes(0); + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupEgressCommand, 0); + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupIngressCommand, 0); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupEgressCommand, 0); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupIngressCommand, 0); }); test('update event with security group change', async () => { @@ -173,11 +133,11 @@ test('update event with security group change', async () => { await invokeHandler(event); // THEN - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledTimes(1); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledTimes(1); - expect(mockAuthorizeSecurityGroupEgress).toHaveBeenCalledTimes(1); - expect(mockAuthorizeSecurityGroupIngress).toHaveBeenCalledTimes(1); - expect(mockRevokeSecurityGroupIngress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupEgressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandTimes(RevokeSecurityGroupIngressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupEgressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandTimes(AuthorizeSecurityGroupIngressCommand, 1); + expect(mockEc2Client).toHaveReceivedCommandWith(RevokeSecurityGroupIngressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ UserIdGroupPairs: [{ @@ -187,7 +147,7 @@ test('update event with security group change', async () => { IpProtocol: '-1', }], }); - expect(mockRevokeSecurityGroupEgress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandWith(RevokeSecurityGroupEgressCommand, { GroupId: 'sg-abc123', IpPermissions: [{ IpRanges: [{ @@ -196,7 +156,7 @@ test('update event with security group change', async () => { IpProtocol: '-1', }], }); - expect(mockAuthorizeSecurityGroupEgress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandWith(AuthorizeSecurityGroupEgressCommand, { GroupId: 'sg-xyz123', IpPermissions: [{ IpRanges: [{ @@ -205,7 +165,7 @@ test('update event with security group change', async () => { IpProtocol: '-1', }], }); - expect(mockAuthorizeSecurityGroupIngress).toHaveBeenCalledWith({ + expect(mockEc2Client).toHaveReceivedCommandWith(AuthorizeSecurityGroupIngressCommand, { GroupId: 'sg-xyz123', IpPermissions: [{ UserIdGroupPairs: [{ diff --git a/packages/aws-cdk-lib/aws-iam/lib/oidc-provider.ts b/packages/aws-cdk-lib/aws-iam/lib/oidc-provider.ts index 6e3bb1623e8f1..d567698f74a25 100644 --- a/packages/aws-cdk-lib/aws-iam/lib/oidc-provider.ts +++ b/packages/aws-cdk-lib/aws-iam/lib/oidc-provider.ts @@ -164,7 +164,7 @@ export class OpenIdConnectProvider extends Resource implements IOpenIdConnectPro private getOrCreateProvider() { return CustomResourceProvider.getOrCreateProvider(this, RESOURCE_TYPE, { codeDirectory: path.join(__dirname, 'oidc-provider'), - runtime: CustomResourceProviderRuntime.NODEJS_16_X, + runtime: CustomResourceProviderRuntime.NODEJS_18_X, policyStatements: [ { Effect: 'Allow', diff --git a/packages/aws-cdk-lib/aws-iam/lib/oidc-provider/external.ts b/packages/aws-cdk-lib/aws-iam/lib/oidc-provider/external.ts index 17332605a70ba..7f9a5124597f8 100644 --- a/packages/aws-cdk-lib/aws-iam/lib/oidc-provider/external.ts +++ b/packages/aws-cdk-lib/aws-iam/lib/oidc-provider/external.ts @@ -10,12 +10,11 @@ import { X509Certificate } from 'node:crypto'; import * as tls from 'tls'; import * as url from 'url'; // eslint-disable-next-line import/no-extraneous-dependencies -import * as aws from 'aws-sdk'; +import * as sdk from '@aws-sdk/client-iam'; -let client: aws.IAM; - -function iam() { - if (!client) { client = new aws.IAM(); } +let client: sdk.IAM; +function iam(): sdk.IAM { + if (!client) { client = new sdk.IAM({}); } return client; } @@ -109,9 +108,9 @@ function getCertificateValidity(certDate: Date): Number { export const external = { downloadThumbprint, log: defaultLogger, - createOpenIDConnectProvider: (req: aws.IAM.CreateOpenIDConnectProviderRequest) => iam().createOpenIDConnectProvider(req).promise(), - deleteOpenIDConnectProvider: (req: aws.IAM.DeleteOpenIDConnectProviderRequest) => iam().deleteOpenIDConnectProvider(req).promise(), - updateOpenIDConnectProviderThumbprint: (req: aws.IAM.UpdateOpenIDConnectProviderThumbprintRequest) => iam().updateOpenIDConnectProviderThumbprint(req).promise(), - addClientIDToOpenIDConnectProvider: (req: aws.IAM.AddClientIDToOpenIDConnectProviderRequest) => iam().addClientIDToOpenIDConnectProvider(req).promise(), - removeClientIDFromOpenIDConnectProvider: (req: aws.IAM.RemoveClientIDFromOpenIDConnectProviderRequest) => iam().removeClientIDFromOpenIDConnectProvider(req).promise(), -}; \ No newline at end of file + createOpenIDConnectProvider: (req: sdk.CreateOpenIDConnectProviderCommandInput) => iam().createOpenIDConnectProvider(req), + deleteOpenIDConnectProvider: (req: sdk.DeleteOpenIDConnectProviderCommandInput) => iam().deleteOpenIDConnectProvider(req), + updateOpenIDConnectProviderThumbprint: (req: sdk.UpdateOpenIDConnectProviderThumbprintCommandInput) => iam().updateOpenIDConnectProviderThumbprint(req), + addClientIDToOpenIDConnectProvider: (req: sdk.AddClientIDToOpenIDConnectProviderCommandInput) => iam().addClientIDToOpenIDConnectProvider(req), + removeClientIDFromOpenIDConnectProvider: (req: sdk.RemoveClientIDFromOpenIDConnectProviderCommandInput) => iam().removeClientIDFromOpenIDConnectProvider(req), +}; diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index 0f895ef231fa1..363c5e54bd4b7 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -150,8 +150,10 @@ "@aws-sdk/client-codepipeline": "^3.387.0", "@aws-sdk/client-cloudwatch-logs": "^3.387.0", "@aws-sdk/client-dynamodb": "^3.387.0", + "@aws-sdk/client-ec2": "^3.387.0", "@aws-sdk/client-ecr": "^3.387.0", "@aws-sdk/client-eks": "^3.387.0", + "@aws-sdk/client-iam": "^3.387.0", "@aws-sdk/client-lambda": "^3.387.0", "@aws-sdk/client-route-53": "^3.387.0", "@aws-sdk/client-s3": "^3.387.0", diff --git a/yarn.lock b/yarn.lock index 7276124a785b7..e212b771dff12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -584,6 +584,50 @@ tslib "^2.5.0" uuid "^8.3.2" +"@aws-sdk/client-iam@^3.387.0": + version "3.388.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.388.0.tgz#4e777c2793a4809a42ed738b05aac71ae2d35aa1" + integrity sha512-7p2VxYnRjPdYVU6+EE0ORItJPEjSkHGohy/ShVoDGdhp5mqVCMS02ErQ/GUAhudkw1fEQSYFjIlsijQBqTyiPQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.388.0" + "@aws-sdk/credential-provider-node" "3.388.0" + "@aws-sdk/middleware-host-header" "3.387.0" + "@aws-sdk/middleware-logger" "3.387.0" + "@aws-sdk/middleware-recursion-detection" "3.387.0" + "@aws-sdk/middleware-signing" "3.387.0" + "@aws-sdk/middleware-user-agent" "3.387.0" + "@aws-sdk/types" "3.387.0" + "@aws-sdk/util-endpoints" "3.387.0" + "@aws-sdk/util-user-agent-browser" "3.387.0" + "@aws-sdk/util-user-agent-node" "3.387.0" + "@smithy/config-resolver" "^2.0.2" + "@smithy/fetch-http-handler" "^2.0.2" + "@smithy/hash-node" "^2.0.2" + "@smithy/invalid-dependency" "^2.0.2" + "@smithy/middleware-content-length" "^2.0.2" + "@smithy/middleware-endpoint" "^2.0.2" + "@smithy/middleware-retry" "^2.0.2" + "@smithy/middleware-serde" "^2.0.2" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.2" + "@smithy/node-http-handler" "^2.0.2" + "@smithy/protocol-http" "^2.0.2" + "@smithy/smithy-client" "^2.0.2" + "@smithy/types" "^2.1.0" + "@smithy/url-parser" "^2.0.2" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.2" + "@smithy/util-defaults-mode-node" "^2.0.2" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + "@smithy/util-waiter" "^2.0.2" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + "@aws-sdk/client-lambda@^3.387.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.388.0.tgz#168101fea0c8434916418ada260218ce43921841" From ce2f844e53294eb5a7954e20c151f07a018ad4b4 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy <36202692+kaizencc@users.noreply.github.com> Date: Fri, 11 Aug 2023 19:16:34 -0400 Subject: [PATCH 04/12] chore(deps): upgrade to @aws-cdk/node-proxy-agent-v6 (#26722) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../lib/node-proxy-agent-layer.ts | 2 +- packages/aws-cdk-lib/package.json | 2 +- tools/@aws-cdk/pkglint/lib/rules.ts | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/aws-cdk-lib/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.ts b/packages/aws-cdk-lib/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.ts index 1fc5f31340dc3..b132e4331317a 100644 --- a/packages/aws-cdk-lib/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.ts +++ b/packages/aws-cdk-lib/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.ts @@ -1,4 +1,4 @@ -import { ASSET_FILE, LAYER_SOURCE_DIR } from '@aws-cdk/asset-node-proxy-agent-v5'; +import { ASSET_FILE, LAYER_SOURCE_DIR } from '@aws-cdk/asset-node-proxy-agent-v6'; import { Construct } from 'constructs'; import * as lambda from '../../aws-lambda'; import { FileSystem } from '../../core'; diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index 363c5e54bd4b7..54d0fbb97eac7 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -124,7 +124,7 @@ ], "dependencies": { "@aws-cdk/asset-awscli-v1": "^2.2.200", - "@aws-cdk/asset-node-proxy-agent-v5": "^2.0.166", + "@aws-cdk/asset-node-proxy-agent-v6": "^2.0.1", "@aws-cdk/asset-kubectl-v20": "^2.1.2", "@balena/dockerignore": "^1.0.2", "case": "1.6.3", diff --git a/tools/@aws-cdk/pkglint/lib/rules.ts b/tools/@aws-cdk/pkglint/lib/rules.ts index 3d55088ed88d1..08424c8c8e8df 100644 --- a/tools/@aws-cdk/pkglint/lib/rules.ts +++ b/tools/@aws-cdk/pkglint/lib/rules.ts @@ -1083,7 +1083,7 @@ export class MustDependonCdkByPointVersions extends ValidationRule { ...fs.readdirSync(path.join(monoRepoRoot(), 'tools', '@aws-cdk')).map((name) => `@aws-cdk/${name}`), // Packages in the @aws-cdk namespace that are vended outside of the monorepo '@aws-cdk/asset-kubectl-v20', - '@aws-cdk/asset-node-proxy-agent-v5', + '@aws-cdk/asset-node-proxy-agent-v6', '@aws-cdk/asset-awscli-v1', '@aws-cdk/cdk-cli-wrapper', ]; diff --git a/yarn.lock b/yarn.lock index e212b771dff12..ca5730176c937 100644 --- a/yarn.lock +++ b/yarn.lock @@ -50,10 +50,10 @@ resolved "https://registry.npmjs.org/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.2.tgz#d8e20b5f5dc20128ea2000dc479ca3c7ddc27248" integrity sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg== -"@aws-cdk/asset-node-proxy-agent-v5@^2.0.166": - version "2.0.166" - resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.166.tgz#467507db141cd829ff8aa9d6ea5519310a4276b8" - integrity sha512-j0xnccpUQHXJKPgCwQcGGNu4lRiC1PptYfdxBIH1L4dRK91iBxtSQHESRQX+yB47oGLaF/WfNN/aF3WXwlhikg== +"@aws-cdk/asset-node-proxy-agent-v6@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.0.1.tgz#6dc9b7cdb22ff622a7176141197962360c33e9ac" + integrity sha512-DDt4SLdLOwWCjGtltH4VCST7hpOI5DzieuhGZsBpZ+AgJdSI2GCjklCXm0GCTwJG/SolkL5dtQXyUKgg9luBDg== "@aws-cdk/aws-service-spec@^0.0.6": version "0.0.6" From e0ca252acee8290558edddde137458a055ad0b9e Mon Sep 17 00:00:00 2001 From: Calvin Combs <66279577+comcalvi@users.noreply.github.com> Date: Fri, 11 Aug 2023 17:59:09 -0700 Subject: [PATCH 05/12] feat(batch): set default spot allocation strategy to `SPOT_PRICE_CAPACITY_OPTIMIZED` (#26731) https://aws.amazon.com/about-aws/whats-new/2023/08/aws-batch-price-capacity-optimized-allocation-strategy-spot-instances/ and https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html `SPOT_PRICE_CAPACITY_OPTIMIZED` is now recommended over `SPOT_CAPACITY_OPTIMIZED`; make it the new default, while the construct is still in alpha. BREAKING CHANGE: if using spot instances on your Compute Environments, they will default to `SPOT_PRICE_CAPACITY_OPTIMIZED` instead of `SPOT_CAPACITY_OPTIMIZED` now. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/@aws-cdk/aws-batch-alpha/README.md | 21 +- .../lib/managed-compute-environment.ts | 13 +- ...efaultTestDeployAssertD4528F80.assets.json | 2 +- .../batch-stack.assets.json | 6 +- .../batch-stack.template.json | 227 +++++++++---- .../cdk.out | 2 +- .../integ.json | 2 +- .../manifest.json | 33 +- .../tree.json | 299 ++++++++++++++---- .../test/integ.managed-compute-environment.ts | 10 + .../test/managed-compute-environment.test.ts | 17 +- 11 files changed, 487 insertions(+), 145 deletions(-) diff --git a/packages/@aws-cdk/aws-batch-alpha/README.md b/packages/@aws-cdk/aws-batch-alpha/README.md index 6e76d196450db..d681ffb3ec86b 100644 --- a/packages/@aws-cdk/aws-batch-alpha/README.md +++ b/packages/@aws-cdk/aws-batch-alpha/README.md @@ -128,19 +128,23 @@ computeEnv.addInstanceClass(ec2.InstanceClass.R4); #### Allocation Strategies -| Allocation Strategy | Optimized for | Downsides | -| ----------------------- | ------------- | ----------------------------- | -| BEST_FIT | Cost | May limit throughput | -| BEST_FIT_PROGRESSIVE | Throughput | May increase cost | -| SPOT_CAPACITY_OPTIMIZED | Least interruption | Only useful on Spot instances | +| Allocation Strategy | Optimized for | Downsides | +| ----------------------- | ------------- | ----------------------------- | +| BEST_FIT | Cost | May limit throughput | +| BEST_FIT_PROGRESSIVE | Throughput | May increase cost | +| SPOT_CAPACITY_OPTIMIZED | Least interruption | Only useful on Spot instances | +| SPOT_PRICE_CAPACITY_OPTIMIZED | Least interruption + Price | Only useful on Spot instances | Batch provides different Allocation Strategies to help it choose which instances to provision. If your workflow tolerates interruptions, you should enable `spot` on your `ComputeEnvironment` -and use `SPOT_CAPACITY_OPTIMIZED` (this is the default if `spot` is enabled). +and use `SPOT_PRICE_CAPACITY_OPTIMIZED` (this is the default if `spot` is enabled). This will tell Batch to choose the instance types from the ones you’ve specified that have -the most spot capacity available to minimize the chance of interruption. +the most spot capacity available to minimize the chance of interruption and have the lowest price. To get the most benefit from your spot instances, you should allow Batch to choose from as many different instance types as possible. +If you only care about minimal interruptions and not want Batch to optimize for cost, use +`SPOT_CAPACITY_OPTIMIZED`. `SPOT_PRICE_CAPACITY_OPTIMIZED` is recommended over `SPOT_CAPACITY_OPTIMIZED` +for most use cases. If your workflow does not tolerate interruptions and you want to minimize your costs at the expense of potentially longer waiting times, use `AllocationStrategy.BEST_FIT`. @@ -189,7 +193,8 @@ const computeEnv = new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2Compute You can specify the maximum and minimum vCPUs a managed `ComputeEnvironment` can have at any given time. Batch will *always* maintain `minvCpus` worth of instances in your ComputeEnvironment, even if it is not executing any jobs, and even if it is disabled. Batch will scale the instances up to `maxvCpus` worth of instances as -jobs exit the JobQueue and enter the ComputeEnvironment. If you use `AllocationStrategy.BEST_FIT_PROGRESSIVE` or `AllocationStrategy.SPOT_CAPACITY_OPTIMIZED`, +jobs exit the JobQueue and enter the ComputeEnvironment. If you use `AllocationStrategy.BEST_FIT_PROGRESSIVE`, +`AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED`, or `AllocationStrategy.SPOT_CAPACITY_OPTIMIZED`, batch may exceed `maxvCpus`; it will never exceed `maxvCpus` by more than a single instance type. This example configures a `minvCpus` of 10 and a `maxvCpus` of 100: diff --git a/packages/@aws-cdk/aws-batch-alpha/lib/managed-compute-environment.ts b/packages/@aws-cdk/aws-batch-alpha/lib/managed-compute-environment.ts index 42308bb025919..147e25082912a 100644 --- a/packages/@aws-cdk/aws-batch-alpha/lib/managed-compute-environment.ts +++ b/packages/@aws-cdk/aws-batch-alpha/lib/managed-compute-environment.ts @@ -452,6 +452,15 @@ export enum AllocationStrategy { * you should allow Batch to choose from as many different instance types as possible. */ SPOT_CAPACITY_OPTIMIZED = 'SPOT_CAPACITY_OPTIMIZED', + + /** + * The price and capacity optimized allocation strategy looks at both price and capacity + * to select the Spot Instance pools that are the least likely to be interrupted + * and have the lowest possible price. + * + * The Batch team recommends this over `SPOT_CAPACITY_OPTIMIZED` in most instances. + */ + SPOT_PRICE_CAPACITY_OPTIMIZED = 'SPOT_PRICE_CAPACITY_OPTIMIZED', } /** @@ -1145,7 +1154,9 @@ function createSpotFleetRole(scope: Construct): IRole { function determineAllocationStrategy(id: string, allocationStrategy?: AllocationStrategy, spot?: boolean): AllocationStrategy | undefined { let result = allocationStrategy; if (!allocationStrategy) { - result = spot ? AllocationStrategy.SPOT_CAPACITY_OPTIMIZED : AllocationStrategy.BEST_FIT_PROGRESSIVE; + result = spot ? AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED : AllocationStrategy.BEST_FIT_PROGRESSIVE; + } else if (allocationStrategy === AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED && !spot) { + throw new Error(`Managed ComputeEnvironment '${id}' specifies 'AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED' without using spot instances`); } else if (allocationStrategy === AllocationStrategy.SPOT_CAPACITY_OPTIMIZED && !spot) { throw new Error(`Managed ComputeEnvironment '${id}' specifies 'AllocationStrategy.SPOT_CAPACITY_OPTIMIZED' without using spot instances`); } diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/BatchManagedComputeEnvironmentTestDefaultTestDeployAssertD4528F80.assets.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/BatchManagedComputeEnvironmentTestDefaultTestDeployAssertD4528F80.assets.json index c9ff88daa4353..446a5fb9c92bb 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/BatchManagedComputeEnvironmentTestDefaultTestDeployAssertD4528F80.assets.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/BatchManagedComputeEnvironmentTestDefaultTestDeployAssertD4528F80.assets.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.assets.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.assets.json index c479e894b1d84..2840c70f63e44 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.assets.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.assets.json @@ -1,7 +1,7 @@ { - "version": "32.0.0", + "version": "33.0.0", "files": { - "81f3134124cef368d56ccabda586dbcbef39a78089edd14c9d641cbcb4e0bad2": { + "c107f22b1a273d6b3e98ae47d04dfc2c17295a01e96b0b2a69ceaaad3ec33905": { "source": { "path": "batch-stack.template.json", "packaging": "file" @@ -9,7 +9,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "81f3134124cef368d56ccabda586dbcbef39a78089edd14c9d641cbcb4e0bad2.json", + "objectKey": "c107f22b1a273d6b3e98ae47d04dfc2c17295a01e96b0b2a69ceaaad3ec33905.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.template.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.template.json index 2e86fbef42d62..6c452844a66bd 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.template.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/batch-stack.template.json @@ -18,9 +18,6 @@ "vpcPublicSubnet1Subnet2E65531E": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -44,21 +41,24 @@ "Key": "Name", "Value": "batch-stack/vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPublicSubnet1RouteTable48A2DF9B": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "Tags": [ { "Key": "Name", "Value": "batch-stack/vpc/PublicSubnet1" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPublicSubnet1RouteTableAssociation5D3F4579": { @@ -75,12 +75,12 @@ "vpcPublicSubnet1DefaultRoute10708846": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "RouteTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" } }, "DependsOn": [ @@ -102,15 +102,15 @@ "vpcPublicSubnet1NATGateway9C16659E": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "vpcPublicSubnet1Subnet2E65531E" - }, "AllocationId": { "Fn::GetAtt": [ "vpcPublicSubnet1EIPDA49DCBE", "AllocationId" ] }, + "SubnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + }, "Tags": [ { "Key": "Name", @@ -126,9 +126,6 @@ "vpcPublicSubnet2Subnet009B674F": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -152,21 +149,24 @@ "Key": "Name", "Value": "batch-stack/vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPublicSubnet2RouteTableEB40D4CB": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "Tags": [ { "Key": "Name", "Value": "batch-stack/vpc/PublicSubnet2" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPublicSubnet2RouteTableAssociation21F81B59": { @@ -183,12 +183,12 @@ "vpcPublicSubnet2DefaultRouteA1EC0F60": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" - }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "RouteTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" } }, "DependsOn": [ @@ -210,15 +210,15 @@ "vpcPublicSubnet2NATGateway9B8AE11A": { "Type": "AWS::EC2::NatGateway", "Properties": { - "SubnetId": { - "Ref": "vpcPublicSubnet2Subnet009B674F" - }, "AllocationId": { "Fn::GetAtt": [ "vpcPublicSubnet2EIP9B3743B1", "AllocationId" ] }, + "SubnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + }, "Tags": [ { "Key": "Name", @@ -234,9 +234,6 @@ "vpcPrivateSubnet1Subnet934893E8": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "AvailabilityZone": { "Fn::Select": [ 0, @@ -260,21 +257,24 @@ "Key": "Name", "Value": "batch-stack/vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPrivateSubnet1RouteTableB41A48CC": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "Tags": [ { "Key": "Name", "Value": "batch-stack/vpc/PrivateSubnet1" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPrivateSubnet1RouteTableAssociation67945127": { @@ -291,21 +291,18 @@ "vpcPrivateSubnet1DefaultRoute1AA8E2E5": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "vpcPublicSubnet1NATGateway9C16659E" + }, + "RouteTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" } } }, "vpcPrivateSubnet2Subnet7031C2BA": { "Type": "AWS::EC2::Subnet", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "AvailabilityZone": { "Fn::Select": [ 1, @@ -329,21 +326,24 @@ "Key": "Name", "Value": "batch-stack/vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPrivateSubnet2RouteTable7280F23E": { "Type": "AWS::EC2::RouteTable", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "Tags": [ { "Key": "Name", "Value": "batch-stack/vpc/PrivateSubnet2" } - ] + ], + "VpcId": { + "Ref": "vpcA2121C38" + } } }, "vpcPrivateSubnet2RouteTableAssociation007E94D3": { @@ -360,12 +360,12 @@ "vpcPrivateSubnet2DefaultRouteB0E07F99": { "Type": "AWS::EC2::Route", "Properties": { - "RouteTableId": { - "Ref": "vpcPrivateSubnet2RouteTable7280F23E" - }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "vpcPublicSubnet2NATGateway9B8AE11A" + }, + "RouteTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" } } }, @@ -383,11 +383,11 @@ "vpcVPCGW7984C166": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { - "VpcId": { - "Ref": "vpcA2121C38" - }, "InternetGatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "VpcId": { + "Ref": "vpcA2121C38" } } }, @@ -410,7 +410,6 @@ "minimalPropsFargate58449235": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeResources": { "MaxvCpus": 512, "SecurityGroupIds": [ @@ -434,6 +433,7 @@ }, "ReplaceComputeEnvironment": false, "State": "ENABLED", + "Type": "managed", "UpdatePolicy": {} } }, @@ -456,7 +456,6 @@ "maximalPropsFargate2D7D8138": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeEnvironmentName": "maxPropsFargateCE", "ComputeResources": { "MaxvCpus": 512, @@ -481,6 +480,7 @@ }, "ReplaceComputeEnvironment": true, "State": "ENABLED", + "Type": "managed", "UpdatePolicy": { "JobExecutionTimeoutMinutes": 30, "TerminateJobsOnUpdate": true @@ -547,7 +547,6 @@ "minimalPropsEc200AECC55": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeResources": { "AllocationStrategy": "BEST_FIT_PROGRESSIVE", "Ec2Configuration": [ @@ -590,6 +589,7 @@ }, "ReplaceComputeEnvironment": false, "State": "ENABLED", + "Type": "managed", "UpdatePolicy": {} } }, @@ -694,7 +694,6 @@ "LaunchTemplate04EC5460": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeResources": { "AllocationStrategy": "BEST_FIT", "Ec2Configuration": [ @@ -748,6 +747,7 @@ }, "ReplaceComputeEnvironment": true, "State": "ENABLED", + "Type": "managed", "UpdatePolicy": { "JobExecutionTimeoutMinutes": 60, "TerminateJobsOnUpdate": false @@ -831,9 +831,8 @@ "SpotEc2A0470C83": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeResources": { - "AllocationStrategy": "SPOT_CAPACITY_OPTIMIZED", + "AllocationStrategy": "SPOT_PRICE_CAPACITY_OPTIMIZED", "BidPercentage": 95, "Ec2Configuration": [ { @@ -881,6 +880,114 @@ }, "ReplaceComputeEnvironment": false, "State": "ENABLED", + "Type": "managed", + "UpdatePolicy": {} + } + }, + "AllocationStrategySPOTCAPACITYSecurityGroupA581EB8C": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "batch-stack/AllocationStrategySPOT_CAPACITY/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "AllocationStrategySPOTCAPACITYInstanceProfileRoleA6211395": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role" + ] + ] + } + ] + } + }, + "AllocationStrategySPOTCAPACITYInstanceProfile0B71F375": { + "Type": "AWS::IAM::InstanceProfile", + "Properties": { + "Roles": [ + { + "Ref": "AllocationStrategySPOTCAPACITYInstanceProfileRoleA6211395" + } + ] + } + }, + "AllocationStrategySPOTCAPACITYEE4582C5": { + "Type": "AWS::Batch::ComputeEnvironment", + "Properties": { + "ComputeResources": { + "AllocationStrategy": "SPOT_CAPACITY_OPTIMIZED", + "BidPercentage": 95, + "Ec2Configuration": [ + { + "ImageIdOverride": { + "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter" + }, + "ImageType": "ECS_AL2" + } + ], + "InstanceRole": { + "Fn::GetAtt": [ + "AllocationStrategySPOTCAPACITYInstanceProfile0B71F375", + "Arn" + ] + }, + "InstanceTypes": [ + "optimal" + ], + "MaxvCpus": 256, + "MinvCpus": 0, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "AllocationStrategySPOTCAPACITYSecurityGroupA581EB8C", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + }, + { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + ], + "Type": "SPOT", + "UpdateToLatestImageVersion": true + }, + "ReplaceComputeEnvironment": false, + "State": "ENABLED", + "Type": "managed", "UpdatePolicy": {} } }, @@ -964,7 +1071,6 @@ "taggedCE5029E6F8": { "Type": "AWS::Batch::ComputeEnvironment", "Properties": { - "Type": "managed", "ComputeResources": { "AllocationStrategy": "BEST_FIT_PROGRESSIVE", "Ec2Configuration": [ @@ -1015,6 +1121,7 @@ "foo": "bar", "super": "salamander" }, + "Type": "managed", "UpdatePolicy": {} } } diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/cdk.out b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/cdk.out index f0b901e7c06e5..560dae10d018f 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/cdk.out +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"32.0.0"} \ No newline at end of file +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/integ.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/integ.json index acb2eae98de06..e6786dca181e3 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/integ.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "testCases": { "BatchManagedComputeEnvironmentTest/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/manifest.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/manifest.json index ef7e040db5067..56abc7f8ef4e1 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "32.0.0", + "version": "33.0.0", "artifacts": { "batch-stack.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/81f3134124cef368d56ccabda586dbcbef39a78089edd14c9d641cbcb4e0bad2.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c107f22b1a273d6b3e98ae47d04dfc2c17295a01e96b0b2a69ceaaad3ec33905.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -192,10 +192,7 @@ "/batch-stack/maximalPropsFargate/Resource": [ { "type": "aws:cdk:logicalId", - "data": "maximalPropsFargate2D7D8138", - "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" - ] + "data": "maximalPropsFargate2D7D8138" } ], "/batch-stack/minimalPropsEc2/SecurityGroup/Resource": [ @@ -294,6 +291,30 @@ "data": "SpotEc2A0470C83" } ], + "/batch-stack/AllocationStrategySPOT_CAPACITY/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AllocationStrategySPOTCAPACITYSecurityGroupA581EB8C" + } + ], + "/batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfileRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AllocationStrategySPOTCAPACITYInstanceProfileRoleA6211395" + } + ], + "/batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfile": [ + { + "type": "aws:cdk:logicalId", + "data": "AllocationStrategySPOTCAPACITYInstanceProfile0B71F375" + } + ], + "/batch-stack/AllocationStrategySPOT_CAPACITY/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AllocationStrategySPOTCAPACITYEE4582C5" + } + ], "/batch-stack/taggedCE/SecurityGroup/Resource": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/tree.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/tree.json index 66d6744028e44..51fc04f4fc544 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/tree.json +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.js.snapshot/tree.json @@ -45,9 +45,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -71,7 +68,10 @@ "key": "Name", "value": "batch-stack/vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -93,15 +93,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "tags": [ { "key": "Name", "value": "batch-stack/vpc/PublicSubnet1" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -134,12 +134,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "routeTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" } } }, @@ -174,15 +174,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "vpcPublicSubnet1Subnet2E65531E" - }, "allocationId": { "Fn::GetAtt": [ "vpcPublicSubnet1EIPDA49DCBE", "AllocationId" ] }, + "subnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + }, "tags": [ { "key": "Name", @@ -212,9 +212,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -238,7 +235,10 @@ "key": "Name", "value": "batch-stack/vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -260,15 +260,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "tags": [ { "key": "Name", "value": "batch-stack/vpc/PublicSubnet2" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -301,12 +301,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" - }, "destinationCidrBlock": "0.0.0.0/0", "gatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "routeTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" } } }, @@ -341,15 +341,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", "aws:cdk:cloudformation:props": { - "subnetId": { - "Ref": "vpcPublicSubnet2Subnet009B674F" - }, "allocationId": { "Fn::GetAtt": [ "vpcPublicSubnet2EIP9B3743B1", "AllocationId" ] }, + "subnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + }, "tags": [ { "key": "Name", @@ -379,9 +379,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "availabilityZone": { "Fn::Select": [ 0, @@ -405,7 +402,10 @@ "key": "Name", "value": "batch-stack/vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -427,15 +427,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "tags": [ { "key": "Name", "value": "batch-stack/vpc/PrivateSubnet1" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -468,12 +468,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "vpcPublicSubnet1NATGateway9C16659E" + }, + "routeTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" } } }, @@ -498,9 +498,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "availabilityZone": { "Fn::Select": [ 1, @@ -524,7 +521,10 @@ "key": "Name", "value": "batch-stack/vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -546,15 +546,15 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "tags": [ { "key": "Name", "value": "batch-stack/vpc/PrivateSubnet2" } - ] + ], + "vpcId": { + "Ref": "vpcA2121C38" + } } }, "constructInfo": { @@ -587,12 +587,12 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::Route", "aws:cdk:cloudformation:props": { - "routeTableId": { - "Ref": "vpcPrivateSubnet2RouteTable7280F23E" - }, "destinationCidrBlock": "0.0.0.0/0", "natGatewayId": { "Ref": "vpcPublicSubnet2NATGateway9B8AE11A" + }, + "routeTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" } } }, @@ -632,11 +632,11 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", "aws:cdk:cloudformation:props": { - "vpcId": { - "Ref": "vpcA2121C38" - }, "internetGatewayId": { "Ref": "vpcIGWE57CBDCA" + }, + "vpcId": { + "Ref": "vpcA2121C38" } } }, @@ -695,7 +695,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeResources": { "maxvCpus": 512, "type": "FARGATE", @@ -719,6 +718,7 @@ }, "replaceComputeEnvironment": false, "state": "ENABLED", + "type": "managed", "updatePolicy": {} } }, @@ -777,7 +777,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeEnvironmentName": "maxPropsFargateCE", "computeResources": { "maxvCpus": 512, @@ -802,6 +801,7 @@ }, "replaceComputeEnvironment": true, "state": "ENABLED", + "type": "managed", "updatePolicy": { "terminateJobsOnUpdate": true, "jobExecutionTimeoutMinutes": 30 @@ -938,7 +938,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeResources": { "maxvCpus": 256, "type": "EC2", @@ -981,6 +980,7 @@ }, "replaceComputeEnvironment": false, "state": "ENABLED", + "type": "managed", "updatePolicy": {} } }, @@ -1208,7 +1208,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeResources": { "maxvCpus": 512, "type": "EC2", @@ -1262,6 +1261,7 @@ }, "replaceComputeEnvironment": true, "state": "ENABLED", + "type": "managed", "updatePolicy": { "terminateJobsOnUpdate": false, "jobExecutionTimeoutMinutes": 60 @@ -1441,7 +1441,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeResources": { "maxvCpus": 256, "type": "SPOT", @@ -1478,6 +1477,183 @@ "Arn" ] }, + "allocationStrategy": "SPOT_PRICE_CAPACITY_OPTIMIZED", + "bidPercentage": 95, + "ec2Configuration": [ + { + "imageIdOverride": { + "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamznamihvmx8664gp2C96584B6F00A464EAD1953AFF4B05118Parameter" + }, + "imageType": "ECS_AL2" + } + ] + }, + "replaceComputeEnvironment": false, + "state": "ENABLED", + "type": "managed", + "updatePolicy": {} + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_batch.CfnComputeEnvironment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-batch-alpha.ManagedEc2EcsComputeEnvironment", + "version": "0.0.0" + } + }, + "AllocationStrategySPOT_CAPACITY": { + "id": "AllocationStrategySPOT_CAPACITY", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY", + "children": { + "SecurityGroup": { + "id": "SecurityGroup", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "batch-stack/AllocationStrategySPOT_CAPACITY/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "0.0.0" + } + }, + "InstanceProfileRole": { + "id": "InstanceProfileRole", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfileRole", + "children": { + "ImportInstanceProfileRole": { + "id": "ImportInstanceProfileRole", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfileRole/ImportInstanceProfileRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfileRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "InstanceProfile": { + "id": "InstanceProfile", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/InstanceProfile", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::InstanceProfile", + "aws:cdk:cloudformation:props": { + "roles": [ + { + "Ref": "AllocationStrategySPOTCAPACITYInstanceProfileRoleA6211395" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnInstanceProfile", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "batch-stack/AllocationStrategySPOT_CAPACITY/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", + "aws:cdk:cloudformation:props": { + "computeResources": { + "maxvCpus": 256, + "type": "SPOT", + "updateToLatestImageVersion": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "AllocationStrategySPOTCAPACITYSecurityGroupA581EB8C", + "GroupId" + ] + } + ], + "subnets": [ + { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + }, + { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + ], + "minvCpus": 0, + "instanceRole": { + "Fn::GetAtt": [ + "AllocationStrategySPOTCAPACITYInstanceProfile0B71F375", + "Arn" + ] + }, + "instanceTypes": [ + "optimal" + ], "allocationStrategy": "SPOT_CAPACITY_OPTIMIZED", "bidPercentage": 95, "ec2Configuration": [ @@ -1491,6 +1667,7 @@ }, "replaceComputeEnvironment": false, "state": "ENABLED", + "type": "managed", "updatePolicy": {} } }, @@ -1644,7 +1821,6 @@ "attributes": { "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", "aws:cdk:cloudformation:props": { - "type": "managed", "computeResources": { "maxvCpus": 256, "type": "EC2", @@ -1695,6 +1871,7 @@ "foo": "bar", "super": "salamander" }, + "type": "managed", "updatePolicy": {} } }, @@ -1744,7 +1921,7 @@ "path": "BatchManagedComputeEnvironmentTest/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } }, "DeployAssert": { @@ -1790,7 +1967,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.26" + "version": "10.2.69" } } }, diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.ts b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.ts index a2976e021f3f6..ca3e04f1de04b 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.ts +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.managed-compute-environment.ts @@ -59,6 +59,16 @@ new ManagedEc2EcsComputeEnvironment(stack, 'SpotEc2', { }), }); +new ManagedEc2EcsComputeEnvironment(stack, 'AllocationStrategySPOT_CAPACITY', { + vpc, + images: [{ + image: new ec2.AmazonLinuxImage(), + }], + spot: true, + spotBidPercentage: 95, + allocationStrategy: AllocationStrategy.SPOT_CAPACITY_OPTIMIZED, +}); + const taggedEc2Ecs = new ManagedEc2EcsComputeEnvironment(stack, 'taggedCE', { vpc, images: [{ diff --git a/packages/@aws-cdk/aws-batch-alpha/test/managed-compute-environment.test.ts b/packages/@aws-cdk/aws-batch-alpha/test/managed-compute-environment.test.ts index 37fa4113934c2..75ec0b8210dae 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/managed-compute-environment.test.ts +++ b/packages/@aws-cdk/aws-batch-alpha/test/managed-compute-environment.test.ts @@ -168,7 +168,7 @@ describe.each([ManagedEc2EcsComputeEnvironment, ManagedEc2EksComputeEnvironment] }); }); - test('spot => AllocationStrategy.SPOT_CAPACITY_OPTIMIZED', () => { + test('spot => AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED', () => { // WHEN new ComputeEnvironment(stack, 'MyCE', { ...defaultProps, @@ -182,7 +182,7 @@ describe.each([ManagedEc2EcsComputeEnvironment, ManagedEc2EksComputeEnvironment] ComputeResources: { ...defaultComputeResources, Type: 'SPOT', - AllocationStrategy: 'SPOT_CAPACITY_OPTIMIZED', + AllocationStrategy: 'SPOT_PRICE_CAPACITY_OPTIMIZED', }, }); }); @@ -643,6 +643,17 @@ describe.each([ManagedEc2EcsComputeEnvironment, ManagedEc2EksComputeEnvironment] }).toThrow(/Managed ComputeEnvironment 'MyCE' specifies 'AllocationStrategy.SPOT_CAPACITY_OPTIMIZED' without using spot instances/); }); + test('throws error when AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED is used without specfiying spot', () => { + // THEN + expect(() => { + new ComputeEnvironment(stack, 'MyCE', { + ...defaultProps, + vpc, + allocationStrategy: AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED, + }); + }).toThrow(/Managed ComputeEnvironment 'MyCE' specifies 'AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED' without using spot instances/); + }); + test('throws error when spotBidPercentage is specified without spot', () => { // THEN expect(() => { @@ -750,7 +761,7 @@ describe('ManagedEc2EcsComputeEnvironment', () => { ...pascalCaseExpectedEcsProps, ComputeResources: { ...defaultComputeResources, - AllocationStrategy: AllocationStrategy.SPOT_CAPACITY_OPTIMIZED, + AllocationStrategy: AllocationStrategy.SPOT_PRICE_CAPACITY_OPTIMIZED, Type: 'SPOT', SpotIamFleetRole: { 'Fn::GetAtt': ['SpotFleetRole6D4F7558', 'Arn'], From 6e20cbf8536f47ee1d3c11b8115258a8cf268e41 Mon Sep 17 00:00:00 2001 From: Luca Pizzini Date: Sat, 12 Aug 2023 03:29:14 +0200 Subject: [PATCH 06/12] feat(opensearchservice): SAML authorization properties for Domain construct (#26673) Allows to specify [SAML authentication](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/saml.html) for OpenSearch domains via high-level construct properties. Example: ``` const domain = new Domain(this, 'Domain', { version: EngineVersion.OPENSEARCH_1_0, enforceHttps: true, nodeToNodeEncryption: true, encryptionAtRest: { enabled: true, }, fineGrainedAccessControl: { masterUserName: 'master-user', samlAuthenticationEnabled: true, samlAuthenticationOptions: { idpEntityId: 'entity-id', idpMetadataContent: 'metadata-content-with-quotes-escaped', }, }, }); ``` Closes #26600. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- ...rch-advancedsecurity-with-saml.assets.json | 19 ++ ...h-advancedsecurity-with-saml.template.json | 95 +++++++++ .../cdk.out | 1 + .../integ.json | 12 ++ ...efaultTestDeployAssertA27B274A.assets.json | 19 ++ ...aultTestDeployAssertA27B274A.template.json | 36 ++++ .../manifest.json | 117 +++++++++++ .../tree.json | 193 ++++++++++++++++++ ...g.opensearch.advancedsecurity-with-saml.ts | 41 ++++ .../test/saml-metadata-document.xml | 177 ++++++++++++++++ .../aws-opensearchservice/README.md | 26 +++ .../aws-opensearchservice/lib/domain.ts | 126 ++++++++++++ .../aws-opensearchservice/test/domain.test.ts | 191 +++++++++++++++++ 13 files changed, 1053 insertions(+) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integ.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/tree.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.ts create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/saml-metadata-document.xml diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.assets.json new file mode 100644 index 0000000000000..d25a257f16d07 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.assets.json @@ -0,0 +1,19 @@ +{ + "version": "33.0.0", + "files": { + "026445656dddc9b7080faac1092d4280a9c24fdf2b21a398f4c44f31d96fcc22": { + "source": { + "path": "cdk-opensearch-advancedsecurity-with-saml.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "026445656dddc9b7080faac1092d4280a9c24fdf2b21a398f4c44f31d96fcc22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.template.json new file mode 100644 index 0000000000000..fbff88b00cf57 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk-opensearch-advancedsecurity-with-saml.template.json @@ -0,0 +1,95 @@ +{ + "Resources": { + "User00B015A1": { + "Type": "AWS::IAM::User" + }, + "Domain66AC69E0": { + "Type": "AWS::OpenSearchService::Domain", + "Properties": { + "AdvancedSecurityOptions": { + "Enabled": true, + "InternalUserDatabaseEnabled": false, + "MasterUserOptions": { + "MasterUserARN": { + "Fn::GetAtt": [ + "User00B015A1", + "Arn" + ] + } + }, + "SAMLOptions": { + "Enabled": true, + "Idp": { + "EntityId": "entity-id", + "MetadataContent": "\n\n \n \n \n \n \n \n \n \n \n \n xF+xF7hmYedlu04o41mAyvIFBnXuvGE368C9oNLICCA=\n \n \n cGs8ZgnhtOluTKeRZHWjLrtvP9mUxHvSpKWSM5L4MFwojXZ39HIxCAAB22VseLVn8nMH0JxEAze/SzxraCewvJmYrUYKVgECl8kaQ1AKfbWHmrqyCRm9+WX6Fsj9SEGRNOPRfVpceVZYFrw3rimgjYZq/hyjvuEsp/6Eu+2RrO/mCNT7J0y5luOXLeHwJfeNalcl1mHA0JMCusnwfQOvRjkgOKL8pvDyXti+cvicDKqExeDGTaUoUyyynNWXLBLHHUhq29ej80D6lPVZWFqAgsZPm/O3spLhWl974PzDnX0qMds3aieZbHmuots+Cdy0LXQVHLjhRbDU8F6+BU+lRQ==\n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n Name\n The mutable display name of the user.\n \n \n Subject\n An immutable, globally unique, non-reusable identifier of the user that is unique to the application for which a token is issued.\n \n \n Given Name\n First name of the user.\n \n \n Surname\n Last name of the user.\n \n \n Display Name\n Display name of the user.\n \n \n Nick Name\n Nick name of the user.\n \n \n Authentication Instant\n The time (UTC) when the user is authenticated to Windows Azure Active Directory.\n \n \n Authentication Method\n The method that Windows Azure Active Directory uses to authenticate users.\n \n \n ObjectIdentifier\n Primary identifier for the user in the directory. Immutable, globally unique, non-reusable.\n \n \n TenantId\n Identifier for the user's tenant.\n \n \n IdentityProvider\n Identity provider for the user.\n \n \n Email\n Email address of the user.\n \n \n Groups\n Groups of the user.\n \n \n External Access Token\n Access token issued by external identity provider.\n \n \n External Access Token Expiration\n UTC expiration time of access token issued by external identity provider.\n \n \n External OpenID 2.0 Identifier\n OpenID 2.0 identifier issued by external identity provider.\n \n \n GroupsOverageClaim\n Issued when number of user's group claims exceeds return limit.\n \n \n Role Claim\n Roles that the user or Service Principal is attached to\n \n \n RoleTemplate Id Claim\n Role template id of the Built-in Directory Roles that the user is a member of\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n https://sts.windows.net/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n \n \n\n" + }, + "MasterBackendRole": "backend-role", + "MasterUserName": "master-username", + "RolesKey": "roles", + "SessionTimeoutMinutes": 60 + } + }, + "ClusterConfig": { + "DedicatedMasterEnabled": false, + "InstanceCount": 1, + "InstanceType": "r5.large.search", + "MultiAZWithStandbyEnabled": false, + "ZoneAwarenessEnabled": false + }, + "DomainEndpointOptions": { + "EnforceHTTPS": true, + "TLSSecurityPolicy": "Policy-Min-TLS-1-0-2019-07" + }, + "EBSOptions": { + "EBSEnabled": true, + "VolumeSize": 10, + "VolumeType": "gp2" + }, + "EncryptionAtRestOptions": { + "Enabled": true + }, + "EngineVersion": "Elasticsearch_7.1", + "LogPublishingOptions": {}, + "NodeToNodeEncryptionOptions": { + "Enabled": true + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk.out new file mode 100644 index 0000000000000..560dae10d018f --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integ.json new file mode 100644 index 0000000000000..4fe4d51b89fc1 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "33.0.0", + "testCases": { + "integ-opensearch-advancedsecurity-with-saml/DefaultTest": { + "stacks": [ + "cdk-opensearch-advancedsecurity-with-saml" + ], + "assertionStack": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert", + "assertionStackName": "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets.json new file mode 100644 index 0000000000000..f0d5491466fbd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets.json @@ -0,0 +1,19 @@ +{ + "version": "33.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/manifest.json new file mode 100644 index 0000000000000..6617483625c1d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/manifest.json @@ -0,0 +1,117 @@ +{ + "version": "33.0.0", + "artifacts": { + "cdk-opensearch-advancedsecurity-with-saml.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "cdk-opensearch-advancedsecurity-with-saml.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "cdk-opensearch-advancedsecurity-with-saml": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "cdk-opensearch-advancedsecurity-with-saml.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/026445656dddc9b7080faac1092d4280a9c24fdf2b21a398f4c44f31d96fcc22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "cdk-opensearch-advancedsecurity-with-saml.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "cdk-opensearch-advancedsecurity-with-saml.assets" + ], + "metadata": { + "/cdk-opensearch-advancedsecurity-with-saml/User/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "User00B015A1" + } + ], + "/cdk-opensearch-advancedsecurity-with-saml/Domain/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Domain66AC69E0" + } + ], + "/cdk-opensearch-advancedsecurity-with-saml/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/cdk-opensearch-advancedsecurity-with-saml/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "cdk-opensearch-advancedsecurity-with-saml" + }, + "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "integopensearchadvancedsecuritywithsamlDefaultTestDeployAssertA27B274A.assets" + ], + "metadata": { + "/integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/tree.json new file mode 100644 index 0000000000000..dfe6bd5ded657 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.js.snapshot/tree.json @@ -0,0 +1,193 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "cdk-opensearch-advancedsecurity-with-saml": { + "id": "cdk-opensearch-advancedsecurity-with-saml", + "path": "cdk-opensearch-advancedsecurity-with-saml", + "children": { + "User": { + "id": "User", + "path": "cdk-opensearch-advancedsecurity-with-saml/User", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-opensearch-advancedsecurity-with-saml/User/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::User", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnUser", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.User", + "version": "0.0.0" + } + }, + "Domain": { + "id": "Domain", + "path": "cdk-opensearch-advancedsecurity-with-saml/Domain", + "children": { + "Resource": { + "id": "Resource", + "path": "cdk-opensearch-advancedsecurity-with-saml/Domain/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::OpenSearchService::Domain", + "aws:cdk:cloudformation:props": { + "advancedSecurityOptions": { + "enabled": true, + "internalUserDatabaseEnabled": false, + "masterUserOptions": { + "masterUserArn": { + "Fn::GetAtt": [ + "User00B015A1", + "Arn" + ] + } + }, + "samlOptions": { + "enabled": true, + "idp": { + "entityId": "entity-id", + "metadataContent": "\n\n \n \n \n \n \n \n \n \n \n \n xF+xF7hmYedlu04o41mAyvIFBnXuvGE368C9oNLICCA=\n \n \n cGs8ZgnhtOluTKeRZHWjLrtvP9mUxHvSpKWSM5L4MFwojXZ39HIxCAAB22VseLVn8nMH0JxEAze/SzxraCewvJmYrUYKVgECl8kaQ1AKfbWHmrqyCRm9+WX6Fsj9SEGRNOPRfVpceVZYFrw3rimgjYZq/hyjvuEsp/6Eu+2RrO/mCNT7J0y5luOXLeHwJfeNalcl1mHA0JMCusnwfQOvRjkgOKL8pvDyXti+cvicDKqExeDGTaUoUyyynNWXLBLHHUhq29ej80D6lPVZWFqAgsZPm/O3spLhWl974PzDnX0qMds3aieZbHmuots+Cdy0LXQVHLjhRbDU8F6+BU+lRQ==\n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n Name\n The mutable display name of the user.\n \n \n Subject\n An immutable, globally unique, non-reusable identifier of the user that is unique to the application for which a token is issued.\n \n \n Given Name\n First name of the user.\n \n \n Surname\n Last name of the user.\n \n \n Display Name\n Display name of the user.\n \n \n Nick Name\n Nick name of the user.\n \n \n Authentication Instant\n The time (UTC) when the user is authenticated to Windows Azure Active Directory.\n \n \n Authentication Method\n The method that Windows Azure Active Directory uses to authenticate users.\n \n \n ObjectIdentifier\n Primary identifier for the user in the directory. Immutable, globally unique, non-reusable.\n \n \n TenantId\n Identifier for the user's tenant.\n \n \n IdentityProvider\n Identity provider for the user.\n \n \n Email\n Email address of the user.\n \n \n Groups\n Groups of the user.\n \n \n External Access Token\n Access token issued by external identity provider.\n \n \n External Access Token Expiration\n UTC expiration time of access token issued by external identity provider.\n \n \n External OpenID 2.0 Identifier\n OpenID 2.0 identifier issued by external identity provider.\n \n \n GroupsOverageClaim\n Issued when number of user's group claims exceeds return limit.\n \n \n Role Claim\n Roles that the user or Service Principal is attached to\n \n \n RoleTemplate Id Claim\n Role template id of the Built-in Directory Roles that the user is a member of\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n https://sts.windows.net/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed\n \n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R\n \n \n \n \n \n \n MIIDBTCCAe2gAwIBAgIQWPB1ofOpA7FFlOBk5iPaNTANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIxMDIwNzE3MDAzOVoXDTI2MDIwNjE3MDAzOVowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALH7FzF1rjvnZ4i2iBC2tz8qs/WP61n3/wFawgJxUnTx2vP/z5pG7f8qvumd7taOII0aSlp648SIfMw59WdUUtup5CnDYOcX1sUdivAj20m2PIDK6f+KWZ+7YKxJqCzJMH4GGlQvuDIhRKNT9oHfZgnYCCAmjXmJBtWyD052qqrkzOSn0/e9TKbjlTnTNcrIno3XDQ7xG+79vOD2GZMNopsKogWNxUdLFRu44ClKLRb4Xe00eVrANtBkv+mSJFFJS1Gxv611hpdGI2S0v1H+KvB26O7vuzGhZ/AevRemGhXQ5V5vwNEqXnVRVkBRszLKeN/+rxM436xQyVQGJMG+sVECAwEAAaMhMB8wHQYDVR0OBBYEFLlRBSxxgmNPObCFrl+hSsbcvRkcMA0GCSqGSIb3DQEBCwUAA4IBAQB+UQFTNs6BUY3AIGkS2ZRuZgJsNEr/ZEM4aCs2domd2Oqj7+5iWsnPh5CugFnI4nd+ZLgKVHSD6acQ27we+eNY6gxfpQCY1fiN/uKOOsA0If8IbPdBEhtPerRgPJFXLHaYVqD8UYDo5KNCcoB4Kh8nvCWRGPUUHPRqp7AnAcVrcbiXA/bmMCnFWuNNahcaAKiJTxYlKDaDIiPN35yECYbDj0PBWJUxobrvj5I275jbikkp8QSLYnSU/v7dMDUbxSLfZ7zsTuaF2Qx+L62PsYTwLzIFX3M8EMSQ6h68TupFTi5n0M2yIXQgoRoNEDWNJZ/aZMY/gqT02GQGBWrh+/vJ\n \n \n \n \n \n \n \n\n" + }, + "masterUserName": "master-username", + "masterBackendRole": "backend-role", + "rolesKey": "roles", + "sessionTimeoutMinutes": 60 + } + }, + "clusterConfig": { + "dedicatedMasterEnabled": false, + "instanceCount": 1, + "instanceType": "r5.large.search", + "multiAzWithStandbyEnabled": false, + "zoneAwarenessEnabled": false + }, + "domainEndpointOptions": { + "enforceHttps": true, + "tlsSecurityPolicy": "Policy-Min-TLS-1-0-2019-07" + }, + "ebsOptions": { + "ebsEnabled": true, + "volumeSize": 10, + "volumeType": "gp2" + }, + "encryptionAtRestOptions": { + "enabled": true + }, + "engineVersion": "Elasticsearch_7.1", + "logPublishingOptions": {}, + "nodeToNodeEncryptionOptions": { + "enabled": true + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_opensearchservice.CfnDomain", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_opensearchservice.Domain", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "cdk-opensearch-advancedsecurity-with-saml/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "cdk-opensearch-advancedsecurity-with-saml/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "integ-opensearch-advancedsecurity-with-saml": { + "id": "integ-opensearch-advancedsecurity-with-saml", + "path": "integ-opensearch-advancedsecurity-with-saml", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "integ-opensearch-advancedsecurity-with-saml/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.69" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "integ-opensearch-advancedsecurity-with-saml/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.69" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.ts new file mode 100644 index 0000000000000..0c1f0542e634a --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/integ.opensearch.advancedsecurity-with-saml.ts @@ -0,0 +1,41 @@ +import * as path from 'path'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as cdk from 'aws-cdk-lib'; +import * as opensearch from 'aws-cdk-lib/aws-opensearchservice'; +import * as integ from '@aws-cdk/integ-tests-alpha'; + +const app = new cdk.App(); +const stack = new cdk.Stack(app, 'cdk-opensearch-advancedsecurity-with-saml'); + +const user = new iam.User(stack, 'User'); + +const metadataDocument = iam.SamlMetadataDocument.fromFile(path.join(__dirname, 'saml-metadata-document.xml')); + +new opensearch.Domain(stack, 'Domain', { + removalPolicy: cdk.RemovalPolicy.DESTROY, + version: opensearch.EngineVersion.ELASTICSEARCH_7_1, + fineGrainedAccessControl: { + masterUserArn: user.userArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'entity-id', + idpMetadataContent: metadataDocument.xml, + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + capacity: { + multiAzWithStandbyEnabled: false, + }, +}); + +new integ.IntegTest(app, 'integ-opensearch-advancedsecurity-with-saml', { + testCases: [stack], +}); + +app.synth(); diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/saml-metadata-document.xml b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/saml-metadata-document.xml new file mode 100644 index 0000000000000..a53ae7763165d --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-opensearchservice/test/saml-metadata-document.xml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + xF+xF7hmYedlu04o41mAyvIFBnXuvGE368C9oNLICCA= + + + cGs8ZgnhtOluTKeRZHWjLrtvP9mUxHvSpKWSM5L4MFwojXZ39HIxCAAB22VseLVn8nMH0JxEAze/SzxraCewvJmYrUYKVgECl8kaQ1AKfbWHmrqyCRm9+WX6Fsj9SEGRNOPRfVpceVZYFrw3rimgjYZq/hyjvuEsp/6Eu+2RrO/mCNT7J0y5luOXLeHwJfeNalcl1mHA0JMCusnwfQOvRjkgOKL8pvDyXti+cvicDKqExeDGTaUoUyyynNWXLBLHHUhq29ej80D6lPVZWFqAgsZPm/O3spLhWl974PzDnX0qMds3aieZbHmuots+Cdy0LXQVHLjhRbDU8F6+BU+lRQ== + + + MIIDBTCCAe2gAwIBAgIQN33ROaIJ6bJBWDCxtmJEbjANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMTIyMTIwNTAxN1oXDTI1MTIyMDIwNTAxN1owLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKGiy0/YZHEo9rRn2bI27u189Sq7NKhInFz5hLCSjgUB2rmf5ETNR3RJIDiW1M51LKROsTrjkl45cxK6gcVwLuEgr3L1TgmBtr/Rt/riKyxeXbLQ9LGBwaNVaJrSscxfdFbJa5J+qzUIFBiFoL7kE8ZtbkZJWBTxHEyEcNC52JJ8ydOhgvZYykete8AAVa2TZAbg4ECo9+6nMsaGsSBncRHJlRWVycq8Q4HV4faMEZmZ+iyCZRo2fZufXpn7sJwZ7CEBuw4qycHvUl6y153sUUFqsswnZGGjqpKSq7I7sVI9vjB199RarHaSSbDgL2FxjmASiUY4RqxnTjVa2XVHUwUCAwEAAaMhMB8wHQYDVR0OBBYEFI5mN5ftHloEDVNoIa8sQs7kJAeTMA0GCSqGSIb3DQEBCwUAA4IBAQBnaGnojxNgnV4+TCPZ9br4ox1nRn9tzY8b5pwKTW2McJTe0yEvrHyaItK8KbmeKJOBvASf+QwHkp+F2BAXzRiTl4Z+gNFQULPzsQWpmKlz6fIWhc7ksgpTkMK6AaTbwWYTfmpKnQw/KJm/6rboLDWYyKFpQcStu67RZ+aRvQz68Ev2ga5JsXlcOJ3gP/lE5WC1S0rjfabzdMOGP8qZQhXk4wBOgtFBaisDnbjV5pcIrjRPlhoCxvKgC/290nZ9/DLBH3TbHk8xwHXeBAnAjyAqOZij92uksAv7ZLq4MODcnQshVINXwsYshG1pQqOLwMertNaY5WtrubMRku44Dw7R + + + + + + + + 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 + + + + + + Name + The mutable display name of the user. + + + Subject + An immutable, globally unique, non-reusable identifier of the user that is unique to the application for which a token is issued. + + + Given Name + First name of the user. + + + Surname + Last name of the user. + + + Display Name + Display name of the user. + + + Nick Name + Nick name of the user. + + + Authentication Instant + The time (UTC) when the user is authenticated to Windows Azure Active Directory. + + + Authentication Method + The method that Windows Azure Active Directory uses to authenticate users. + + + ObjectIdentifier + Primary identifier for the user in the directory. Immutable, globally unique, non-reusable. + + + TenantId + Identifier for the user's tenant. + + + IdentityProvider + Identity provider for the user. + + + Email + Email address of the user. + + + Groups + Groups of the user. + + + External Access Token + Access token issued by external identity provider. + + + External Access Token Expiration + UTC expiration time of access token issued by external identity provider. + + + External OpenID 2.0 Identifier + OpenID 2.0 identifier issued by external identity provider. + + + GroupsOverageClaim + Issued when number of user's group claims exceeds return limit. + + + Role Claim + Roles that the user or Service Principal is attached to + + + RoleTemplate Id Claim + Role template id of the Built-in Directory Roles that the user is a member of + + + + + https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed + + + + + https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed + + + + + + + + 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 + + + + + + https://sts.windows.net/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/ + + + + + https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed + + + + + https://login.microsoftonline.com/9ecb31cb-702e-4ce0-ae22-bcee28d49d49/wsfed + + + + + + + + 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 + + + + + + + + diff --git a/packages/aws-cdk-lib/aws-opensearchservice/README.md b/packages/aws-cdk-lib/aws-opensearchservice/README.md index fc1e06f30a200..23db698c2b8f7 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/README.md +++ b/packages/aws-cdk-lib/aws-opensearchservice/README.md @@ -197,6 +197,32 @@ const domain = new Domain(this, 'Domain', { const masterUserPassword = domain.masterUserPassword; ``` +## SAML authentication + +You can enable SAML authentication to use your existing identity provider +to offer single sign-on (SSO) for dashboards on Amazon OpenSearch Service domains +running OpenSearch or Elasticsearch 6.7 or later. +To use SAML authentication, fine-grained access control must be enabled. + +```ts +const domain = new Domain(this, 'Domain', { + version: EngineVersion.OPENSEARCH_1_0, + enforceHttps: true, + nodeToNodeEncryption: true, + encryptionAtRest: { + enabled: true, + }, + fineGrainedAccessControl: { + masterUserName: 'master-user', + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'entity-id', + idpMetadataContent: 'metadata-content-with-quotes-escaped', + }, + }, +}); +``` + ## Using unsigned basic auth For convenience, the domain can be configured to allow unsigned HTTP requests diff --git a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts index ce260e1d8dc3f..7c698d27b331b 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/lib/domain.ts @@ -276,6 +276,60 @@ export enum TLSSecurityPolicy { TLS_1_2 = 'Policy-Min-TLS-1-2-2019-07' } +/** + * Container for information about the SAML configuration for OpenSearch Dashboards. + */ +export interface SAMLOptionsProperty { + /** + * The unique entity ID of the application in the SAML identity provider. + */ + readonly idpEntityId: string; + + /** + * The metadata of the SAML application, in XML format. + */ + readonly idpMetadataContent: string; + + /** + * The SAML master username, which is stored in the domain's internal user database. + * This SAML user receives full permission in OpenSearch Dashboards/Kibana. + * Creating a new master username does not delete any existing master usernames. + * + * @default - No master user name is configured + */ + readonly masterUserName?: string; + + /** + * The backend role that the SAML master user is mapped to. + * Any users with this backend role receives full permission in OpenSearch Dashboards/Kibana. + * To use a SAML master backend role, configure the `rolesKey` property. + * + * @default - The master user is not mapped to a backend role + */ + readonly masterBackendRole?: string; + + /** + * Element of the SAML assertion to use for backend roles. + * + * @default - roles + */ + readonly rolesKey?: string; + + /** + * Element of the SAML assertion to use for the user name. + * + * @default - NameID element of the SAML assertion fot the user name + */ + readonly subjectKey?: string; + + /** + * The duration, in minutes, after which a user session becomes inactive. + * + * @default - 60 + */ + readonly sessionTimeoutMinutes?: number; +} + /** * Specifies options for fine-grained access control. */ @@ -304,6 +358,23 @@ export interface AdvancedSecurityOptions { * @default - A Secrets Manager generated password */ readonly masterUserPassword?: cdk.SecretValue; + + /** + * True to enable SAML authentication for a domain. + * + * @see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/saml.html + * + * @default - SAML authentication is disabled. Enabled if `samlAuthenticationOptions` is set. + */ + readonly samlAuthenticationEnabled?: boolean; + + /** + * Container for information about the SAML configuration for OpenSearch Dashboards. + * If set, `samlAuthenticationEnabled` will be enabled. + * + * @default - no SAML authentication options + */ + readonly samlAuthenticationOptions?: SAMLOptionsProperty; } /** @@ -1614,6 +1685,15 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { this.validateWindowStartTime(props.offPeakWindowStart); } + const samlAuthenticationEnabled = props.fineGrainedAccessControl?.samlAuthenticationEnabled ?? + props.fineGrainedAccessControl?.samlAuthenticationOptions !== undefined; + if (samlAuthenticationEnabled) { + if (!advancedSecurityEnabled) { + throw new Error('SAML authentication requires fine-grained access control to be enabled.'); + } + this.validateSamlAuthenticationOptions(props.fineGrainedAccessControl?.samlAuthenticationOptions); + } + // Create the domain this.domain = new CfnDomain(this, 'Resource', { domainName: this.physicalName, @@ -1685,6 +1765,18 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { masterUserName: masterUserName, masterUserPassword: this.masterUserPassword?.unsafeUnwrap(), // Safe usage }, + samlOptions: samlAuthenticationEnabled ? { + enabled: true, + idp: props.fineGrainedAccessControl && props.fineGrainedAccessControl.samlAuthenticationOptions ? { + entityId: props.fineGrainedAccessControl.samlAuthenticationOptions.idpEntityId, + metadataContent: props.fineGrainedAccessControl.samlAuthenticationOptions.idpMetadataContent, + } : undefined, + masterUserName: props.fineGrainedAccessControl?.samlAuthenticationOptions?.masterUserName, + masterBackendRole: props.fineGrainedAccessControl?.samlAuthenticationOptions?.masterBackendRole, + rolesKey: props.fineGrainedAccessControl?.samlAuthenticationOptions?.rolesKey ?? 'roles', + subjectKey: props.fineGrainedAccessControl?.samlAuthenticationOptions?.subjectKey, + sessionTimeoutMinutes: props.fineGrainedAccessControl?.samlAuthenticationOptions?.sessionTimeoutMinutes ?? 60, + } : undefined, } : undefined, advancedOptions: props.advancedOptions, @@ -1771,6 +1863,40 @@ export class Domain extends DomainBase implements IDomain, ec2.IConnectable { } } + /** + * Validate SAML configuration according to + * https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearchservice-domain-samloptions.html + */ + private validateSamlAuthenticationOptions(samlAuthenticationOptions?: SAMLOptionsProperty) { + if (!samlAuthenticationOptions) { + throw new Error('You need to specify at least an Entity ID and Metadata content for the SAML configuration'); + } + if (samlAuthenticationOptions.idpEntityId.length < 8 || samlAuthenticationOptions.idpEntityId.length > 512) { + throw new Error(`SAML identity provider entity ID must be between 8 and 512 characters long, received ${samlAuthenticationOptions.idpEntityId.length}.`); + } + if (samlAuthenticationOptions.idpMetadataContent.length < 1 || samlAuthenticationOptions.idpMetadataContent.length > 1048576) { + throw new Error(`SAML identity provider metadata content must be between 1 and 1048576 characters long, received ${samlAuthenticationOptions.idpMetadataContent.length}.`); + } + if ( + samlAuthenticationOptions.masterUserName && + (samlAuthenticationOptions.masterUserName.length < 1 || samlAuthenticationOptions.masterUserName.length > 64) + ) { + throw new Error(`SAML master username must be between 1 and 64 characters long, received ${samlAuthenticationOptions.masterUserName.length}.`); + } + if ( + samlAuthenticationOptions.masterBackendRole && + (samlAuthenticationOptions.masterBackendRole.length < 1 || samlAuthenticationOptions.masterBackendRole.length > 256) + ) { + throw new Error(`SAML backend role must be between 1 and 256 characters long, received ${samlAuthenticationOptions.masterBackendRole.length}.`); + } + if ( + samlAuthenticationOptions.sessionTimeoutMinutes && + (samlAuthenticationOptions.sessionTimeoutMinutes < 1 || samlAuthenticationOptions.sessionTimeoutMinutes > 1440) + ) { + throw new Error(`SAML session timeout must be a value between 1 and 1440, received ${samlAuthenticationOptions.sessionTimeoutMinutes}.`); + } + } + /** * Manages network connections to the domain. This will throw an error in case the domain * is not placed inside a VPC. diff --git a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts index e708cb921d591..b7afa0fb833a8 100644 --- a/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts +++ b/packages/aws-cdk-lib/aws-opensearchservice/test/domain.test.ts @@ -1329,6 +1329,197 @@ each(testedOpenSearchVersions).describe('advanced security options', (engineVers enforceHttps: false, })).toThrow(/Enforce HTTPS is required when fine-grained access control is enabled/); }); + + describe('SAML authentication', () => { + test('with SAML authentication enabled', () => { + new Domain(stack, 'Domain', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'entity-id', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + + Template.fromStack(stack).hasResourceProperties('AWS::OpenSearchService::Domain', { + AdvancedSecurityOptions: { + Enabled: true, + InternalUserDatabaseEnabled: false, + MasterUserOptions: { + MasterUserARN: masterUserArn, + }, + SAMLOptions: { + Enabled: true, + Idp: { + EntityId: 'entity-id', + MetadataContent: 'metadata', + }, + MasterBackendRole: 'backend-role', + MasterUserName: 'master-username', + RolesKey: 'roles', + SessionTimeoutMinutes: 60, + }, + }, + }); + }); + + test('throws if SAML authentication is enabled without fine-grained access control', () => { + expect(() => { + new Domain(stack, 'Domain', { + version: engineVersion, + fineGrainedAccessControl: { + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'entity-id', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML authentication requires fine-grained access control to be enabled./); + }); + + test('throws if SAML authentication is enabled without specifying its options', () => { + expect(() => { + new Domain(stack, 'Domain', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/You need to specify at least an Entity ID and Metadata content for the SAML configuration/); + }); + + test('validate SAML authentication options', () => { + expect(() => { + new Domain(stack, 'Domain0', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'short', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML identity provider entity ID must be between 8 and 512 characters long/); + + expect(() => { + new Domain(stack, 'Domain1', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'identity-id', + idpMetadataContent: '', + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML identity provider metadata content must be between 1 and 1048576 characters long/); + + expect(() => { + new Domain(stack, 'Domain2', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'identity-id', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-role', + masterUserName: 'master-long'.repeat(10), + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML master username must be between 1 and 64 characters long/); + + expect(() => { + new Domain(stack, 'Domain3', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'identity-id', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-long'.repeat(50), + masterUserName: 'master-username', + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML backend role must be between 1 and 256 characters long/); + + expect(() => { + new Domain(stack, 'Domain4', { + version: engineVersion, + fineGrainedAccessControl: { + masterUserArn, + samlAuthenticationEnabled: true, + samlAuthenticationOptions: { + idpEntityId: 'identity-id', + idpMetadataContent: 'metadata', + masterBackendRole: 'backend-role', + masterUserName: 'master-username', + sessionTimeoutMinutes: 2000, + }, + }, + encryptionAtRest: { + enabled: true, + }, + nodeToNodeEncryption: true, + enforceHttps: true, + }); + }).toThrow(/SAML session timeout must be a value between 1 and 1440/); + }); + }); }); each(testedOpenSearchVersions).describe('custom endpoints', (engineVersion) => { From 694b4067023d7422927dfde51cf9621395ca753b Mon Sep 17 00:00:00 2001 From: AWS CDK Automation <43080478+aws-cdk-automation@users.noreply.github.com> Date: Fri, 11 Aug 2023 23:06:04 -0400 Subject: [PATCH 07/12] chore: npm-check-updates && yarn upgrade (#26734) Ran npm-check-updates and yarn upgrade to keep the `yarn.lock` file up-to-date. --- package.json | 8 +- .../@aws-cdk-testing/cli-integ/package.json | 2 +- .../framework-integ/package.json | 4 +- .../app/package.json | 2 +- .../@aws-cdk/aws-amplify-alpha/package.json | 6 +- .../@aws-cdk/aws-redshift-alpha/package.json | 6 +- .../custom-resource-handlers/package.json | 6 +- .../integ-runner/THIRD_PARTY_LICENSES | 2 +- .../@aws-cdk/integ-tests-alpha/package.json | 6 +- packages/aws-cdk-lib/package.json | 40 +- packages/aws-cdk/THIRD_PARTY_LICENSES | 4 +- .../app/typescript/package.json | 2 +- .../lib/typescript/package.json | 2 +- .../sample-app/typescript/package.json | 2 +- packages/aws-cdk/package.json | 4 +- packages/awslint/package.json | 4 +- packages/cdk-assets/package.json | 2 +- tools/@aws-cdk/cdk-build-tools/package.json | 4 +- tools/@aws-cdk/cfn2ts/package.json | 2 +- tools/@aws-cdk/node-bundle/package.json | 2 +- yarn.lock | 924 +++++++++--------- 21 files changed, 508 insertions(+), 526 deletions(-) diff --git a/package.json b/package.json index dceb0de8f6368..6313934749522 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,11 @@ "fs-extra": "^9.1.0", "graceful-fs": "^4.2.11", "jest-junit": "^13.2.0", - "jsii-diff": "1.85.0", - "jsii-pacmak": "1.85.0", - "jsii-reflect": "1.85.0", + "jsii-diff": "1.87.0", + "jsii-pacmak": "1.87.0", + "jsii-reflect": "1.87.0", "jsii-rosetta": "~5.1.9", - "lerna": "^7.1.4", + "lerna": "^7.1.5", "nx": "^16.6.0", "patch-package": "^6.5.1", "semver": "^7.5.4", diff --git a/packages/@aws-cdk-testing/cli-integ/package.json b/packages/@aws-cdk-testing/cli-integ/package.json index 04e9e1b978f03..a0098125d9311 100644 --- a/packages/@aws-cdk-testing/cli-integ/package.json +++ b/packages/@aws-cdk-testing/cli-integ/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@octokit/rest": "^18.12.0", - "aws-sdk": "^2.1432.0", + "aws-sdk": "^2.1435.0", "axios": "^0.27.2", "fs-extra": "^9.1.0", "glob": "^7.2.3", diff --git a/packages/@aws-cdk-testing/framework-integ/package.json b/packages/@aws-cdk-testing/framework-integ/package.json index ebdd408882be1..f2f218790ccad 100644 --- a/packages/@aws-cdk-testing/framework-integ/package.json +++ b/packages/@aws-cdk-testing/framework-integ/package.json @@ -39,9 +39,9 @@ "@aws-cdk/integ-tests-alpha": "0.0.0", "@aws-cdk/lambda-layer-kubectl-v24": "^2.0.242", "aws-cdk-lib": "0.0.0", - "aws-sdk": "^2.1432.0", + "aws-sdk": "^2.1435.0", "aws-sdk-mock": "5.6.0", - "cdk8s": "^2.38.0", + "cdk8s": "^2.40.0", "cdk8s-plus-24": "2.12.1", "constructs": "^10.0.0" }, diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/sdk-call-integ-test-docker-app/app/package.json b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/sdk-call-integ-test-docker-app/app/package.json index 240e9a6af7eeb..f40383e68ef2d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/sdk-call-integ-test-docker-app/app/package.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/sdk-call-integ-test-docker-app/app/package.json @@ -2,6 +2,6 @@ "name": "eks-service-account-sdk-call-integ-test", "private": "true", "dependencies": { - "aws-sdk": "^2.1432.0" + "aws-sdk": "^2.1435.0" } } diff --git a/packages/@aws-cdk/aws-amplify-alpha/package.json b/packages/@aws-cdk/aws-amplify-alpha/package.json index b3998cedb7493..b185dde7f2a0f 100644 --- a/packages/@aws-cdk/aws-amplify-alpha/package.json +++ b/packages/@aws-cdk/aws-amplify-alpha/package.json @@ -86,9 +86,9 @@ "@aws-cdk/cdk-build-tools": "0.0.0", "@aws-cdk/integ-runner": "0.0.0", "@aws-cdk/pkglint": "0.0.0", - "@aws-sdk/client-amplify": "^3.387.0", - "@aws-sdk/client-s3": "^3.387.0", - "@aws-sdk/s3-request-presigner": "^3.387.0", + "@aws-sdk/client-amplify": "^3.388.0", + "@aws-sdk/client-s3": "^3.388.0", + "@aws-sdk/s3-request-presigner": "^3.388.0", "@types/jest": "^29.5.3", "aws-cdk-lib": "0.0.0", "constructs": "^10.0.0" diff --git a/packages/@aws-cdk/aws-redshift-alpha/package.json b/packages/@aws-cdk/aws-redshift-alpha/package.json index c6e5ff72d9fd0..c38352f2ac772 100644 --- a/packages/@aws-cdk/aws-redshift-alpha/package.json +++ b/packages/@aws-cdk/aws-redshift-alpha/package.json @@ -84,9 +84,9 @@ "@aws-cdk/cdk-build-tools": "0.0.0", "@aws-cdk/integ-runner": "0.0.0", "@aws-cdk/pkglint": "0.0.0", - "@aws-sdk/client-redshift": "^3.387.0", - "@aws-sdk/client-redshift-data": "^3.387.0", - "@aws-sdk/client-secrets-manager": "^3.387.0", + "@aws-sdk/client-redshift": "^3.388.0", + "@aws-sdk/client-redshift-data": "^3.388.0", + "@aws-sdk/client-secrets-manager": "^3.389.0", "@types/jest": "^29.5.3", "aws-cdk-lib": "0.0.0", "constructs": "^10.0.0", diff --git a/packages/@aws-cdk/custom-resource-handlers/package.json b/packages/@aws-cdk/custom-resource-handlers/package.json index f1b56730fb760..bea14cd223ff6 100644 --- a/packages/@aws-cdk/custom-resource-handlers/package.json +++ b/packages/@aws-cdk/custom-resource-handlers/package.json @@ -29,11 +29,11 @@ "@aws-cdk/pkglint": "0.0.0", "@types/jest": "^29.5.3", "jest": "^29.6.2", - "esbuild": "^0.19.0" + "esbuild": "^0.19.1" }, "dependencies": { - "@aws-sdk/client-ecr": "^3.387.0", - "@aws-sdk/client-s3": "^3.387.0" + "@aws-sdk/client-ecr": "^3.388.0", + "@aws-sdk/client-s3": "^3.388.0" }, "repository": { "url": "https://github.com/aws/aws-cdk.git", diff --git a/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES b/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES index d32cfe37df814..00fe9f264158f 100644 --- a/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES +++ b/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES @@ -176,7 +176,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE ---------------- -** aws-sdk@2.1433.0 - https://www.npmjs.com/package/aws-sdk/v/2.1433.0 | Apache-2.0 +** aws-sdk@2.1435.0 - https://www.npmjs.com/package/aws-sdk/v/2.1435.0 | Apache-2.0 AWS SDK for JavaScript Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/packages/@aws-cdk/integ-tests-alpha/package.json b/packages/@aws-cdk/integ-tests-alpha/package.json index 40233777cd490..f179eff8a1430 100644 --- a/packages/@aws-cdk/integ-tests-alpha/package.json +++ b/packages/@aws-cdk/integ-tests-alpha/package.json @@ -70,9 +70,9 @@ "@aws-cdk/integ-runner": "0.0.0", "@aws-cdk/pkglint": "0.0.0", "@aws-cdk/sdk-v2-to-v3-adapter": "0.0.0", - "@aws-sdk/client-ec2": "^3.387.0", - "@aws-sdk/client-s3": "^3.387.0", - "@aws-sdk/client-sfn": "^3.387.0", + "@aws-sdk/client-ec2": "^3.390.0", + "@aws-sdk/client-s3": "^3.388.0", + "@aws-sdk/client-sfn": "^3.388.0", "@aws-sdk/types": "^3.387.0", "@types/fs-extra": "^9.0.13", "@types/jest": "^29.5.3", diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index 54d0fbb97eac7..ea5459837b2c6 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -145,36 +145,36 @@ "@aws-cdk/pkglint": "0.0.0", "@aws-cdk/sdk-v2-to-v3-adapter": "0.0.0", "@aws-cdk/spec2cdk": "0.0.0", - "@aws-sdk/client-acm": "^3.387.0", - "@aws-sdk/client-account": "^3.387.0", - "@aws-sdk/client-codepipeline": "^3.387.0", - "@aws-sdk/client-cloudwatch-logs": "^3.387.0", - "@aws-sdk/client-dynamodb": "^3.387.0", - "@aws-sdk/client-ec2": "^3.387.0", - "@aws-sdk/client-ecr": "^3.387.0", - "@aws-sdk/client-eks": "^3.387.0", - "@aws-sdk/client-iam": "^3.387.0", - "@aws-sdk/client-lambda": "^3.387.0", - "@aws-sdk/client-route-53": "^3.387.0", - "@aws-sdk/client-s3": "^3.387.0", - "@aws-sdk/client-sfn": "^3.387.0", - "@aws-sdk/client-ssm": "^3.387.0", - "@aws-sdk/client-sts": "^3.387.0", - "@aws-sdk/credential-providers": "^3.387.0", + "@aws-sdk/client-acm": "^3.388.0", + "@aws-sdk/client-account": "^3.388.0", + "@aws-sdk/client-codepipeline": "^3.388.0", + "@aws-sdk/client-cloudwatch-logs": "^3.388.0", + "@aws-sdk/client-dynamodb": "^3.388.0", + "@aws-sdk/client-ec2": "^3.390.0", + "@aws-sdk/client-ecr": "^3.388.0", + "@aws-sdk/client-eks": "^3.388.0", + "@aws-sdk/client-iam": "^3.388.0", + "@aws-sdk/client-lambda": "^3.388.0", + "@aws-sdk/client-route-53": "^3.388.0", + "@aws-sdk/client-s3": "^3.388.0", + "@aws-sdk/client-sfn": "^3.388.0", + "@aws-sdk/client-ssm": "^3.388.0", + "@aws-sdk/client-sts": "^3.388.0", + "@aws-sdk/credential-providers": "^3.389.0", "@aws-sdk/node-http-handler": "^3.370.0", "@aws-sdk/types": "^3.387.0", "@types/aws-lambda": "^8.10.119", "@types/jest": "^29.5.3", - "@types/lodash": "^4.14.196", + "@types/lodash": "^4.14.197", "@types/punycode": "^2.1.0", - "aws-sdk": "^2.1432.0", + "aws-sdk": "^2.1435.0", "aws-sdk-client-mock": "^3.0.0", "aws-sdk-client-mock-jest": "^3.0.0", "aws-sdk-mock": "5.8.0", - "cdk8s": "^2.38.0", + "cdk8s": "^2.40.0", "constructs": "^10.0.0", "delay": "5.0.0", - "esbuild": "^0.19.0", + "esbuild": "^0.19.1", "fast-check": "^2.25.0", "fs-extra": "^11.1.1", "jest": "^29.6.2", diff --git a/packages/aws-cdk/THIRD_PARTY_LICENSES b/packages/aws-cdk/THIRD_PARTY_LICENSES index 6085c5e3154ee..d5c745bd50ea3 100644 --- a/packages/aws-cdk/THIRD_PARTY_LICENSES +++ b/packages/aws-cdk/THIRD_PARTY_LICENSES @@ -1,6 +1,6 @@ The aws-cdk package includes the following third-party software/licensing: -** @jsii/check-node@1.85.0 - https://www.npmjs.com/package/@jsii/check-node/v/1.85.0 | Apache-2.0 +** @jsii/check-node@1.87.0 - https://www.npmjs.com/package/@jsii/check-node/v/1.87.0 | Apache-2.0 jsii Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. @@ -238,7 +238,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE ---------------- -** aws-sdk@2.1433.0 - https://www.npmjs.com/package/aws-sdk/v/2.1433.0 | Apache-2.0 +** aws-sdk@2.1435.0 - https://www.npmjs.com/package/aws-sdk/v/2.1435.0 | Apache-2.0 AWS SDK for JavaScript Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/packages/aws-cdk/lib/init-templates/app/typescript/package.json b/packages/aws-cdk/lib/init-templates/app/typescript/package.json index a1859a48d63c1..189d7f02c3a87 100644 --- a/packages/aws-cdk/lib/init-templates/app/typescript/package.json +++ b/packages/aws-cdk/lib/init-templates/app/typescript/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@types/jest": "^29.5.3", - "@types/node": "20.4.9", + "@types/node": "20.4.10", "jest": "^29.6.2", "ts-jest": "^29.1.1", "aws-cdk": "%cdk-version%", diff --git a/packages/aws-cdk/lib/init-templates/lib/typescript/package.json b/packages/aws-cdk/lib/init-templates/lib/typescript/package.json index f424224011688..1883b312f8452 100644 --- a/packages/aws-cdk/lib/init-templates/lib/typescript/package.json +++ b/packages/aws-cdk/lib/init-templates/lib/typescript/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@types/jest": "^29.5.3", - "@types/node": "20.4.9", + "@types/node": "20.4.10", "aws-cdk-lib": "%cdk-version%", "constructs": "%constructs-version%", "jest": "^29.6.2", diff --git a/packages/aws-cdk/lib/init-templates/sample-app/typescript/package.json b/packages/aws-cdk/lib/init-templates/sample-app/typescript/package.json index f325f18c4d66b..cf141eae93192 100644 --- a/packages/aws-cdk/lib/init-templates/sample-app/typescript/package.json +++ b/packages/aws-cdk/lib/init-templates/sample-app/typescript/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@types/jest": "^29.5.3", - "@types/node": "20.4.9", + "@types/node": "20.4.10", "jest": "^29.6.2", "ts-jest": "^29.1.1", "aws-cdk": "%cdk-version%", diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 0dbbcb2fcadf5..5c848103561c8 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -96,9 +96,9 @@ "@aws-cdk/cloudformation-diff": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "@jsii/check-node": "1.85.0", + "@jsii/check-node": "1.87.0", "archiver": "^5.3.1", - "aws-sdk": "^2.1432.0", + "aws-sdk": "^2.1435.0", "camelcase": "^6.3.0", "cdk-assets": "0.0.0", "chalk": "^4", diff --git a/packages/awslint/package.json b/packages/awslint/package.json index 929c36378679e..a79b3a6375c42 100644 --- a/packages/awslint/package.json +++ b/packages/awslint/package.json @@ -18,11 +18,11 @@ "awslint": "bin/awslint" }, "dependencies": { - "@jsii/spec": "1.85.0", + "@jsii/spec": "1.87.0", "camelcase": "^6.3.0", "chalk": "^4", "fs-extra": "^9.1.0", - "jsii-reflect": "1.85.0", + "jsii-reflect": "1.87.0", "yargs": "^16.2.0" }, "devDependencies": { diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index 9de89634b400f..ebbff63cf9b1e 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -46,7 +46,7 @@ "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/cx-api": "0.0.0", "archiver": "^5.3.1", - "aws-sdk": "^2.1432.0", + "aws-sdk": "^2.1435.0", "glob": "^7.2.3", "mime": "^2.6.0", "yargs": "^16.2.0" diff --git a/tools/@aws-cdk/cdk-build-tools/package.json b/tools/@aws-cdk/cdk-build-tools/package.json index db96a1d82bffe..44116d8625045 100644 --- a/tools/@aws-cdk/cdk-build-tools/package.json +++ b/tools/@aws-cdk/cdk-build-tools/package.json @@ -60,8 +60,8 @@ "jest": "^29.6.2", "jest-junit": "^13.2.0", "jsii": "~5.1.10", - "jsii-pacmak": "1.85.0", - "jsii-reflect": "1.85.0", + "jsii-pacmak": "1.87.0", + "jsii-reflect": "1.87.0", "markdownlint-cli": "^0.35.0", "nyc": "^15.1.0", "semver": "^7.5.4", diff --git a/tools/@aws-cdk/cfn2ts/package.json b/tools/@aws-cdk/cfn2ts/package.json index c8c77dffb0e4e..2facbc13f8f69 100644 --- a/tools/@aws-cdk/cfn2ts/package.json +++ b/tools/@aws-cdk/cfn2ts/package.json @@ -33,7 +33,7 @@ "dependencies": { "@aws-cdk/cfnspec": "0.0.0", "@aws-cdk/pkglint": "0.0.0", - "codemaker": "1.85.0", + "codemaker": "1.87.0", "fast-json-patch": "^3.1.1", "fs-extra": "^9.1.0", "yargs": "^16.2.0" diff --git a/tools/@aws-cdk/node-bundle/package.json b/tools/@aws-cdk/node-bundle/package.json index 0b5d5de309e0f..19cac3ff1e668 100644 --- a/tools/@aws-cdk/node-bundle/package.json +++ b/tools/@aws-cdk/node-bundle/package.json @@ -31,7 +31,7 @@ "typescript": "^4.5.5" }, "dependencies": { - "esbuild": "^0.19.0", + "esbuild": "^0.19.1", "fs-extra": "^10.1.0", "license-checker": "^25.0.1", "madge": "^5.0.2", diff --git a/yarn.lock b/yarn.lock index ca5730176c937..95131dfc49dff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -152,7 +152,7 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-account@^3.387.0": +"@aws-sdk/client-account@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-account/-/client-account-3.388.0.tgz#4b01d335579166575b9ff2730602cafa8ca9ff59" integrity sha512-lGVpZYRGB6KIlRmejviSnH2D4Azq2p3wtREAXwP4AIOkG+J9DdryynAFBMP7KoshqdZVUugZlBqMuU5Mn90asg== @@ -194,7 +194,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-acm@^3.387.0": +"@aws-sdk/client-acm@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-acm/-/client-acm-3.388.0.tgz#565d8cda99004f65f0fd32c0e1c84cf497e3cdde" integrity sha512-GO/wwAiH2/9InZ9kOR9ppHYMoz8lSt6aldgdymE3ygenlpvixh3F1fMiDlGeeefHwesouU1Xc8DHvc81T0AkxA== @@ -237,7 +237,7 @@ "@smithy/util-waiter" "^2.0.2" tslib "^2.5.0" -"@aws-sdk/client-amplify@^3.387.0": +"@aws-sdk/client-amplify@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-amplify/-/client-amplify-3.388.0.tgz#523db38fd38af1c2fa1a1ba590f043211ea574f5" integrity sha512-IAEh6KvQuv3WAWfjNPLMNpTc73az7r7qdJr1qggoAUppVDdVhe4thnlIkKgy7TbV4+yrKMi0GXuKRfGylBzAuQ== @@ -279,7 +279,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-cloudwatch-logs@^3.387.0": +"@aws-sdk/client-cloudwatch-logs@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.388.0.tgz#0fa2eee631b52d412bae17e4b95c5639335570ac" integrity sha512-xgHeBpwdkXHEqwMEAhfDqH0A6WsYLNmtLvlgam26FojBA0XCUN6OzVOxaS4faKd41cCYMVWZdI1luue2coz2Ug== @@ -321,7 +321,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-codepipeline@^3.387.0": +"@aws-sdk/client-codepipeline@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-codepipeline/-/client-codepipeline-3.388.0.tgz#1bb16303f01c2451749cb938fbb27fdaf19ac5d4" integrity sha512-pWYd5hmq6Ia45zue4fVgT/r0SQblAE0adyzTyynh02bVGPWmt1Zy06UufiLQnvi3O2m6pB0YEaDJ8ARYEwJSvw== @@ -406,7 +406,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-dynamodb@^3.387.0": +"@aws-sdk/client-dynamodb@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.388.0.tgz#c3eb59907c176ff6a5d92031965eb82dd809b91e" integrity sha512-P1u8ViTiRU+7mJLHZi+FE7FECpRCt6kLBs+FmM6Xy42TVXX379OFCKmvnQO66LJYNuwEKKV8Gb7rKIbikHJpig== @@ -451,10 +451,10 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-ec2@^3.387.0": - version "3.388.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.388.0.tgz#d95fac543a04cc194b7b4546ce451cf1c44c3821" - integrity sha512-VbZ+uw08WqZPCVwyhNFx5+rKeP3tJ+twC1LF5htH6rwgd/yI68RnPle1s8d1e8OVIaBpHlNAWqLYMcEWEgo3hQ== +"@aws-sdk/client-ec2@^3.390.0": + version "3.390.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.390.0.tgz#3b34f91d883d4b85eebcf25e360e0a29efaa4536" + integrity sha512-xfK32UXSejRZ+PgclW5RJ6ixW0DnoXWsTlrcfThtAkkXleAAyFqlVf+joC7qCQ4Bs7PhZrb0jPfCr+tC6h5jCA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" @@ -497,7 +497,7 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-ecr@^3.387.0": +"@aws-sdk/client-ecr@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.388.0.tgz#d415a61a14714e97b247ecff571f75b3c463dfb5" integrity sha512-OqVBU57dFGNyOX0M25HlEIKj02t6XUhgGFQxVnblkW8hVxI8zhAEcHAu1bXFaRjSj30WdTpEzPIC/WE/MshCdQ== @@ -540,7 +540,7 @@ "@smithy/util-waiter" "^2.0.2" tslib "^2.5.0" -"@aws-sdk/client-eks@^3.387.0": +"@aws-sdk/client-eks@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-eks/-/client-eks-3.388.0.tgz#a711e14d25b4c5006b1b8090a7b7ce9e8c325af5" integrity sha512-KpaNyWPUXol7wz5N/yqGmj2MBpE7pO+sfJPBWvqCO/oG//R26iRJojpaGYC2o/aGtVfXUnGCyBUhq4zsHhlI0g== @@ -584,7 +584,7 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-iam@^3.387.0": +"@aws-sdk/client-iam@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.388.0.tgz#4e777c2793a4809a42ed738b05aac71ae2d35aa1" integrity sha512-7p2VxYnRjPdYVU6+EE0ORItJPEjSkHGohy/ShVoDGdhp5mqVCMS02ErQ/GUAhudkw1fEQSYFjIlsijQBqTyiPQ== @@ -628,7 +628,7 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-lambda@^3.387.0": +"@aws-sdk/client-lambda@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.388.0.tgz#168101fea0c8434916418ada260218ce43921841" integrity sha512-Xqkp87s9S1hFURZqHCUqHuvV5NQw2jm9H53fJRZIFLFb1HRRbAKHKlKLASw5BgD1qq3TlMscHh8KRCM8a5vwPA== @@ -675,7 +675,7 @@ "@smithy/util-waiter" "^2.0.2" tslib "^2.5.0" -"@aws-sdk/client-redshift-data@^3.387.0": +"@aws-sdk/client-redshift-data@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-redshift-data/-/client-redshift-data-3.388.0.tgz#f22dfe1189f8086d2aaba58ed423e2d63db4731d" integrity sha512-HjgjTk7UGy9sMEExw+EEvWHF0K71Eq5V5CAa5xbiHOH0uMATv9LfBQk9DXV7CsxrEYSDDqC/EmH/XUCajeMplw== @@ -718,7 +718,7 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-redshift@^3.387.0": +"@aws-sdk/client-redshift@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-redshift/-/client-redshift-3.388.0.tgz#20ae50ee4c0e67bba44d322d124cdaaeffcb4a97" integrity sha512-Hxqb29+4afVkubWLB1xgWFtu9cY4ByhHrF6omVMQwY9K/9WjYN62rbu7IaO4O3CdSZCucWsWUxJczV5hPcanoQ== @@ -762,7 +762,7 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-route-53@^3.387.0": +"@aws-sdk/client-route-53@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-route-53/-/client-route-53-3.388.0.tgz#38648a8c05b573cc925a027bc207ac92e634d21b" integrity sha512-XuSFs3K0na0zfLpbK01Qd0xtx5W+wAM6ZjWF5yMl8zcRblq/nCxBaK+E+2LmfrLrIsp+EKCA1YMD2fWhSGYspA== @@ -808,7 +808,7 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-s3@^3.387.0": +"@aws-sdk/client-s3@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.388.0.tgz#d9b091d8670583233145a5c4991470c688840790" integrity sha512-9UN8gtr/4e4YnHb3Kb4VsxGTDe6olkL90ivK09jKwG2SX8m5OY2fIHSjtyqUHDuFb67JOk3WVEMbZEfxfx46+w== @@ -868,10 +868,10 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-secrets-manager@^3.387.0": - version "3.388.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.388.0.tgz#284429ebc9376a167c3197075a848ea00b49bea9" - integrity sha512-XOf7FXz2Xn6tbykx/79rDLWysMLX5hQNciuCdbaHhKiflyTSYFNOpe5NQoq7jTzA64NW4dUxJUNwsBdo5M/i3g== +"@aws-sdk/client-secrets-manager@^3.389.0": + version "3.389.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.389.0.tgz#4e1b71b722d42c0885d2da0bc6dcff9431e2a0e4" + integrity sha512-WcBLh43TG6Gau6HHR9Sk+ZveZWQS29CU1z3KtawF6/rxixyDjOnKTc6pkN6o0iBZ2TweO9nlNQHbgUBfGVgfdQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" @@ -911,7 +911,7 @@ tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/client-sfn@^3.387.0": +"@aws-sdk/client-sfn@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sfn/-/client-sfn-3.388.0.tgz#73d21a99670beff5adb8988d2880e3a57f9e511e" integrity sha512-qdh3Gzn72z66kUlDXsDwnDFbaGaFl0sz2iU91kVcC9TFyZRIRi3K+moaF9jBwk+Lt4xQsulCHgmrE/YpTrQ55w== @@ -953,7 +953,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-ssm@^3.387.0": +"@aws-sdk/client-ssm@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.388.0.tgz#e59167c08b4784dc6b17725e5e4030266e8ef70b" integrity sha512-1rkO+tPW5OhdMNYeFlsvyd8YV/h68X9RwZC9GkYkVR6ORX6DSZoqvRzgDqxDvxl6MbXL3gp9tY/2jv26OfKkFA== @@ -1036,7 +1036,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-sts@3.388.0", "@aws-sdk/client-sts@^3.387.0": +"@aws-sdk/client-sts@3.388.0", "@aws-sdk/client-sts@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.388.0.tgz#df4363f89de34bd02533056fc335ec8e785f788c" integrity sha512-y9FAcAYHT8O6T/jqhgsIQUb4gLiSTKD3xtzudDvjmFi8gl0oRIY1npbeckSiK6k07VQugm2s64I0nDnDxtWsBg== @@ -1167,10 +1167,10 @@ "@smithy/types" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/credential-providers@^3.387.0": - version "3.388.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.388.0.tgz#f4122ed7291de9107d1d2124bebec082767fcea7" - integrity sha512-5opHLYjj6rHrw2OaxE+IcLhC9JfiopPH7hRknzKjFnSrJ+HjzcHCML5xghwHLJOLGcoWU40CCSlwJVPLlJluMw== +"@aws-sdk/credential-providers@^3.389.0": + version "3.389.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.389.0.tgz#6e40de6726822904ae73a3df24c43afa0d512179" + integrity sha512-BwGDVg4o/GO7Ql1OeiPThfrG4Y8AYNNYznxepOs3972gvTCOW8mmrmeCkpMi50g3LEDz2emny2kWqEjCaXly+w== dependencies: "@aws-sdk/client-cognito-identity" "3.388.0" "@aws-sdk/client-sso" "3.387.0" @@ -1366,7 +1366,7 @@ "@smithy/node-http-handler" "^1.0.2" tslib "^2.5.0" -"@aws-sdk/s3-request-presigner@^3.387.0": +"@aws-sdk/s3-request-presigner@^3.388.0": version "3.388.0" resolved "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.388.0.tgz#d40a6624859e28c5eabeae773d20fe984d2b44a5" integrity sha512-vMdIS5ce5zTEaZUsbpoMf8uQNjF2J2vRizsr5pomV71zLUdLYubSr5TA7fKBSimwjS3XMCyKX2rJkGGVK5JGmQ== @@ -1836,115 +1836,115 @@ enabled "2.0.x" kuler "^2.0.0" -"@esbuild/android-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.0.tgz#c5ea635bdbe9b83d1f78a711120814e716439029" - integrity sha512-AzsozJnB+RNaDncBCs3Ys5g3kqhPFUueItfEaCpp89JH2naFNX2mYDIvUgPYMqqjm8hiFoo+jklb3QHZyR3ubw== - -"@esbuild/android-arm@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.0.tgz#6eb6e1fbc0dbfafa035aaef8b5ecde25b539fcf9" - integrity sha512-GAkjUyHgWTYuex3evPd5V7uV/XS4LMKr1PWHRPW1xNyy/Jx08x3uTrDFRefBYLKT/KpaWM8/YMQcwbp5a3yIDA== - -"@esbuild/android-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.0.tgz#99f154f71f5b92e778468bcf0f425d166c17bf20" - integrity sha512-SUG8/qiVhljBDpdkHQ9DvOWbp7hFFIP0OzxOTptbmVsgBgzY6JWowmMd6yJuOhapfxmj/DrvwKmjRLvVSIAKZg== - -"@esbuild/darwin-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.0.tgz#2fcc11abf95fbabbf9167db6a11d899385bd777b" - integrity sha512-HkxZ8k3Jvcw0FORPNTavA8BMgQjLOB6AajT+iXmil7BwY3gU1hWvJJAyWyEogCmA4LdbGvKF8vEykdmJ4xNJJQ== - -"@esbuild/darwin-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.0.tgz#b5bbde35468db093fdf994880b0eb4b62613b67c" - integrity sha512-9IRWJjqpWFHM9a5Qs3r3bK834NCFuDY5ZaLrmTjqE+10B6w65UMQzeZjh794JcxpHolsAHqwsN/33crUXNCM2Q== - -"@esbuild/freebsd-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.0.tgz#3f64c76dc590f79cc40acef6b22dd5eb89fc2125" - integrity sha512-s7i2WcXcK0V1PJHVBe7NsGddsL62a9Vhpz2U7zapPrwKoFuxPP9jybwX8SXnropR/AOj3ppt2ern4ItblU6UQQ== - -"@esbuild/freebsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.0.tgz#14d497e9e858fba2bb9b16130602b7f5944bc09c" - integrity sha512-NMdBSSdgwHCqCsucU5k1xflIIRU0qi1QZnM6+vdGy5fvxm1c8rKh50VzsWsIVTFUG3l91AtRxVwoz3Lcvy3I5w== - -"@esbuild/linux-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.0.tgz#0f2f4d8889f7dc89681c306d7312aa76445a5f65" - integrity sha512-I4zvE2srSZxRPapFnNqj+NL3sDJ1wkvEZqt903OZUlBBgigrQMvzUowvP/TTTu2OGYe1oweg5MFilfyrElIFag== - -"@esbuild/linux-arm@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.0.tgz#0b0f79dc72884f0ad02c0aabfc969a0bee7f6775" - integrity sha512-2F1+lH7ZBcCcgxiSs8EXQV0PPJJdTNiNcXxDb61vzxTRJJkXX1I/ye9mAhfHyScXzHaEibEXg1Jq9SW586zz7w== - -"@esbuild/linux-ia32@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.0.tgz#dfcece1f5e74d0e7db090475e48b28d9aa270687" - integrity sha512-dz2Q7+P92r1Evc8kEN+cQnB3qqPjmCrOZ+EdBTn8lEc1yN8WDgaDORQQiX+mxaijbH8npXBT9GxUqE52Gt6Y+g== - -"@esbuild/linux-loong64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.0.tgz#710f5bd55db3f5d9ebac8773ea49795261a35ca7" - integrity sha512-IcVJovJVflih4oFahhUw+N7YgNbuMSVFNr38awb0LNzfaiIfdqIh518nOfYaNQU3aVfiJnOIRVJDSAP4k35WxA== - -"@esbuild/linux-mips64el@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.0.tgz#a918b310f9bf31fced3853ca52fee6e7acc09824" - integrity sha512-bZGRAGySMquWsKw0gIdsClwfvgbsSq/7oq5KVu1H1r9Il+WzOcfkV1hguntIuBjRVL8agI95i4AukjdAV2YpUw== - -"@esbuild/linux-ppc64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.0.tgz#104771ef6ce2719ac17031f6b9ed8aa98f8e5faf" - integrity sha512-3LC6H5/gCDorxoRBUdpLV/m7UthYSdar0XcCu+ypycQxMS08MabZ06y1D1yZlDzL/BvOYliRNRWVG/YJJvQdbg== - -"@esbuild/linux-riscv64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.0.tgz#83beafa472ad4224adcd4d7469e3a17ba1fbd976" - integrity sha512-jfvdKjWk+Cp2sgLtEEdSHXO7qckrw2B2eFBaoRdmfhThqZs29GMMg7q/LsQpybA7BxCLLEs4di5ucsWzZC5XPA== - -"@esbuild/linux-s390x@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.0.tgz#edc26cb41d8745716bda9c26bac1f0001eaad029" - integrity sha512-ofcucfNLkoXmcnJaw9ugdEOf40AWKGt09WBFCkpor+vFJVvmk/8OPjl/qRtks2Z7BuZbG3ztJuK1zS9z5Cgx9A== - -"@esbuild/linux-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.0.tgz#80a6b5e55ad454e0c0af5bdb267335287e331007" - integrity sha512-Fpf7zNDBti3xrQKQKLdXT0hTyOxgFdRJIMtNy8x1az9ATR9/GJ1brYbB/GLWoXhKiHsoWs+2DLkFVNNMTCLEwA== - -"@esbuild/netbsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.0.tgz#2e6e8d869b58aea34bab9c0c47f15ae1bda29a90" - integrity sha512-AMQAp/5oENgDOvVhvOlbhVe1pWii7oFAMRHlmTjSEMcpjTpIHtFXhv9uAFgUERHm3eYtNvS9Vf+gT55cwuI6Aw== - -"@esbuild/openbsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.0.tgz#ca0817d3ab332afb0d8d96a2eb42b4d8ebaa8715" - integrity sha512-fDztEve1QUs3h/Dw2AUmBlWGkNQbhDoD05ppm5jKvzQv+HVuV13so7m5RYeiSMIC2XQy7PAjZh+afkxAnCRZxA== - -"@esbuild/sunos-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.0.tgz#8de27de2563cb3eb6c1af066b6d7fcb1229fe3d4" - integrity sha512-bKZzJ2/rvUjDzA5Ddyva2tMk89WzNJEibZEaq+wY6SiqPlwgFbqyQLimouxLHiHh1itb5P3SNCIF1bc2bw5H9w== - -"@esbuild/win32-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.0.tgz#67c2b410ff8862be2cd61145ad21e11be00fb914" - integrity sha512-NQJ+4jmnA79saI+sE+QzcEls19uZkoEmdxo7r//PDOjIpX8pmoWtTnWg6XcbnO7o4fieyAwb5U2LvgWynF4diA== - -"@esbuild/win32-ia32@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.0.tgz#cac8992219c6d943bb22226e4afeb3774a29cca1" - integrity sha512-uyxiZAnsfu9diHm9/rIH2soecF/HWLXYUhJKW4q1+/LLmNQ+55lRjvSUDhUmsgJtSUscRJB/3S4RNiTb9o9mCg== - -"@esbuild/win32-x64@0.19.0": - version "0.19.0" - resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.0.tgz#fa5f12c96811cec3233a53bdbf61d1a05ba9018f" - integrity sha512-jl+NXUjK2StMgqnZnqgNjZuerFG8zQqWXMBZdMMv4W/aO1ZKQaYWZBxTrtWKphkCBVEMh0wMVfGgOd2BjOZqUQ== +"@esbuild/android-arm64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.1.tgz#3803e259bb50a82a820a5e339832d42ffba02ffa" + integrity sha512-CqhrKvDSt76I0so/5afqgKrMv41FjbfUKFrcZddMnrZKqJU70I1MWLVJrImJuYMaY4Yb9rn4UKfF7oZ0BOleVw== + +"@esbuild/android-arm@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.1.tgz#131a3bf5681fb50e1e873b79fce8eae98043606b" + integrity sha512-yjTucwcOua52z14RL30JMwmCdylsQ5WrErGkAb6VL0MWPbnwJyLejydaRcUqkPO6g0MowlzavdxrR7AcfCW+yA== + +"@esbuild/android-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.1.tgz#d8b5aa54142c04d2fa8dfdd7781929cf50f0246a" + integrity sha512-VA29h01MrPkymIL1bFtvL2L4WPogiMGW2N/M+vXZHHOv6LgA9vjzVskTt0v5LjeCjx1PFDcR0ASKy8Y7Gm+iIA== + +"@esbuild/darwin-arm64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.1.tgz#ce472269315da5342811b7bad901f6be0d456642" + integrity sha512-Be4Cf6WDH7QkLHEpfzQOlBOFdqmqYTSqw2yG3SVmzB3++wy3K7wiNGedezL+q6Jb4weqT9tchO5kkLDC08Jnzg== + +"@esbuild/darwin-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.1.tgz#445017aec28152dd340464565a6796276adbd234" + integrity sha512-SewtenJi6zCEfZRSUchb+LgJ/IQw8QvnKECPu/qHII1fLQKnVPUVR+VH2IuS03DD9WWnAi3yfOvBNwtrp3WXtg== + +"@esbuild/freebsd-arm64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.1.tgz#61f70529c0aa2432e0a652b63f99ef1e1f83f7d6" + integrity sha512-TadKO0AaTDAPV2RyGZQ0AaiDTVYg7RsgNaA6OJjXXmoLbTs++NwHtzAmVFBq8Q/P9A11wgkv36HeyAYhWHbW1w== + +"@esbuild/freebsd-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.1.tgz#f7658f988c88d6b63777678b89fb8137a07a9df6" + integrity sha512-DrFMGLF0/aAcZgwhtZr1cby7aHlalpFjLCe5CiI8mm0Kqhhc8gyNZKreaZzvir8CQe0H17p9xx6M9ben5R3r0g== + +"@esbuild/linux-arm64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.1.tgz#4245701cda66bfaeaf886d3c065729c98499d7de" + integrity sha512-6ku/R2EzsdjyBaqQn+xGOPbv+BBYBXQYzlA04/46YQLmXkdApi0GYyUwiCXYBxm578iyywzGmM0rep1/q8tuFQ== + +"@esbuild/linux-arm@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.1.tgz#16ab51f1928c5631cbd40b86997198691201fe4c" + integrity sha512-lCWDVPpQO/Dt5MEqctKujgtUVmwQx7J2Q83EqX/9BejN7BIX4fGJ0QKMiIyy21PFh+/64ArN+Ovh1tzYkTt2wg== + +"@esbuild/linux-ia32@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.1.tgz#860b8c9e15259117c2adc3c510eac1fcf4b96e9a" + integrity sha512-8AKFBk9v/zBDsADvK/0BWZUxkjEc0QDwO8rvbHJKqAZx6DF/VSeBxTRmqWeecrJmx+n3kemEwML9z0eD9IHweQ== + +"@esbuild/linux-loong64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.1.tgz#09b4dc90479af7aa62babbdf451cbd1bdc0c76ad" + integrity sha512-6mOS5CxTGD8qOymp2y4KoM4ir+/REgjdJQFYpwP+WqjrWBo+PUevDGeHHjzCdw/R19PkFqS1bRzv8cTCmB/5kA== + +"@esbuild/linux-mips64el@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.1.tgz#92b242fde2d7d9875d3aa249d57f3508f9058934" + integrity sha512-Bzmv6rRMzR4ErG2k/jwfj5jKNzVMVEI1tThuirFdAoE+duUv+jlDnlwxsN3s1eqMzADTOV2sSIcUUOfgv++Dgg== + +"@esbuild/linux-ppc64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.1.tgz#43d07d27dde2819ab6e0dd200174b9a7dd25cb1f" + integrity sha512-mPOxA7bd3nmx8TkuO/9M/tE0fnvmuX0wlpwnTL6DPLgkb/Z/KkupexSIw4cLfznn/fPzD89y17VWBjlVNyrpCQ== + +"@esbuild/linux-riscv64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.1.tgz#293e3027e996446d9d303d61605b5b0c14c238f9" + integrity sha512-znYb2Mhe9xKIDeIYuTD6vCcUltvYzRT5Yq6sVcdhPrGu8DRdsNZS04B2tSeM+j7T03jL4yY+7/G/jxSJJ9LX2A== + +"@esbuild/linux-s390x@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.1.tgz#ac6876f7b0221237792001fd644ca6523a82d5a7" + integrity sha512-BBIE32cyqAYhMOQ42/jnecoF5P/S5lMob2vXSUiFpD3xCFbXOFkjP1OjfFKnalSO9+B5emvPTQFfNQXuLeVGEw== + +"@esbuild/linux-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.1.tgz#f2761e507bfb5a975ae89cb0b95b7c10fa283d8b" + integrity sha512-PoCvKdHTIbnHmVJ5OEdewGMSw40HDFRTrC/imwh8vrp695RbSUpOqBqNBT45neK0FQleGFbSE/A9X6HlXPDhqA== + +"@esbuild/netbsd-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.1.tgz#c1f948931b14b96cf958c783c7dbec0409782a0c" + integrity sha512-4OrGMPorHCq9h52VLtyyyAmPjC2ZlANx54VDYyCrqXUOi+k0qxnPKXKKprVES67w2mE7TZJx9qZmT+jHeiZbHQ== + +"@esbuild/openbsd-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.1.tgz#1d863e5c54a6a8a03e585ab3e3240863fc3a5e58" + integrity sha512-3a7ZYMjBC4P3FKdTmUZHJw7Mhzp71m+iSFFhX1PnLZ03qmyaB2K+vJZCk4PjRjAvm5lSupJQQtM/AFMyLgKlxQ== + +"@esbuild/sunos-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.1.tgz#ee66c195f07527eb098d72e3a298398513128f67" + integrity sha512-29yWBN5XfEjXT8yoeVb8cXfN1jAQLB+uskog1vBMhFR+YWOYvsrwPnh4hspETC/JnF95J+iETrvxgOUlICTWIw== + +"@esbuild/win32-arm64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.1.tgz#810ac7fcc15e4c0b606acdb39cd5cf342ba16dd7" + integrity sha512-9Hb/WUXgyXlL55w3iNVyLkN9gq9x+agv3kk80foWbfpOwe7Qw4Vx6JGB+XQdsIfvvP1kShVQPIvBgVj0TxLlVw== + +"@esbuild/win32-ia32@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.1.tgz#c8ae19f2f87d9a6dd4b6c1a490d2c2c010ed315b" + integrity sha512-VGdtEcXX/f01NgoM8emDnpdOyrZCQ7VTwLv89MOl3mvJ5fbCOBMNCa8t7RZS4lf12RS87qOuJFX7Bh9aLTbSxg== + +"@esbuild/win32-x64@0.19.1": + version "0.19.1" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.1.tgz#8689ddff5792349df358d38d239a73ce58f274ab" + integrity sha512-H6u8OHmJkKJubLbukVOyi9yA5lzK8VE4TFEkZj2vgusTUPvFeMQ8YnWviVc9F6PuKS6ZIpOvi2/sfiW8tQZQ2g== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" @@ -1973,10 +1973,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz#18d635e24ad35f7276e8a49d135c7d3ca6a46f93" - integrity sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA== +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1988,10 +1988,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.46.0": - version "8.46.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6" - integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA== +"@eslint/js@^8.47.0": + version "8.47.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" + integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== "@extra-number/significant-digits@^1.1.1": version "1.3.9" @@ -2335,25 +2335,18 @@ chalk "^4.1.2" semver "^7.5.1" -"@jsii/check-node@1.86.1": - version "1.86.1" - resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.86.1.tgz#ceffe3e06cf8208c2b5a16e60ff55faa72cd79a2" - integrity sha512-lxcuw/TgUkh1dD01B39V47pwmF8yWUm8BiQKb0jpOY0xaE9nSlq9kRfTR7XaXu37w59jeYepI5af/GyUf9+TXw== +"@jsii/check-node@1.87.0": + version "1.87.0" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.87.0.tgz#5b7e426187f46e3d18159f71ab3f9abd02e36162" + integrity sha512-P4mhtFMwntFpqGNanp0L86bskuiNEw1TVKJzhemR3OK2vWb3IyYn1ZHc/o3Sn2xjpwX/OLwVhcuXOOcMFMQViQ== dependencies: chalk "^4.1.2" semver "^7.5.4" -"@jsii/spec@1.85.0": - version "1.85.0" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.85.0.tgz#b4e1c54d7da64bead609f7bf3f5ae1a3bcc3225b" - integrity sha512-RIBLbuKf7JOC54v1JnRuykwlL+qmOgivQM8LHJxiAsUKiuY5ypSzG0JyeoJ1+lMQ9zZ50Ho0HY1ZO+XH18ZgNg== - dependencies: - ajv "^8.12.0" - -"@jsii/spec@1.86.1", "@jsii/spec@^1.84.0", "@jsii/spec@^1.85.0", "@jsii/spec@^1.86.1": - version "1.86.1" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.86.1.tgz#0f8911f5d5cfb2606628f143ac7d195b7870c890" - integrity sha512-wD0Y0pVg/1jjbZImk2FIuj+YdpwLFEsKCpoC3XKLJyNyUZPSoJzrt3phLV8HRLmH0m52kw6rh044OIowedcc9A== +"@jsii/spec@1.87.0", "@jsii/spec@^1.84.0", "@jsii/spec@^1.85.0", "@jsii/spec@^1.87.0": + version "1.87.0" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.87.0.tgz#99b9dd12ed92120e79e645538620db0526a7ad7b" + integrity sha512-fhTT3IYmjyRKvUUWffBIuGDVVfyKC+QfE1cMyExSHl7l6wk6unrxS8qsU23kaJ5bNQAnlc2+CE1HteY2SLbepg== dependencies: ajv "^8.12.0" @@ -3064,10 +3057,10 @@ "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" -"@sigstore/bundle@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.0.0.tgz#2f2f4867f434760f4bc6f4b4bbccbaecd4143bc3" - integrity sha512-yLvrWDOh6uMOUlFCTJIZEnwOT9Xte7NPXUqVexEKGSF5XtBAuSg5du0kn3dRR0p47a4ah10Y0mNt8+uyeQXrBQ== +"@sigstore/bundle@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" + integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== dependencies: "@sigstore/protobuf-specs" "^0.2.0" @@ -3076,6 +3069,15 @@ resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.0.tgz#5801b2a4d10afe1577be6133be6b132b5677c18c" integrity sha512-8ZhZKAVfXjIspDWwm3D3Kvj0ddbJ0HqDZ/pOs5cx88HpT8mVsotFrg7H1UMnXOuDHz6Zykwxn4mxG3QLuN+RUg== +"@sigstore/sign@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz#6b08ebc2f6c92aa5acb07a49784cb6738796f7b4" + integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + make-fetch-happen "^11.0.1" + "@sigstore/tuf@^1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz#2a65986772ede996485728f027b0514c0b70b160" @@ -3188,12 +3190,12 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/abort-controller@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.2.tgz#e2188247a1723b58d60b0803f3ba24b76a714413" - integrity sha512-ln5Cob0mksym62sLr7NiPOSqJ0jKao4qjfcNLDdgINM1lQI12hXrZBlKdPHbXJqpKhKiECDgonMoqCM8bigq4g== +"@smithy/abort-controller@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.3.tgz#7e7141b6c2fa90f21f4df38d3ef792f5308f94ce" + integrity sha512-LbQ4fdsVuQC3/18Z/uia5wnk9fk8ikfHl3laYCEGhboEMJ/6oVk3zhydqljMxBCftHGUv7yUrTnZ6EAQhOf+PA== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/chunked-blob-reader-native@^2.0.0": @@ -3211,118 +3213,118 @@ dependencies: tslib "^2.5.0" -"@smithy/config-resolver@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.2.tgz#64496d2f2f9f1482d2e982d3dc057dccc4ba97db" - integrity sha512-0kdsqBL6BdmSbdU6YaDkodVBMua5MuQQluC3nocJ7OJ6PnOuM7i2FEQHE46LBadLqT+CimlDSM+6j91uHNL1ng== +"@smithy/config-resolver@^2.0.2", "@smithy/config-resolver@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.3.tgz#e81fb1ad688ab28d06203bbaf96098d8c391c629" + integrity sha512-E+fsc6BOzFOc6U6y9ogRH8Pw2HF1NVW14AAYy7l3OTXYWuYxHb/fzDZaA0FvD/dXyFoMy7AV1rYZsGzD4bMKzw== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-config-provider" "^2.0.0" "@smithy/util-middleware" "^2.0.0" tslib "^2.5.0" -"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.2.tgz#9096ff1a2ceb235497a62d469ac70086b96022ad" - integrity sha512-mbWFYEZ00LBRDk3WvcXViwpdpkJQcfrM3seuKzFxZnF6wIBLMwrcWcsj+OUC/1L+86m8aQY9imXMAaQsAoGxow== +"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.3.tgz#93cc61deb3b363da1dc8359c254ad4bf8e1c8624" + integrity sha512-2e85iLgSuiGQ8BBFkot88kuv6sT5DHvkDO8FDvGwNunn2ybf24HhEkaWCMxK4pUeHtnA2dMa3hZbtfmJ7KJQig== dependencies: - "@smithy/node-config-provider" "^2.0.2" - "@smithy/property-provider" "^2.0.2" - "@smithy/types" "^2.1.0" - "@smithy/url-parser" "^2.0.2" + "@smithy/node-config-provider" "^2.0.3" + "@smithy/property-provider" "^2.0.3" + "@smithy/types" "^2.2.0" + "@smithy/url-parser" "^2.0.3" tslib "^2.5.0" -"@smithy/eventstream-codec@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.2.tgz#9d81c8d081ac28ba098d98b06cbb39955af1e09b" - integrity sha512-PQZiKx7fMnNwx4zxcUCm82VjnqK6wV4MEHSmMy3taj5dKfXV782IjRGyaDT+8TsmNqVdZIkve5zLRAzh+7kOhA== +"@smithy/eventstream-codec@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.3.tgz#cb4403497feadf99213762940ac1e825c1f78372" + integrity sha512-3l/uKZBsV/6uMe2qXvh1C8ut/w6JHKgy7ic7N2QPR1SSuNWKNQBX0iVBqJpPtQz0UDeQYM4cNmwDBX+hw74EEw== dependencies: "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" "@smithy/eventstream-serde-browser@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.2.tgz#96558c867291d90cbd30927c3c1b480991d48e5f" - integrity sha512-qaHlcFI+ILE+gZV2B/aZMVXc9LG4v1Owa20dHlP0dLOiJ9WByOjtD2qZmYA/HO4qkkDZHEL/0baWc63aqLCHKQ== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.3.tgz#36f0386a9d0c6b8789b4db6bf31c4c9a24b48903" + integrity sha512-RwQeTFnc6nOP6iGjdnMFgDG8QtneHKptrVZxjc+be4KIoXGPyF3QAourxnrClxTl+MACXYUaCg6bWCozqfHMOw== dependencies: - "@smithy/eventstream-serde-universal" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/eventstream-serde-universal" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/eventstream-serde-config-resolver@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.2.tgz#7f23160a99276a8d3d29d84e2266bc20896cda44" - integrity sha512-iVC7/NFNWfSXllAxFNUuC4QlREdZjMmAOdISb6fwny/4mUDt1EtYLCrXq7gN1mIzhRPwMpL9YvQ8jpgvfA0Jdw== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.3.tgz#e07c15908bcefa6873c4f9107406c853d3fe7900" + integrity sha512-J8QzPnarBiJaPw5DBsZ5O2GHjfPHhCmKV5iVzdcAFt0PD81UWNL9HMwAKx99mY5WWPCaFKvb1yBeN2g/v4uA2w== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/eventstream-serde-node@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.2.tgz#0f48deca0bde6b1216c6457780294ce77416a36a" - integrity sha512-p7py8jDpIS1bRewskwgEgJx1OkFvockA2bJnXtOAPJib42DtyRpp8oV14s2ZpjMq57r9KMCQy2j02g554DNavg== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.3.tgz#f595fb8322fc25289213e314a28f2f795f100873" + integrity sha512-085r0AHMhwVF99rlAy8RVMhXMkxay4SdSwRdDUIe4MXQ6r2957BVpm3BcoxRpjcGgnoCldRc9tCRa0TclvUS5w== dependencies: - "@smithy/eventstream-serde-universal" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/eventstream-serde-universal" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" -"@smithy/eventstream-serde-universal@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.2.tgz#8dcc8bf3704afc09d999d13776362bb0b20d4394" - integrity sha512-zf/hm5VIDsvl+XpI1rop4xwXLKiBUe5pxgjRFdHi7AC1p6Zc8uJfyCExLiMUP/QspoIrVV1xGwFFxRCeddDH3g== +"@smithy/eventstream-serde-universal@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.3.tgz#a360c45c91cd64b03f1ba60bb5e738e99bcb44ff" + integrity sha512-51nLy47MmU9Nb4dwlwsmP1XJViP72kuLtIqTeDeRSe5Ah4xfSP/df11roEhzUmE/rUYEkErj64RHkseeuFkCgg== dependencies: - "@smithy/eventstream-codec" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/eventstream-codec" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" -"@smithy/fetch-http-handler@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.2.tgz#dcc0e9d365efd8feef4a54dd96a264735a1446b7" - integrity sha512-Wo2m1RaiXNSLF4J3D62LpdSoj/YYb+6tn0H8is1tSrzr7eXAdiYVBc0wIa23N0wT4zmN0iG/yNY6gTCDQ6799A== +"@smithy/fetch-http-handler@^2.0.2", "@smithy/fetch-http-handler@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.3.tgz#e53b6a65f25c9c3b20ec06fbc4795409381d82d6" + integrity sha512-0if2hyn+tDkyK9Tg1bXpo3IMUaezz/FKlaUTwTey3m87hF8gb7a0nKaST4NURE2eUVimViGCB7SH3/i4wFXALg== dependencies: - "@smithy/protocol-http" "^2.0.2" - "@smithy/querystring-builder" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/protocol-http" "^2.0.3" + "@smithy/querystring-builder" "^2.0.3" + "@smithy/types" "^2.2.0" "@smithy/util-base64" "^2.0.0" tslib "^2.5.0" "@smithy/hash-blob-browser@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.2.tgz#23a35029eea0832ff0c3ae0f89cd3c78385b68e9" - integrity sha512-CmVGWbiyiEySGDRg3o2C3DLZYW+mH8fMoIEZrmwnBM8bQsepZGOME40tbpvv12BIhZIInJV8srMMHpQ6aKObLA== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.3.tgz#6198dd0382e6ddc9d3f27f7b4f85252c12af054d" + integrity sha512-YQywO2eGG4x3klQZ+R7G8X3oCgrzQaCNC3zYq7kcGibE2Z+q9Lzt3prYiODUwAihDJTCG09xHq1p9IW+z/fp+Q== dependencies: "@smithy/chunked-blob-reader" "^2.0.0" "@smithy/chunked-blob-reader-native" "^2.0.0" - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/hash-node@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.2.tgz#e968a3e7ab7072bd12297063e3770ae6d9249dee" - integrity sha512-JKDzZ1YVR7JzOBaJoWy3ToJCE86OQE6D4kOBvvVsu93a3lcF9kv6KYTKBYEWAjwOn/CpK4NH7mKB01OQ8H+aiA== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.3.tgz#7ff71a884c00e7d0b4993f2a80a99f8d2cff86c4" + integrity sha512-wtN9eiRKEiryXrPbWQ7Acu0D3Uk65+PowtTqOslViMZNcKNlYHsxOP1S9rb2klnzA3yY1WSPO1tG78pjhRlvrQ== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-buffer-from" "^2.0.0" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@smithy/hash-stream-node@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.2.tgz#9c1a41d47dfef90e2b9efdca748cf8896eb366df" - integrity sha512-cDfGE81BbykXKZ50+eLU5Yat8WGiDFQpNa+5S3AfDIzz5h4D73DpxWwcwV4qYB7GoAw2chFqTCAGWgU/MgRS9g== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.3.tgz#3b3a6756792f3e27e617fa372766ba2aa8ca49bf" + integrity sha512-rFUhbuynRMd1DlYewqXRog2bZIMaDL3sNTAK7fg+7DngPpus7hiIGuXn3tJNnCiqiNuxVrhi/ffWpwt21+8DtA== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@smithy/invalid-dependency@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.2.tgz#1f7b6a860395e9f11fcdbdf3ac22fb95ce863c69" - integrity sha512-inQZQ5gCO3WRWuXpsc1YJ4KBjsvj2qsoU32yTIKznBWTCQe/D5Dp+sSaysqBqxe0VTZ+8nFEHdUMWUX2BxQThw== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.3.tgz#d9471b1ee5904ee6ec49a61d5ffbc65412f1feb9" + integrity sha512-GtmVXD/s+OZlFG1o3HfUI55aBJZXX5/iznAQkgjRGf8prYoO8GvSZLDWHXJp91arybaJxYd133oJORGf4YxGAg== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/is-array-buffer@^2.0.0": @@ -3333,53 +3335,53 @@ tslib "^2.5.0" "@smithy/md5-js@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.2.tgz#263c149105123f7a942ec9f1ba1ecb3626d3a99f" - integrity sha512-qm9845tzkYOm3HM/nFiZVMsA9nE7klO69T1qrrbrQKpUJpEFV87XDInbnRpYzBAFUH4DRodbZ9spEnjF7ffoww== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.3.tgz#fb9e7ace2ddbc385986e6b75352f1a68f4d9046b" + integrity sha512-pYnD2US3SioMynHytq4n2BsB5L6uJ7pWKxl9sQqvWwYJXcT3VSnJ0/9adbVcWE+GrMRlGO4CpRg9SIKpdQYR+Q== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@smithy/middleware-content-length@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.2.tgz#6167e8ca52cb5f2b06d3c76fa445080c45baaf25" - integrity sha512-FmHlNfuvYgDZE3fIx0G3rD/wLXfAmBYE4mVc/w6d7RllA7TygPzq2pfHL1iCMzWkWTdoAVnt3h4aavAZnhaxEQ== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.3.tgz#6481be833b9daecea710c09d67f89f67de09ba30" + integrity sha512-2FiZ5vu2+iMRL8XWNaREUqqNHjtBubaY9Jb2b3huZ9EbgrXsJfCszK6PPidHTLe+B4T7AISqdF4ZSp9VPXuelg== dependencies: - "@smithy/protocol-http" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/protocol-http" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/middleware-endpoint@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.2.tgz#29f4c8ae799ffb0891f96148eb754f8d0a41a97c" - integrity sha512-ropE7/c+g22QeluZ+By/B/WvVep0UFreX+IeRMGIO7EbOUPgqtJRXpbJFdG6JKB1uC+CdaJLn4MnZnVBpcyjuA== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.3.tgz#47416bbe4237c5d7204f31aef02ce294c34667af" + integrity sha512-gNleUHhu5OKk/nrA6WbpLUk/Wk2hcyCvaw7sZiKMazs+zdzWb0kYzynRf675uCWolbvlw9BvkrVaSJo5TRz+Mg== dependencies: - "@smithy/middleware-serde" "^2.0.2" - "@smithy/types" "^2.1.0" - "@smithy/url-parser" "^2.0.2" + "@smithy/middleware-serde" "^2.0.3" + "@smithy/types" "^2.2.0" + "@smithy/url-parser" "^2.0.3" "@smithy/util-middleware" "^2.0.0" tslib "^2.5.0" "@smithy/middleware-retry@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.2.tgz#0d6feb551a5d546c720106435d2a4e7878fd8ea2" - integrity sha512-wtBUXqtZVriiXppYaFkUrybAPhFVX7vebnW/yVPliLMWMcguOMS58qhOYPZe3t9Wki2+mASfyu+kO3An8lAg2A== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.3.tgz#419a1136a117da6abecd5aa6d0535a24152d530e" + integrity sha512-BpfaUwgOh8LpWP/x6KBb5IdBmd5+tEpTKIjDt7LWi3IVOYmRX5DjQo1eCEUqlKS1nxws/T7+/IyzvgBq8gF9rw== dependencies: - "@smithy/protocol-http" "^2.0.2" + "@smithy/protocol-http" "^2.0.3" "@smithy/service-error-classification" "^2.0.0" - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-middleware" "^2.0.0" "@smithy/util-retry" "^2.0.0" tslib "^2.5.0" uuid "^8.3.2" -"@smithy/middleware-serde@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.2.tgz#a59f74e981be8b76ef18e272d525e24e3974dc82" - integrity sha512-Kw9xLdlueIaivUWslKB67WZ/cCUg3QnzYVIA3t5KfgsseEEuU4UxXw8NSTvIt71gqQloY+Um8ugS+idgxrWWnw== +"@smithy/middleware-serde@^2.0.2", "@smithy/middleware-serde@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.3.tgz#637fb9abac625c232fa62aa9e10a5ae3146a84ba" + integrity sha512-5BxuOKL7pXqesvtunniDlvYQXVr7UJEF5nFVoK6+5chf5wplLA8IZWAn3NUcGq/f1u01w2m2q7atCoA6ftRLKA== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/middleware-stack@^2.0.0": @@ -3389,14 +3391,14 @@ dependencies: tslib "^2.5.0" -"@smithy/node-config-provider@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.2.tgz#a15f125f7011ff82610297d899826b7ef7889867" - integrity sha512-9wVJccASfuCctNWrzR0zrDkf0ox3HCHGEhFlWL2LBoghUYuK28pVRBbG69wvnkhlHnB8dDZHagxH+Nq9dm7eWw== +"@smithy/node-config-provider@^2.0.2", "@smithy/node-config-provider@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.3.tgz#d2559c5944453c33078221ead2aeb1ae9f53e63e" + integrity sha512-dYSVxOQMqtdmSOBW/J4RPvSYE4KKdGLgFHDJQGNsGo1d3y9IoNLwE32lT7doWwV0ryntlm4QZZwhfb3gISrTtA== dependencies: - "@smithy/property-provider" "^2.0.2" - "@smithy/shared-ini-file-loader" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/property-provider" "^2.0.3" + "@smithy/shared-ini-file-loader" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/node-http-handler@^1.0.2": @@ -3410,23 +3412,23 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/node-http-handler@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.0.2.tgz#3c4d43352f5412cdb23ca075327ac997f5b03df2" - integrity sha512-lpZjmtmyZqSAtMPsbrLhb7XoAQ2kAHeuLY/csW6I2k+QyFvOk7cZeQsqEngWmZ9SJaeYiDCBINxAIM61i5WGLw== +"@smithy/node-http-handler@^2.0.2", "@smithy/node-http-handler@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.0.3.tgz#4878a427821759c93e63218e6f1aaea3bb82f523" + integrity sha512-wUO78aa0VVJVz54Lr1Nw6FYnkatbvh2saHgkT8fdtNWc7I/osaPMUJnRkBmTZZ5w+BIQ1rvr9dbGyYBTlRg2+Q== dependencies: - "@smithy/abort-controller" "^2.0.2" - "@smithy/protocol-http" "^2.0.2" - "@smithy/querystring-builder" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/abort-controller" "^2.0.3" + "@smithy/protocol-http" "^2.0.3" + "@smithy/querystring-builder" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" -"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.2.tgz#abe091d1e7dc5b617e3418b63eaed11363c96f21" - integrity sha512-DfaZ8cO+d/mgnMzIllcXcU4OYP+omiOl2LYdn/fTGpw/EAQSVzscYV2muV3sDDnuPYQ/r014hUqIxnF+pzh+SQ== +"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.3.tgz#75b10aa55b253ad70c13f6e46e8ecadda321d9f8" + integrity sha512-SHV1SINUNysJ5HyPrMLHLkdofgalk9+5FnQCB/985hqcUxstN616hPZ7ngOjLpdhKp0yu1ul/esE9Gd4qh1tgg== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/protocol-http@^1.2.0": @@ -3437,12 +3439,12 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/protocol-http@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-2.0.2.tgz#ec3d45a650cb5554b6aba1c38768f51fc9cf79b5" - integrity sha512-qWu8g1FUy+m36KpO1sREJSF7BaLmjw9AqOuwxLVVSdYz+nUQjc9tFAZ9LB6jJXKdsZFSjfkjHJBbhD78QdE7Rw== +"@smithy/protocol-http@^2.0.2", "@smithy/protocol-http@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-2.0.3.tgz#1f44f33e8ac89b6ec04db14faeb4835631014f8b" + integrity sha512-yzBYloviSLOwo2RT62vBRCPtk8mc/O2RMJfynEahbX8ZnduHpKaajvx3IuGubhamIbesi7M5HBVecDehBnlb9Q== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/querystring-builder@^1.1.0": @@ -3454,21 +3456,21 @@ "@smithy/util-uri-escape" "^1.1.0" tslib "^2.5.0" -"@smithy/querystring-builder@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.2.tgz#67a1bb503037c4666b5df56ad4b9e10bc525f568" - integrity sha512-H99LOMWEssfwqkOoTs4Y12UiZ7CTGQSX5Nrx5UkYgRbUEpC1GnnaprHiYrqclC58/xr4K76aNchdPyioxewMzA== +"@smithy/querystring-builder@^2.0.2", "@smithy/querystring-builder@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.3.tgz#0f6eb065ef577b64b2ac3dc286163b0a6d559753" + integrity sha512-HPSviVgGj9FT4jPdprkfSGF3nhFzpQMST1hOC1Oh6eaRB2KTQCsOZmS7U4IqGErVPafe6f/yRa1DV73B5gO50w== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-uri-escape" "^2.0.0" tslib "^2.5.0" -"@smithy/querystring-parser@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.2.tgz#d6b2562e7ae29282b144939e5fd439b17bdf61dd" - integrity sha512-L4VtKQ8O4/aWPQJbiFymbhAmxdfLnEaROh/Vs0OstJ7jtOZeBl2QJmuWY2V7hjt64W7V+tEn2sv6vVvnxkm/xQ== +"@smithy/querystring-parser@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.3.tgz#8915ff4a29518b8521649c1375c51f00ec227be2" + integrity sha512-AaiZ2osstDbmOTz5uY+96o0G1E7k1U7dCYrNT8FFcyffdhScTzG7fXr12f5peie2W0XFu2Ub+b6tQwFuZwPoBA== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/service-error-classification@^2.0.0": @@ -3476,22 +3478,22 @@ resolved "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz#bbce07c9c529d9333d40db881fd4a1795dd84892" integrity sha512-2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw== -"@smithy/shared-ini-file-loader@^2.0.0", "@smithy/shared-ini-file-loader@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.2.tgz#49b9bf384ece821352f50c8f6cb989edc77d2dbf" - integrity sha512-2VkNOM/82u4vatVdK5nfusgGIlvR48Fkq6me17Oc+V1iyxfR/1x0pG6LzW0br1qlGtzBYFZKmDyviBRcPVFTVw== +"@smithy/shared-ini-file-loader@^2.0.0", "@smithy/shared-ini-file-loader@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.3.tgz#e813a00801ea9287368577f908f64dc7a366606c" + integrity sha512-1Vgco3K0rN5YG2OStoS2zUrBzdcFqgqp475rGdag206PCh7AHzmVSGXL6OpWPAqZl29WUqXfMP8tHOLG0H6vkA== dependencies: - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/signature-v4@^2.0.0": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.2.tgz#c1ec6d9485a72039060e9a8fe2c02e0afb9d7764" - integrity sha512-YMooDEw/UmGxcXY4qWnSXkbPFsRloluSvyXVT678YPDN/K2AS1GzKfRsvSU7fbccOB4WF8MHZf2UqcRGEltE3Q== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.3.tgz#4260a2d8699b37cbafba471c50284b07c801b420" + integrity sha512-AZ+951EAcNqas2RTq4xQvuX4uZqPV/zCcbs7ACqpuxcjYAFU2FKRPpQHqsDN0jbJwI3Scw75xhSKcGWFf2/Olg== dependencies: - "@smithy/eventstream-codec" "^2.0.2" + "@smithy/eventstream-codec" "^2.0.3" "@smithy/is-array-buffer" "^2.0.0" - "@smithy/types" "^2.1.0" + "@smithy/types" "^2.2.0" "@smithy/util-hex-encoding" "^2.0.0" "@smithy/util-middleware" "^2.0.0" "@smithy/util-uri-escape" "^2.0.0" @@ -3499,13 +3501,13 @@ tslib "^2.5.0" "@smithy/smithy-client@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.0.2.tgz#3364bfb4afa73d57712b95cb9319f7c8324a104e" - integrity sha512-mDfokI8WwLU5C0gcQ4ww/zJI/WLGSh2+vdIA42JRnjfYUjJNH/rKfX9YOnn2eBOxl3loATERVUqkHmKe+P8s2Q== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.0.3.tgz#cc3a8ef84c904ba75aa702edcf79973aa0e23e09" + integrity sha512-YP0HakPOJgvX2wvPEAGH9GB3NfuQE8CmBhR13bWtqWuIErmJnInTiSQcLSc0QiXHclH/8Qlq+qjKCR7N/4wvtQ== dependencies: "@smithy/middleware-stack" "^2.0.0" - "@smithy/types" "^2.1.0" - "@smithy/util-stream" "^2.0.2" + "@smithy/types" "^2.2.0" + "@smithy/util-stream" "^2.0.3" tslib "^2.5.0" "@smithy/types@^1.2.0": @@ -3515,20 +3517,20 @@ dependencies: tslib "^2.5.0" -"@smithy/types@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@smithy/types/-/types-2.1.0.tgz#67fd47c25bbb0fd818951891bf7bcf19a8ee2fe6" - integrity sha512-KLsCsqxX0j2l99iP8s0f7LBlcsp7a7ceXGn0LPYPyVOsqmIKvSaPQajq0YevlL4T9Bm+DtcyXfBTbtBcLX1I7A== +"@smithy/types@^2.1.0", "@smithy/types@^2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@smithy/types/-/types-2.2.0.tgz#52fa236967729f5a4e2c6c334f1a03930fa86f67" + integrity sha512-Ahpt9KvD0mWeWiyaGo5EBE7KOByLl3jl4CD9Ps/r8qySgzVzo/4qsa+vvstOU3ZEriALmrPqUKIhqHt0Rn+m6g== dependencies: tslib "^2.5.0" -"@smithy/url-parser@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.2.tgz#af50bd62298b209b1a16c80912a03460b7cb8994" - integrity sha512-X1mHCzrSVDlhVy7d3S7Vq+dTfYzwh4n7xGHhyJumu77nJqIss0lazVug85Pwo0DKIoO314wAOvMnBxNYDa+7wA== +"@smithy/url-parser@^2.0.2", "@smithy/url-parser@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.3.tgz#68015a83218b8efb92822273c5ee81c71240297d" + integrity sha512-O7NlbDL4kh+th6qwtL7wNRcPCuOXFRWJzWKywfB/Nv56N1F8KiK0KbPn1z7MU5du/0LgjAMvhkg0mVDyiMCnqw== dependencies: - "@smithy/querystring-parser" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/querystring-parser" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/util-base64@^2.0.0": @@ -3569,25 +3571,25 @@ tslib "^2.5.0" "@smithy/util-defaults-mode-browser@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.2.tgz#fb3ad350573ddea0ff7222adc98e9ecc4155b0d3" - integrity sha512-c2tMMjb624XLuzmlRoZpnFOkejVxcgw3WQKdmgdGZYZapcLzXyC0H9JhnXMjQCt30GqLTlsILRNVBYwFRbw/4Q== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.3.tgz#de860befc4571a7e0939b8668169890b43466de9" + integrity sha512-t9cirP55wYeSfDjjvPHSjNiuZj3wc9W3W3fjLXaVzuKKlKX98B9Vj7QM9WHJnFjJdsrYEwolLA8GVdqZeHOkHg== dependencies: - "@smithy/property-provider" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/property-provider" "^2.0.3" + "@smithy/types" "^2.2.0" bowser "^2.11.0" tslib "^2.5.0" "@smithy/util-defaults-mode-node@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.2.tgz#2e16e3eb57427c76604c255c38d9e1eacd385d7e" - integrity sha512-gt7m5LLqUtEKldJLyc14DE4kb85vxwomvt9AfEMEvWM4VwfWS1kGJqiStZFb5KNqnQPXw8vvpgLTi8NrWAOXqg== - dependencies: - "@smithy/config-resolver" "^2.0.2" - "@smithy/credential-provider-imds" "^2.0.2" - "@smithy/node-config-provider" "^2.0.2" - "@smithy/property-provider" "^2.0.2" - "@smithy/types" "^2.1.0" + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.3.tgz#3c6955fe6a516f7ba7a3af5865d678a937a43751" + integrity sha512-Gca+fL0h+tl8cbvoLDMWCVzs1CL4jWLWvz/I6MCYZzaEAKkmd1qO4kPzBeGaI6hGA/IbrlWCFg7L+MTPzLwzfg== + dependencies: + "@smithy/config-resolver" "^2.0.3" + "@smithy/credential-provider-imds" "^2.0.3" + "@smithy/node-config-provider" "^2.0.3" + "@smithy/property-provider" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@smithy/util-hex-encoding@^2.0.0": @@ -3612,14 +3614,14 @@ "@smithy/service-error-classification" "^2.0.0" tslib "^2.5.0" -"@smithy/util-stream@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.2.tgz#cb4f3c4eca4253f77a780fd861630ed02d67b220" - integrity sha512-Mg9IJcKIu4YKlbzvpp1KLvh4JZLdcPgpxk+LICuDwzZCfxe47R9enVK8dNEiuyiIGK2ExbfvzCVT8IBru62vZw== +"@smithy/util-stream@^2.0.2", "@smithy/util-stream@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.3.tgz#39ce49f43e4622a6bf9b54226c284a4671138702" + integrity sha512-+8n2vIyp6o9KHGey0PoGatcDthwVb7C/EzWfqojXrHhZOXy6l+hnWlfoF8zVerKYH2CUtravdJKRTy7vdkOXfQ== dependencies: - "@smithy/fetch-http-handler" "^2.0.2" - "@smithy/node-http-handler" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/fetch-http-handler" "^2.0.3" + "@smithy/node-http-handler" "^2.0.3" + "@smithy/types" "^2.2.0" "@smithy/util-base64" "^2.0.0" "@smithy/util-buffer-from" "^2.0.0" "@smithy/util-hex-encoding" "^2.0.0" @@ -3649,12 +3651,12 @@ tslib "^2.5.0" "@smithy/util-waiter@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.2.tgz#32fa0fbd3ec12827daa396f2ec52e5f47478d327" - integrity sha512-7XCEVXDLguf3Og0NIF/KYEAHtrzNXmCdtEwMfOXr4iBKOUWYzNj91YB9O7tLrct8VGvysGA0x2xYzbxMbvF0QQ== + version "2.0.3" + resolved "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.3.tgz#e9001142bc3856aee19c26cab21b1857705c2335" + integrity sha512-3/Fzqoyecvh4cNvcHQDl1GznskXjGc9uZ8N6aoaPCKfsctgZad/J13xg8WC1UXc3PwKocHtuUvz0dRFDLaBppQ== dependencies: - "@smithy/abort-controller" "^2.0.2" - "@smithy/types" "^2.1.0" + "@smithy/abort-controller" "^2.0.3" + "@smithy/types" "^2.2.0" tslib "^2.5.0" "@szmarczak/http-timer@^5.0.1": @@ -3854,7 +3856,7 @@ resolved "https://registry.npmjs.org/@types/license-checker/-/license-checker-25.0.3.tgz#fbe80df33f1ac9d4bc2d4c167da3c2fd2999eb73" integrity sha512-sFkIgeXh6HJR79DbTrZrsHWhfyr3q8v2Gswj3y0tRPEo57OEPVgDF/z/ePybHUGuSCwiDiAt/3YMta9ujUxQpQ== -"@types/lodash@^4.14.196": +"@types/lodash@^4.14.197": version "4.14.197" resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" integrity sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g== @@ -3912,9 +3914,9 @@ form-data "^3.0.0" "@types/node@*": - version "20.4.9" - resolved "https://registry.npmjs.org/@types/node/-/node-20.4.9.tgz#c7164e0f8d3f12dfae336af0b1f7fdec8c6b204f" - integrity sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ== + version "20.4.10" + resolved "https://registry.npmjs.org/@types/node/-/node-20.4.10.tgz#73c9480791e3ddeb4887a660fc93a7f59353ad45" + integrity sha512-vwzFiiy8Rn6E0MtA13/Cxxgpan/N6UeNYR9oUu6kuJWxu6zCk98trcDp8CBhbtaeuq9SykCmXkFr2lWLoPcvLg== "@types/node@18.11.19": version "18.11.19" @@ -4663,10 +4665,10 @@ aws-sdk-mock@5.8.0: sinon "^14.0.1" traverse "^0.6.6" -aws-sdk@^2.1231.0, aws-sdk@^2.1432.0, aws-sdk@^2.928.0: - version "2.1433.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1433.0.tgz#f0697ba1de836f99d5a4aa0772c931d86973b884" - integrity sha512-QLZLC8eAk4+l8x9kUbrWPjuyWchE3Ho18llm0Qx5aNcoOq/el4+NxzYeqKjwjGjNJuJ/AeX3J+BzazazrNv9BQ== +aws-sdk@^2.1231.0, aws-sdk@^2.1435.0, aws-sdk@^2.928.0: + version "2.1435.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1435.0.tgz#cc80204e3bc9b8c533233c8d77f2ce75ed02f14e" + integrity sha512-G/dyQIGZHPDIbqbhpBrTU9cddzykLXhQTYwv/7x/3KY4u/M0eTjtQ3CmiykTvoIoCUnQIpsrgMIMHumJpniORw== dependencies: buffer "4.9.2" events "1.1.1" @@ -5077,10 +5079,10 @@ cdk8s-plus-24@2.12.1: dependencies: minimatch "^3.1.2" -cdk8s@^2.38.0: - version "2.39.0" - resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.39.0.tgz#960f715b3e0c33f9e7ee7e3e4cb3858f225bb9bc" - integrity sha512-4jcvW7v0OmTCYkmVnwhHAFzAAJDMS1gM4ep4O6TIAkZ2bxU0cSxk4qj3PKkodlKPbdjC8zsAMfQCG8m9IgNbeg== +cdk8s@^2.40.0: + version "2.40.0" + resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.40.0.tgz#126d347932161c58012ebfa16b53ade11ae2120e" + integrity sha512-G9L3Toh7/hsmtRWkoGXE8zLNWRgXD3LmkVn9Uhby9ZVb7sPITC0PxUjSOolAtQFRtxUwsV/znKNjLeQuQmnW8Q== dependencies: fast-json-patch "^3.1.1" follow-redirects "^1.15.2" @@ -5306,19 +5308,10 @@ co@^4.6.0: resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -codemaker@1.85.0: - version "1.85.0" - resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.85.0.tgz#eb523e4625efa6ee5e2f6b4bef4b46c2770feecf" - integrity sha512-58SuiaUdM2tTrfjW0HZ8Udiv9nCWUyKLe6tg11QtinTrzPgO0txqBYwo3AX/H6fg/e9NwtlZAqi58cfxSxG9/g== - dependencies: - camelcase "^6.3.0" - decamelize "^5.0.1" - fs-extra "^10.1.0" - -codemaker@^1.85.0: - version "1.86.1" - resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.86.1.tgz#2e34bdab7201ac712532bccba61b8d571348417d" - integrity sha512-W35+XgDv/ZNxWTFsvy7xf8XSIwZ8zkJUOlVq0zoOBiZCjk4j0n7HEWy25rI83OZj76ndmyL7EhTyLSTw1PzobA== +codemaker@1.87.0, codemaker@^1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.87.0.tgz#87af3e2e338a14fcaf192f9e60dce1d6ff61414d" + integrity sha512-PxEtigxOiIWWQV95OQK18xYMSPpqQDj/z1jSlouNp+4y2muygO+fTc19kf9Z950ryprHCoasnO62dmyhMZvluQ== dependencies: camelcase "^6.3.0" decamelize "^5.0.1" @@ -6471,33 +6464,33 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild@^0.19.0: - version "0.19.0" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.0.tgz#f187e4ce3bcc7396d13f408a991655efeba65282" - integrity sha512-i7i8TP4vuG55bKeLyqqk5sTPu1ZjPH3wkcLvAj/0X/222iWFo3AJUYRKjbOoY6BWFMH3teizxHEdV9Su5ESl0w== +esbuild@^0.19.1: + version "0.19.1" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.1.tgz#eda3e5d2d0c2e89059464ac895bdf20bea2c26b4" + integrity sha512-IknHHwV4B/H4imOAu+416fuCvPfRjdncoyGi7eunhSvHuHkdNs50sLWan2LEG2Mym07TuW6gJUIyRS9G1miHEg== optionalDependencies: - "@esbuild/android-arm" "0.19.0" - "@esbuild/android-arm64" "0.19.0" - "@esbuild/android-x64" "0.19.0" - "@esbuild/darwin-arm64" "0.19.0" - "@esbuild/darwin-x64" "0.19.0" - "@esbuild/freebsd-arm64" "0.19.0" - "@esbuild/freebsd-x64" "0.19.0" - "@esbuild/linux-arm" "0.19.0" - "@esbuild/linux-arm64" "0.19.0" - "@esbuild/linux-ia32" "0.19.0" - "@esbuild/linux-loong64" "0.19.0" - "@esbuild/linux-mips64el" "0.19.0" - "@esbuild/linux-ppc64" "0.19.0" - "@esbuild/linux-riscv64" "0.19.0" - "@esbuild/linux-s390x" "0.19.0" - "@esbuild/linux-x64" "0.19.0" - "@esbuild/netbsd-x64" "0.19.0" - "@esbuild/openbsd-x64" "0.19.0" - "@esbuild/sunos-x64" "0.19.0" - "@esbuild/win32-arm64" "0.19.0" - "@esbuild/win32-ia32" "0.19.0" - "@esbuild/win32-x64" "0.19.0" + "@esbuild/android-arm" "0.19.1" + "@esbuild/android-arm64" "0.19.1" + "@esbuild/android-x64" "0.19.1" + "@esbuild/darwin-arm64" "0.19.1" + "@esbuild/darwin-x64" "0.19.1" + "@esbuild/freebsd-arm64" "0.19.1" + "@esbuild/freebsd-x64" "0.19.1" + "@esbuild/linux-arm" "0.19.1" + "@esbuild/linux-arm64" "0.19.1" + "@esbuild/linux-ia32" "0.19.1" + "@esbuild/linux-loong64" "0.19.1" + "@esbuild/linux-mips64el" "0.19.1" + "@esbuild/linux-ppc64" "0.19.1" + "@esbuild/linux-riscv64" "0.19.1" + "@esbuild/linux-s390x" "0.19.1" + "@esbuild/linux-x64" "0.19.1" + "@esbuild/netbsd-x64" "0.19.1" + "@esbuild/openbsd-x64" "0.19.1" + "@esbuild/sunos-x64" "0.19.1" + "@esbuild/win32-arm64" "0.19.1" + "@esbuild/win32-ia32" "0.19.1" + "@esbuild/win32-x64" "0.19.1" escalade@^3.1.1: version "3.1.1" @@ -6633,10 +6626,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.2: - version "3.4.2" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f" - integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^7.32.0: version "7.32.0" @@ -6685,14 +6678,14 @@ eslint@^7.32.0: v8-compile-cache "^2.0.3" eslint@^8: - version "8.46.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz#a06a0ff6974e53e643acc42d1dcf2e7f797b3552" - integrity sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg== + version "8.47.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" + integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.1" - "@eslint/js" "^8.46.0" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "^8.47.0" "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -6703,7 +6696,7 @@ eslint@^8: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.2" + eslint-visitor-keys "^3.4.3" espree "^9.6.1" esquery "^1.4.2" esutils "^2.0.2" @@ -7513,9 +7506,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: - version "13.20.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + version "13.21.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== dependencies: type-fest "^0.20.2" @@ -8907,72 +8900,60 @@ jsesc@^2.5.1: resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsii-diff@1.85.0: - version "1.85.0" - resolved "https://registry.npmjs.org/jsii-diff/-/jsii-diff-1.85.0.tgz#1c44e4c8fd47d70536898adad3fffbe798ea570e" - integrity sha512-T1F9/ejiwGebayTp24/60m/Wpl9tcsDd21AWi9hNJ9PfU21pjQUMDEjX6bWq8CcWm9FicH1zZifzt6TRBs6kDQ== +jsii-diff@1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/jsii-diff/-/jsii-diff-1.87.0.tgz#bf0f9949e4b3fd4370d3a0f575c07447c490e8ef" + integrity sha512-6wqd3PVyqeXuFhFMeh20qNZ2sw4hNe1OyzlT0ZbPF1ALhycxHZ5e1voPqjvwIACnO6rRREffGWHdBVlNKschzw== dependencies: - "@jsii/check-node" "1.85.0" - "@jsii/spec" "^1.85.0" + "@jsii/check-node" "1.87.0" + "@jsii/spec" "^1.87.0" fs-extra "^10.1.0" - jsii-reflect "^1.85.0" + jsii-reflect "^1.87.0" log4js "^6.9.1" yargs "^16.2.0" -jsii-pacmak@1.85.0: - version "1.85.0" - resolved "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.85.0.tgz#56d2475e04b8bd9f5c5501a52a44feb07ff8c22c" - integrity sha512-1pFHp7MtiNgt9lXvtv8Qs2PEwDWZ2eUSylxS+z4jH4Wo6SGq/5M0h8182dagxsJuoId50+5zTjdD1yACFZ3QTw== +jsii-pacmak@1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.87.0.tgz#dfc0cbc2b926af32761275493d5fb6b49a8f906b" + integrity sha512-7J+TArdoIJYePI326hEcsRiA5j3xsNhoxiDcpynkzHIt0Mk00agIcjYjbJV/4oWokGMBH7SgWK/gX7NSU/ywJA== dependencies: - "@jsii/check-node" "1.85.0" - "@jsii/spec" "^1.85.0" + "@jsii/check-node" "1.87.0" + "@jsii/spec" "^1.87.0" clone "^2.1.2" - codemaker "^1.85.0" + codemaker "^1.87.0" commonmark "^0.30.0" escape-string-regexp "^4.0.0" fs-extra "^10.1.0" - jsii-reflect "^1.85.0" - jsii-rosetta "^1.85.0" - semver "^7.5.1" + jsii-reflect "^1.87.0" + jsii-rosetta "^1.87.0" + semver "^7.5.4" spdx-license-list "^6.6.0" xmlbuilder "^15.1.1" yargs "^16.2.0" -jsii-reflect@1.85.0: - version "1.85.0" - resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.85.0.tgz#2dcfd2642dadab9d676bf78395bec690a283a475" - integrity sha512-4/2JTt7xVDp717JgxnWbroXPBkXBWd25WEgKkIBxqN5DxGpzd+EPNpNkgJmSOCK5DKl9g1FjCuTkcRw5qMIoEg== +jsii-reflect@1.87.0, jsii-reflect@^1.84.0, jsii-reflect@^1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.87.0.tgz#4302bdf1662ca09baa72fcf9216b987d1392e855" + integrity sha512-Gk+Kat0O/+OFw1Q85HEq1Beoc6o4lqWNp7v7wZKwLLs4JFrBGOu1cIurAwfk6sFaWD2R7q85jZKs3tEbPzZlrA== dependencies: - "@jsii/check-node" "1.85.0" - "@jsii/spec" "^1.85.0" + "@jsii/check-node" "1.87.0" + "@jsii/spec" "^1.87.0" chalk "^4" fs-extra "^10.1.0" - oo-ascii-tree "^1.85.0" + oo-ascii-tree "^1.87.0" yargs "^16.2.0" -jsii-reflect@^1.84.0, jsii-reflect@^1.85.0: - version "1.86.1" - resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.86.1.tgz#5c8dcc79d705885a47e9c57f0d97d71382bda2b1" - integrity sha512-Z9Avq431sdwuku+fpC3pM9DngpmbCA2U8QI4Bctg/M4b5PMDuKuMxBWcdAcU/LhtL14lxNZ66Src0hYmNVk4eQ== +jsii-rosetta@^1.84.0, jsii-rosetta@^1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.87.0.tgz#56662445fed810c8b54324cb7387dfdf614aca49" + integrity sha512-ry+HWSXwoMc0Y/zyYDKu8krBsdY6sHfYS+h/LqLbMiPmZZBx+m8j2/OgyAW0JVCoanmhoof+3je1xSTXPqeJfA== dependencies: - "@jsii/check-node" "1.86.1" - "@jsii/spec" "^1.86.1" - chalk "^4" - fs-extra "^10.1.0" - oo-ascii-tree "^1.86.1" - yargs "^16.2.0" - -jsii-rosetta@^1.84.0, jsii-rosetta@^1.85.0: - version "1.86.1" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.86.1.tgz#7653f3593a5626e9d5e21e5bf330b6038ec92355" - integrity sha512-QmuFIFKYXsks6SpWsrztlFnXZptiwl7m0kpvqfiP8NGeGU5r5hTBglAorNh4FO58W5dYVUKmebEN076brhGRIQ== - dependencies: - "@jsii/check-node" "1.86.1" - "@jsii/spec" "1.86.1" + "@jsii/check-node" "1.87.0" + "@jsii/spec" "1.87.0" "@xmldom/xmldom" "^0.8.10" commonmark "^0.30.0" fast-glob "^3.3.1" - jsii "1.86.1" + jsii "1.87.0" semver "^7.5.4" semver-intersect "^1.4.0" stream-json "^1.8.0" @@ -8999,13 +8980,13 @@ jsii-rosetta@~5.1.9: workerpool "^6.4.0" yargs "^17.7.2" -jsii@1.86.1, jsii@^1.84.0: - version "1.86.1" - resolved "https://registry.npmjs.org/jsii/-/jsii-1.86.1.tgz#ba5f7d2d948b02c4efa2543260e1eb9e108bf436" - integrity sha512-gAi/mGRdIpCYY7Na61VPE717Z6+/1HTYqgxjMC+VdLXxITbWpaQqO+DqsOnhtsIh+JyjIQM7VOSZ+5Ymf1A74A== +jsii@1.87.0, jsii@^1.84.0: + version "1.87.0" + resolved "https://registry.npmjs.org/jsii/-/jsii-1.87.0.tgz#a57c6b286a82ca032bf4d3ff48d92c0161a8666c" + integrity sha512-yMb64s0L4Teu8wbuL7ixhLlqcbiLaPUHUiLCloSvfGfbFikayPQOTGUkIri3tZnAE26XskmgbZsStlc2tRfjBg== dependencies: - "@jsii/check-node" "1.86.1" - "@jsii/spec" "^1.86.1" + "@jsii/check-node" "1.87.0" + "@jsii/spec" "^1.87.0" case "^1.6.3" chalk "^4" fast-deep-equal "^3.1.3" @@ -9248,7 +9229,7 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -lerna@^7.1.4: +lerna@^7.1.5: version "7.1.5" resolved "https://registry.npmjs.org/lerna/-/lerna-7.1.5.tgz#f65bde23d477382a221f9373f82d027825fa8622" integrity sha512-5bvfmoIH4Czk5mdoLaRPYkM3M63Ei6+TOuXs3MgXmvqD8vs+vQpHuBVmiYFp5Mwsck3FkidJ+eTxfucltA2Lmw== @@ -9688,9 +9669,9 @@ lru-cache@^7.14.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== "lru-cache@^9.1.1 || ^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz#b9e2a6a72a129d81ab317202d93c7691df727e61" - integrity sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw== + version "10.0.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== lru-queue@^0.1.0: version "0.1.0" @@ -10890,10 +10871,10 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -oo-ascii-tree@^1.85.0, oo-ascii-tree@^1.86.1: - version "1.86.1" - resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.86.1.tgz#ae924ed69d3699c8495ceb1ff36d5c2b2cc76a99" - integrity sha512-pM4jJfP+5cWCOqoSN3RUgNNcOPqLYhmwzbw9QOHNZjCWAfrlgq2D/CSxer0vKDDm5AMkCBzlcknxQLKx9zNqXA== +oo-ascii-tree@^1.87.0: + version "1.87.0" + resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.87.0.tgz#77223b6d0c3382a30500b8738d7a602af1eed5ff" + integrity sha512-AvQw3bQAiZrx1h4+LnK6s/AxhHv3cs/j4f4T+r+JOO++Qx3i0ZIf8h9/aG/O4byGQPWRKKwpjvV+74cxbJv+0g== open@^7.4.2: version "7.4.2" @@ -12222,12 +12203,13 @@ signal-exit@^4.0.1: integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== sigstore@^1.3.0, sigstore@^1.4.0: - version "1.8.0" - resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.8.0.tgz#f790120697fa7c89f4418598ce59e638ff680aa5" - integrity sha512-ogU8qtQ3VFBawRJ8wjsBEX/vIFeHuGs1fm4jZtjWQwjo8pfAt7T/rh+udlAN4+QUe0IzA8qRSc/YZ7dHP6kh+w== + version "1.9.0" + resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz#1e7ad8933aa99b75c6898ddd0eeebc3eb0d59875" + integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== dependencies: - "@sigstore/bundle" "^1.0.0" + "@sigstore/bundle" "^1.1.0" "@sigstore/protobuf-specs" "^0.2.0" + "@sigstore/sign" "^1.0.0" "@sigstore/tuf" "^1.0.3" make-fetch-happen "^11.0.1" @@ -13164,9 +13146,9 @@ typescript@^4.5.5, typescript@~4.9.5: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== typescript@next: - version "5.3.0-dev.20230810" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.0-dev.20230810.tgz#6c78f3bf3a3e08705f9cc56074bdeab0d161f86c" - integrity sha512-cD+0wvHU1AJDHnbOizHt2iJ9nEpJAa7t5WXbu6NaNeX3ZWO0lIt0A5TFgWsD4ZbXPHdxq6Uw6IKvTn8W0arAmA== + version "5.3.0-dev.20230811" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.0-dev.20230811.tgz#e4e804b4879d9a667171d3a5b7aefa2c7322e618" + integrity sha512-C4bwx7ZpBwX7bKxrrNl+M1j8yNGmwQ5M58X0mT4VYI1+FHqRvb/uJ4F1uJsVJ+X7iy22iXSICR/Vxnpc1gNk7w== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" From 84c67fcc502272cd75bc71a4ffc8afe3d8f8f5e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:44:14 +0000 Subject: [PATCH 08/12] chore(deps): bump thollander/actions-comment-pull-request from 2.4.0 to 2.4.2 (#26747) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [thollander/actions-comment-pull-request](https://github.com/thollander/actions-comment-pull-request) from 2.4.0 to 2.4.2.
Commits
  • d61db78 chore: bump to v2.4.2
  • 553fcaa chore(deps-dev): bump prettier from 2.8.8 to 3.0.1 (#263)
  • c9b7b9c chore(deps): bump semver from 6.3.0 to 6.3.1 (#253)
  • 630516f fix: delete should remove all comments with pattern (not only one) (#266)
  • 2af827f docs: add information on forks permissions (#261)
  • 8c77f42 chore(deps-dev): bump @​tsconfig/node16 from 1.0.4 to 16.1.0 (#244)
  • 7242f4a chore(deps-dev): bump typescript from 5.1.3 to 5.1.6 (#245)
  • f2181d2 chore(deps-dev): bump typescript from 5.0.4 to 5.1.3 (#238)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thollander/actions-comment-pull-request&package-manager=github_actions&previous-version=2.4.0&new-version=2.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--- .github/workflows/request-cli-integ-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/request-cli-integ-test.yml b/.github/workflows/request-cli-integ-test.yml index 25a9d4e2f5f8e..a690aa417676b 100644 --- a/.github/workflows/request-cli-integ-test.yml +++ b/.github/workflows/request-cli-integ-test.yml @@ -46,7 +46,7 @@ jobs: git config --global user.email 'aws-cdk-automation@users.noreply.github.com' git push --force --atomic https://github.com/${{ github.repository }}.git FETCH_HEAD:test-main-pipeline - name: Explain next steps - uses: thollander/actions-comment-pull-request@dadb7667129e23f12ca3925c90dc5cd7121ab57e + uses: thollander/actions-comment-pull-request@d61db783da9abefc3437960d0cce08552c7c004f with: message: | :arrow_right: **PR build request submitted to `test-main-pipeline`** :arrow_left: From c4278c887dd5d27415ff636f523ed92171c8775c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 11:10:12 +0000 Subject: [PATCH 09/12] chore(deps): bump tj-actions/changed-files from 37.5.0 to 37.6.0 (#26748) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.5.0 to 37.6.0.
Release notes

Sourced from tj-actions/changed-files's releases.

v37.6.0

What's Changed

Full Changelog: https://github.com/tj-actions/changed-files/compare/v37...v37.6.0

v37.5.2

What's Changed

Full Changelog: https://github.com/tj-actions/changed-files/compare/v37...v37.5.2

v37.5.1

What's Changed

Full Changelog: https://github.com/tj-actions/changed-files/compare/v37...v37.5.1

Changelog

Sourced from tj-actions/changed-files's changelog.

Changelog

37.6.0 - (2023-08-07)

🚀 Features

  • Improve checking local branch history (#1436) (d4e6e22) - (Tonye Jack)

🔄 Update

  • Update README.md (1e9cd5f) - (Tonye Jack)
  • Update README.md (6b028b6) - (Tonye Jack)
  • Updated README.md (#1432)

Co-authored-by: jackton1 jackton1@users.noreply.github.com (b61db78) - (tj-actions[bot])

  • Update README.md (6a48a0a) - (Tonye Jack)
  • Update README.md (3415802) - (Tonye Jack)
  • Update README.md (20a19b9) - (Tonye Jack)
  • Update README.md (10228bf) - (Tonye Jack)

🧪 Testing

⚙️ Miscellaneous Tasks

  • Improve test coverage (#1440) (87697c0) - (Tonye Jack)
  • Simplify code (#1439) (0acc1c3) - (Tonye Jack)
  • deps: Lock file maintenance (#1438) (312a3d8) - (renovate[bot])
  • deps: Update dependency @​types/node to v20.4.8 (#1425) (701bae5) - (renovate[bot])
  • deps: Lock file maintenance (#1437) (8bffb97) - (renovate[bot])
  • deps-dev: Bump @​types/node from 20.4.6 to 20.4.7 (#1433) (f762082) - (dependabot[bot])

⬆️ Upgrades

  • Upgraded to v37.5.2 (#1431)

Co-authored-by: jackton1 jackton1@users.noreply.github.com (24ac45c) - (tj-actions[bot])

37.5.2 - (2023-08-03)

🔄 Update

  • Update README.md (948fd1a) - (Tonye Jack)
  • Update README.md (bde04d3) - (Tonye Jack)
  • Update README.md (3fdcd6b) - (Tonye Jack)
  • Update README.md (6b62acf) - (Tonye Jack)
  • Updated README.md (#1420)

Co-authored-by: jackton1 jackton1@users.noreply.github.com (c10ebdc) - (tj-actions[bot])

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=37.5.0&new-version=37.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--- .github/workflows/request-cli-integ-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/request-cli-integ-test.yml b/.github/workflows/request-cli-integ-test.yml index a690aa417676b..7bc54e608ea92 100644 --- a/.github/workflows/request-cli-integ-test.yml +++ b/.github/workflows/request-cli-integ-test.yml @@ -19,7 +19,7 @@ jobs: persist-credentials: false - name: Find changed cli files id: changed-cli-files - uses: tj-actions/changed-files@920e7b9ae1d45913fc81f86c956fee89c77d2e5e + uses: tj-actions/changed-files@87697c0dca7dd44e37a2b79a79489332556ff1f3 with: base_sha: ${{ github.event.pull_request.base.sha }} files_yaml: | From e4e08320412cd6cc999fb9eef0cd93b0445abceb Mon Sep 17 00:00:00 2001 From: AWS CDK Automation <43080478+aws-cdk-automation@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:08:04 -0400 Subject: [PATCH 10/12] feat: update AWS Service Spec (#26751) AWS Service Spec packages to latest versions. --- tools/@aws-cdk/spec2cdk/package.json | 4 ++-- yarn.lock | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/@aws-cdk/spec2cdk/package.json b/tools/@aws-cdk/spec2cdk/package.json index b5ac347d8ffda..a968881411694 100644 --- a/tools/@aws-cdk/spec2cdk/package.json +++ b/tools/@aws-cdk/spec2cdk/package.json @@ -32,8 +32,8 @@ }, "license": "Apache-2.0", "dependencies": { - "@aws-cdk/aws-service-spec": "^0.0.6", - "@aws-cdk/service-spec-types": "^0.0.6", + "@aws-cdk/aws-service-spec": "^0.0.7", + "@aws-cdk/service-spec-types": "^0.0.7", "@cdklabs/tskb": "^0.0.1", "@cdklabs/typewriter": "^0.0.1", "camelcase": "^6", diff --git a/yarn.lock b/yarn.lock index 95131dfc49dff..c48c1c79f16eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,12 +55,12 @@ resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.0.1.tgz#6dc9b7cdb22ff622a7176141197962360c33e9ac" integrity sha512-DDt4SLdLOwWCjGtltH4VCST7hpOI5DzieuhGZsBpZ+AgJdSI2GCjklCXm0GCTwJG/SolkL5dtQXyUKgg9luBDg== -"@aws-cdk/aws-service-spec@^0.0.6": - version "0.0.6" - resolved "https://registry.npmjs.org/@aws-cdk/aws-service-spec/-/aws-service-spec-0.0.6.tgz#dde596e3c11615842e0f69ad714ffedacbb55ccd" - integrity sha512-qujgL6AN/uIMxynPYNu5zZQ2vT3PRjwUBoOQmoK7E9T09rwaMKZQs2MwOinbYNnuyk4se8u0CFARud7iFJOuMg== +"@aws-cdk/aws-service-spec@^0.0.7": + version "0.0.7" + resolved "https://registry.npmjs.org/@aws-cdk/aws-service-spec/-/aws-service-spec-0.0.7.tgz#cc80f495653217bc40ce77192cb77b239c7c113f" + integrity sha512-qSaZZFFAq8RKvNT7eCd0kZhoyq4ShY3+yK2EK40QrJXJoWqb7P4eAyNDE/cD5ssvq+sIpHgAyMOgoUr1yr0L2w== dependencies: - "@aws-cdk/service-spec-types" "^0.0.6" + "@aws-cdk/service-spec-types" "^0.0.7" "@cdklabs/tskb" "^0.0.1" "@aws-cdk/lambda-layer-kubectl-v24@^2.0.242": @@ -68,10 +68,10 @@ resolved "https://registry.npmjs.org/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.242.tgz#4273a5ad7714f933a7eba155eb9280823086db71" integrity sha512-7/wIOo685tmrEe4hh6zqDELhBZh5OQGf3Hd2FU2Vnwy2ZubW8qTmEw5gqJCsCrGKeYDoa1BcVhDRZ/nzjkaqyA== -"@aws-cdk/service-spec-types@^0.0.6": - version "0.0.6" - resolved "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.6.tgz#06424293b6c5b587936bd995cea74a5194d257ab" - integrity sha512-1rH5cc+KCvg1p9utjb3bIpNJcRLGq1Rav6I4M1P6glzmHDJFV0uI+CDWqFwtxOrRyWreWdovdiai6RxkL2ektA== +"@aws-cdk/service-spec-types@^0.0.7": + version "0.0.7" + resolved "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.7.tgz#048d7b5aec312ee9aaa947a2b841cd69d982f797" + integrity sha512-3JGeTLToV+HmRCT1QPAmXaiH2QLz8E0LvpiHPWPwO1jCz9Q5jYgtwZTMP/jrp8es1G3fFcNGu2dEDdAbzC9gZA== dependencies: "@cdklabs/tskb" "^0.0.1" From 716871f792bf5563fc952846c1ae746eafcc2dfa Mon Sep 17 00:00:00 2001 From: Calvin Combs <66279577+comcalvi@users.noreply.github.com> Date: Mon, 14 Aug 2023 11:42:08 -0700 Subject: [PATCH 11/12] feat(batch): grantSubmitJob method (#26729) Add a new method, `grantSubmitJob`, to the JobDefinition construct. Enables batch users to easily grant `submitJob` permissions to any principal. Closes #25574. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/@aws-cdk/aws-batch-alpha/README.md | 32 + .../aws-batch-alpha/lib/ecs-job-definition.ts | 13 + .../test/ecs-job-definition.test.ts | 45 +- ...efaultTestDeployAssertE5BAAC9B.assets.json | 19 + ...aultTestDeployAssertE5BAAC9B.template.json | 36 + .../test/integ.grants.js.snapshot/cdk.out | 1 + .../test/integ.grants.js.snapshot/integ.json | 12 + .../integ.grants.js.snapshot/manifest.json | 303 +++++ .../stack.assets.json | 19 + .../stack.template.json | 671 ++++++++++ .../test/integ.grants.js.snapshot/tree.json | 1191 +++++++++++++++++ .../aws-batch-alpha/test/integ.grants.ts | 38 + 12 files changed, 2379 insertions(+), 1 deletion(-) create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/integ.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.assets.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.template.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/tree.json create mode 100644 packages/@aws-cdk/aws-batch-alpha/test/integ.grants.ts diff --git a/packages/@aws-cdk/aws-batch-alpha/README.md b/packages/@aws-cdk/aws-batch-alpha/README.md index d681ffb3ec86b..749b8bc368107 100644 --- a/packages/@aws-cdk/aws-batch-alpha/README.md +++ b/packages/@aws-cdk/aws-batch-alpha/README.md @@ -658,3 +658,35 @@ B => 2 vCPU - WAITING In this situation, Batch will allocate **Job A** to compute resource #1 because it is the most cost efficient resource that matches the vCPU requirement. However, with this `BEST_FIT` strategy, **Job B** will not be allocated to our other available compute resource even though it is strong enough to handle it. Instead, it will wait until the first job is finished processing or wait a similar `m5.xlarge` resource to be provisioned. The alternative would be to use the `BEST_FIT_PROGRESSIVE` strategy in order for the remaining job to be handled in larger containers regardless of vCPU requirement and costs. + +### Permissions + +You can grant any Principal the `batch:submitJob` permission on both a job definition and a job queue like this: + +```ts +import * as cdk from 'aws-cdk-lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; + +declare const vpc: ec2.IVpc; + +const ecsJob = new batch.EcsJobDefinition(this, 'JobDefn', { + container: new batch.EcsEc2ContainerDefinition(this, 'containerDefn', { + image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'), + memory: cdk.Size.mebibytes(2048), + cpu: 256, + }), +}); + +const queue = new batch.JobQueue(this, 'JobQueue', { + computeEnvironments: [{ + computeEnvironment: new batch.ManagedEc2EcsComputeEnvironment(this, 'managedEc2CE', { + vpc, + }), + order: 1, + }], + priority: 10, +}); + +const user = new iam.User(this, 'MyUser'); +ecsJob.grantSubmitJob(user, queue); +``` diff --git a/packages/@aws-cdk/aws-batch-alpha/lib/ecs-job-definition.ts b/packages/@aws-cdk/aws-batch-alpha/lib/ecs-job-definition.ts index e92cd58b9e914..46893e4026e87 100644 --- a/packages/@aws-cdk/aws-batch-alpha/lib/ecs-job-definition.ts +++ b/packages/@aws-cdk/aws-batch-alpha/lib/ecs-job-definition.ts @@ -3,6 +3,8 @@ import { Construct } from 'constructs'; import { CfnJobDefinition } from 'aws-cdk-lib/aws-batch'; import { EcsEc2ContainerDefinition, IEcsContainerDefinition } from './ecs-container-definition'; import { baseJobDefinitionProperties, IJobDefinition, JobDefinitionBase, JobDefinitionProps } from './job-definition-base'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import { IJobQueue } from './job-queue'; /** * A JobDefinition that uses ECS orchestration @@ -102,6 +104,17 @@ export class EcsJobDefinition extends JobDefinitionBase implements IEcsJobDefini this.jobDefinitionName = EcsJobDefinition.getJobDefinitionName(scope, this.jobDefinitionArn); } + /** + * Grants the `batch:submitJob` permission to the identity on both this job definition and the `queue` + */ + public grantSubmitJob(identity: iam.IGrantable, queue: IJobQueue) { + iam.Grant.addToPrincipal({ + actions: ['batch:SubmitJob'], + grantee: identity, + resourceArns: [this.jobDefinitionArn, queue.jobQueueArn], + }); + } + private renderPlatformCapabilities() { if (this.container instanceof EcsEc2ContainerDefinition) { return [Compatibility.EC2]; diff --git a/packages/@aws-cdk/aws-batch-alpha/test/ecs-job-definition.test.ts b/packages/@aws-cdk/aws-batch-alpha/test/ecs-job-definition.test.ts index 8cf3711e76b6c..9839a6957298f 100644 --- a/packages/@aws-cdk/aws-batch-alpha/test/ecs-job-definition.test.ts +++ b/packages/@aws-cdk/aws-batch-alpha/test/ecs-job-definition.test.ts @@ -1,7 +1,9 @@ import { Template } from 'aws-cdk-lib/assertions'; import * as ecs from 'aws-cdk-lib/aws-ecs'; import { DefaultTokenResolver, Size, StringConcat, Stack, Tokenization } from 'aws-cdk-lib'; -import { Compatibility, EcsEc2ContainerDefinition, EcsFargateContainerDefinition, EcsJobDefinition } from '../lib'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import { Compatibility, EcsEc2ContainerDefinition, EcsFargateContainerDefinition, EcsJobDefinition, JobQueue, ManagedEc2EcsComputeEnvironment } from '../lib'; +import { Vpc } from 'aws-cdk-lib/aws-ec2'; test('EcsJobDefinition respects propagateTags', () => { // GIVEN @@ -127,3 +129,44 @@ test('JobDefinitionName is parsed from arn in imported job', () => { // THEN expect(importedJob.jobDefinitionName).toEqual('job-def-name'); }); + +test('grantSubmitJob() grants the job role the correct actions', () => { + // GIVEN + const stack = new Stack(); + const ecsJob = new EcsJobDefinition(stack, 'ECSJob', { + container: new EcsFargateContainerDefinition(stack, 'EcsContainer', { + cpu: 256, + memory: Size.mebibytes(2048), + image: ecs.ContainerImage.fromRegistry('foorepo/fooimage'), + }), + }); + const queue = new JobQueue(stack, 'queue'); + + queue.addComputeEnvironment( + new ManagedEc2EcsComputeEnvironment(stack, 'env', { + vpc: new Vpc(stack, 'VPC'), + }), + 1, + ); + + const user = new iam.User(stack, 'MyUser'); + + // WHEN + ecsJob.grantSubmitJob(user, queue); + + // THEN + Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: [{ + Action: 'batch:SubmitJob', + Effect: 'Allow', + Resource: [ + { Ref: 'ECSJobFFFEA569' }, + { 'Fn::GetAtt': ['queue276F7297', 'JobQueueArn'] }, + ], + }], + Version: '2012-10-17', + }, + PolicyName: 'MyUserDefaultPolicy7B897426', + }); +}); diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets.json new file mode 100644 index 0000000000000..06d93773815c6 --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets.json @@ -0,0 +1,19 @@ +{ + "version": "33.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/cdk.out b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/cdk.out new file mode 100644 index 0000000000000..560dae10d018f --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"33.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/integ.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/integ.json new file mode 100644 index 0000000000000..ce3de06dcefa3 --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "33.0.0", + "testCases": { + "BatchEcsJobDefinitionTest/DefaultTest": { + "stacks": [ + "stack" + ], + "assertionStack": "BatchEcsJobDefinitionTest/DefaultTest/DeployAssert", + "assertionStackName": "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/manifest.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/manifest.json new file mode 100644 index 0000000000000..b5d6e283821d9 --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/manifest.json @@ -0,0 +1,303 @@ +{ + "version": "33.0.0", + "artifacts": { + "stack.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "stack.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "stack": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "stack.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0c8afaea64b37b6c143f96d8a69d57de3f487324a501b01a76df82b8f8bfee8d.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "stack.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "stack.assets" + ], + "metadata": { + "/stack/vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcA2121C38" + } + ], + "/stack/vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1Subnet2E65531E" + } + ], + "/stack/vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1RouteTable48A2DF9B" + } + ], + "/stack/vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1RouteTableAssociation5D3F4579" + } + ], + "/stack/vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1DefaultRoute10708846" + } + ], + "/stack/vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1EIPDA49DCBE" + } + ], + "/stack/vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet1NATGateway9C16659E" + } + ], + "/stack/vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2Subnet009B674F" + } + ], + "/stack/vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2RouteTableEB40D4CB" + } + ], + "/stack/vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2RouteTableAssociation21F81B59" + } + ], + "/stack/vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2DefaultRouteA1EC0F60" + } + ], + "/stack/vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2EIP9B3743B1" + } + ], + "/stack/vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPublicSubnet2NATGateway9B8AE11A" + } + ], + "/stack/vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet1Subnet934893E8" + } + ], + "/stack/vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet1RouteTableB41A48CC" + } + ], + "/stack/vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet1RouteTableAssociation67945127" + } + ], + "/stack/vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet1DefaultRoute1AA8E2E5" + } + ], + "/stack/vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet2Subnet7031C2BA" + } + ], + "/stack/vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet2RouteTable7280F23E" + } + ], + "/stack/vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet2RouteTableAssociation007E94D3" + } + ], + "/stack/vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcPrivateSubnet2DefaultRouteB0E07F99" + } + ], + "/stack/vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcIGWE57CBDCA" + } + ], + "/stack/vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcVPCGW7984C166" + } + ], + "/stack/managedEc2CE/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "managedEc2CESecurityGroup7EB1D710" + } + ], + "/stack/managedEc2CE/InstanceProfileRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "managedEc2CEInstanceProfileRole58A9B8C3" + } + ], + "/stack/managedEc2CE/InstanceProfile": [ + { + "type": "aws:cdk:logicalId", + "data": "managedEc2CEInstanceProfile720729B7" + } + ], + "/stack/managedEc2CE/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "managedEc2CE195A935F" + } + ], + "/stack/joBBQ/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "joBBQ9FD52DAF" + } + ], + "/stack/EcsContainer/ExecutionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EcsContainerExecutionRole3B199293" + } + ], + "/stack/EcsContainer/ExecutionRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EcsContainerExecutionRoleDefaultPolicy6F59CD37" + } + ], + "/stack/ECSJob/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ECSJobFFFEA569" + } + ], + "/stack/MyUser/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyUserDC45028B" + } + ], + "/stack/MyUser/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyUserDefaultPolicy7B897426" + } + ], + "/stack/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/stack/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "stack" + }, + "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "BatchEcsJobDefinitionTestDefaultTestDeployAssertE5BAAC9B.assets" + ], + "metadata": { + "/BatchEcsJobDefinitionTest/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/BatchEcsJobDefinitionTest/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "BatchEcsJobDefinitionTest/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.assets.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.assets.json new file mode 100644 index 0000000000000..bca4fa976c29d --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.assets.json @@ -0,0 +1,19 @@ +{ + "version": "33.0.0", + "files": { + "0c8afaea64b37b6c143f96d8a69d57de3f487324a501b01a76df82b8f8bfee8d": { + "source": { + "path": "stack.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "0c8afaea64b37b6c143f96d8a69d57de3f487324a501b01a76df82b8f8bfee8d.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.template.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.template.json new file mode 100644 index 0000000000000..e72704f9aa3e7 --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/stack.template.json @@ -0,0 +1,671 @@ +{ + "Resources": { + "vpcA2121C38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc" + } + ] + } + }, + "vpcPublicSubnet1Subnet2E65531E": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPublicSubnet1RouteTable48A2DF9B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPublicSubnet1RouteTableAssociation5D3F4579": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" + }, + "SubnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + } + } + }, + "vpcPublicSubnet1DefaultRoute10708846": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "RouteTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" + } + }, + "DependsOn": [ + "vpcVPCGW7984C166" + ] + }, + "vpcPublicSubnet1EIPDA49DCBE": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet1" + } + ] + } + }, + "vpcPublicSubnet1NATGateway9C16659E": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "vpcPublicSubnet1EIPDA49DCBE", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + }, + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet1" + } + ] + }, + "DependsOn": [ + "vpcPublicSubnet1DefaultRoute10708846", + "vpcPublicSubnet1RouteTableAssociation5D3F4579" + ] + }, + "vpcPublicSubnet2Subnet009B674F": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPublicSubnet2RouteTableEB40D4CB": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPublicSubnet2RouteTableAssociation21F81B59": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" + }, + "SubnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + } + } + }, + "vpcPublicSubnet2DefaultRouteA1EC0F60": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "RouteTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" + } + }, + "DependsOn": [ + "vpcVPCGW7984C166" + ] + }, + "vpcPublicSubnet2EIP9B3743B1": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet2" + } + ] + } + }, + "vpcPublicSubnet2NATGateway9B8AE11A": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "vpcPublicSubnet2EIP9B3743B1", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + }, + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PublicSubnet2" + } + ] + }, + "DependsOn": [ + "vpcPublicSubnet2DefaultRouteA1EC0F60", + "vpcPublicSubnet2RouteTableAssociation21F81B59" + ] + }, + "vpcPrivateSubnet1Subnet934893E8": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "stack/vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPrivateSubnet1RouteTableB41A48CC": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPrivateSubnet1RouteTableAssociation67945127": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" + }, + "SubnetId": { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + } + } + }, + "vpcPrivateSubnet1DefaultRoute1AA8E2E5": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "vpcPublicSubnet1NATGateway9C16659E" + }, + "RouteTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" + } + } + }, + "vpcPrivateSubnet2Subnet7031C2BA": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "stack/vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPrivateSubnet2RouteTable7280F23E": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "vpcPrivateSubnet2RouteTableAssociation007E94D3": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" + }, + "SubnetId": { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + } + }, + "vpcPrivateSubnet2DefaultRouteB0E07F99": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "vpcPublicSubnet2NATGateway9B8AE11A" + }, + "RouteTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" + } + } + }, + "vpcIGWE57CBDCA": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "stack/vpc" + } + ] + } + }, + "vpcVPCGW7984C166": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "InternetGatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "managedEc2CESecurityGroup7EB1D710": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "stack/managedEc2CE/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "managedEc2CEInstanceProfileRole58A9B8C3": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role" + ] + ] + } + ] + } + }, + "managedEc2CEInstanceProfile720729B7": { + "Type": "AWS::IAM::InstanceProfile", + "Properties": { + "Roles": [ + { + "Ref": "managedEc2CEInstanceProfileRole58A9B8C3" + } + ] + } + }, + "managedEc2CE195A935F": { + "Type": "AWS::Batch::ComputeEnvironment", + "Properties": { + "ComputeResources": { + "AllocationStrategy": "BEST_FIT_PROGRESSIVE", + "InstanceRole": { + "Fn::GetAtt": [ + "managedEc2CEInstanceProfile720729B7", + "Arn" + ] + }, + "InstanceTypes": [ + "optimal" + ], + "MaxvCpus": 256, + "MinvCpus": 0, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "managedEc2CESecurityGroup7EB1D710", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + }, + { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + ], + "Type": "EC2", + "UpdateToLatestImageVersion": true + }, + "ReplaceComputeEnvironment": false, + "State": "ENABLED", + "Type": "managed", + "UpdatePolicy": {} + } + }, + "joBBQ9FD52DAF": { + "Type": "AWS::Batch::JobQueue", + "Properties": { + "ComputeEnvironmentOrder": [ + { + "ComputeEnvironment": { + "Fn::GetAtt": [ + "managedEc2CE195A935F", + "ComputeEnvironmentArn" + ] + }, + "Order": 1 + } + ], + "Priority": 10, + "State": "ENABLED" + } + }, + "EcsContainerExecutionRole3B199293": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "EcsContainerExecutionRoleDefaultPolicy6F59CD37": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/batch/job:*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "EcsContainerExecutionRoleDefaultPolicy6F59CD37", + "Roles": [ + { + "Ref": "EcsContainerExecutionRole3B199293" + } + ] + } + }, + "ECSJobFFFEA569": { + "Type": "AWS::Batch::JobDefinition", + "Properties": { + "ContainerProperties": { + "Environment": [], + "ExecutionRoleArn": { + "Fn::GetAtt": [ + "EcsContainerExecutionRole3B199293", + "Arn" + ] + }, + "Image": "foorepo/fooimage", + "ReadonlyRootFilesystem": false, + "ResourceRequirements": [ + { + "Type": "MEMORY", + "Value": "2048" + }, + { + "Type": "VCPU", + "Value": "256" + } + ] + }, + "PlatformCapabilities": [ + "EC2" + ], + "RetryStrategy": {}, + "Timeout": {}, + "Type": "container" + } + }, + "MyUserDC45028B": { + "Type": "AWS::IAM::User" + }, + "MyUserDefaultPolicy7B897426": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "batch:SubmitJob", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "joBBQ9FD52DAF", + "JobQueueArn" + ] + }, + { + "Ref": "ECSJobFFFEA569" + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "MyUserDefaultPolicy7B897426", + "Users": [ + { + "Ref": "MyUserDC45028B" + } + ] + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/tree.json b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/tree.json new file mode 100644 index 0000000000000..e85ddc568c1cf --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.js.snapshot/tree.json @@ -0,0 +1,1191 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "stack": { + "id": "stack", + "path": "stack", + "children": { + "vpc": { + "id": "vpc", + "path": "stack/vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "stack/vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "stack/vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "stack/vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "stack/vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "stack/vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "stack/vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "stack/vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" + }, + "subnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "stack/vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "routeTableId": { + "Ref": "vpcPublicSubnet1RouteTable48A2DF9B" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "stack/vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "stack/vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "vpcPublicSubnet1EIPDA49DCBE", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "vpcPublicSubnet1Subnet2E65531E" + }, + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "stack/vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "stack/vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "stack/vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "stack/vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "stack/vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "stack/vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" + }, + "subnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "stack/vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "routeTableId": { + "Ref": "vpcPublicSubnet2RouteTableEB40D4CB" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "stack/vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "stack/vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "vpcPublicSubnet2EIP9B3743B1", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "vpcPublicSubnet2Subnet009B674F" + }, + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "stack/vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "stack/vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "stack/vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "stack/vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "stack/vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "stack/vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" + }, + "subnetId": { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "stack/vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "vpcPublicSubnet1NATGateway9C16659E" + }, + "routeTableId": { + "Ref": "vpcPrivateSubnet1RouteTableB41A48CC" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "stack/vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "stack/vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "stack/vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "stack/vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "stack/vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "stack/vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "stack/vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" + }, + "subnetId": { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "stack/vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "vpcPublicSubnet2NATGateway9B8AE11A" + }, + "routeTableId": { + "Ref": "vpcPrivateSubnet2RouteTable7280F23E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "stack/vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "stack/vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "stack/vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "internetGatewayId": { + "Ref": "vpcIGWE57CBDCA" + }, + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "0.0.0" + } + }, + "managedEc2CE": { + "id": "managedEc2CE", + "path": "stack/managedEc2CE", + "children": { + "SecurityGroup": { + "id": "SecurityGroup", + "path": "stack/managedEc2CE/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/managedEc2CE/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "stack/managedEc2CE/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "0.0.0" + } + }, + "InstanceProfileRole": { + "id": "InstanceProfileRole", + "path": "stack/managedEc2CE/InstanceProfileRole", + "children": { + "ImportInstanceProfileRole": { + "id": "ImportInstanceProfileRole", + "path": "stack/managedEc2CE/InstanceProfileRole/ImportInstanceProfileRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "stack/managedEc2CE/InstanceProfileRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "InstanceProfile": { + "id": "InstanceProfile", + "path": "stack/managedEc2CE/InstanceProfile", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::InstanceProfile", + "aws:cdk:cloudformation:props": { + "roles": [ + { + "Ref": "managedEc2CEInstanceProfileRole58A9B8C3" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnInstanceProfile", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "stack/managedEc2CE/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Batch::ComputeEnvironment", + "aws:cdk:cloudformation:props": { + "computeResources": { + "maxvCpus": 256, + "type": "EC2", + "updateToLatestImageVersion": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "managedEc2CESecurityGroup7EB1D710", + "GroupId" + ] + } + ], + "subnets": [ + { + "Ref": "vpcPrivateSubnet1Subnet934893E8" + }, + { + "Ref": "vpcPrivateSubnet2Subnet7031C2BA" + } + ], + "minvCpus": 0, + "instanceRole": { + "Fn::GetAtt": [ + "managedEc2CEInstanceProfile720729B7", + "Arn" + ] + }, + "instanceTypes": [ + "optimal" + ], + "allocationStrategy": "BEST_FIT_PROGRESSIVE" + }, + "replaceComputeEnvironment": false, + "state": "ENABLED", + "type": "managed", + "updatePolicy": {} + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_batch.CfnComputeEnvironment", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-batch-alpha.ManagedEc2EcsComputeEnvironment", + "version": "0.0.0" + } + }, + "joBBQ": { + "id": "joBBQ", + "path": "stack/joBBQ", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/joBBQ/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Batch::JobQueue", + "aws:cdk:cloudformation:props": { + "computeEnvironmentOrder": [ + { + "computeEnvironment": { + "Fn::GetAtt": [ + "managedEc2CE195A935F", + "ComputeEnvironmentArn" + ] + }, + "order": 1 + } + ], + "priority": 10, + "state": "ENABLED" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_batch.CfnJobQueue", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-batch-alpha.JobQueue", + "version": "0.0.0" + } + }, + "EcsContainer": { + "id": "EcsContainer", + "path": "stack/EcsContainer", + "children": { + "ExecutionRole": { + "id": "ExecutionRole", + "path": "stack/EcsContainer/ExecutionRole", + "children": { + "ImportExecutionRole": { + "id": "ImportExecutionRole", + "path": "stack/EcsContainer/ExecutionRole/ImportExecutionRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "stack/EcsContainer/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "stack/EcsContainer/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/EcsContainer/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/batch/job:*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "EcsContainerExecutionRoleDefaultPolicy6F59CD37", + "roles": [ + { + "Ref": "EcsContainerExecutionRole3B199293" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "batchDefaultLogGroup": { + "id": "batchDefaultLogGroup", + "path": "stack/EcsContainer/batchDefaultLogGroup", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-batch-alpha.EcsEc2ContainerDefinition", + "version": "0.0.0" + } + }, + "ECSJob": { + "id": "ECSJob", + "path": "stack/ECSJob", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/ECSJob/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Batch::JobDefinition", + "aws:cdk:cloudformation:props": { + "containerProperties": { + "image": "foorepo/fooimage", + "environment": [], + "executionRoleArn": { + "Fn::GetAtt": [ + "EcsContainerExecutionRole3B199293", + "Arn" + ] + }, + "readonlyRootFilesystem": false, + "resourceRequirements": [ + { + "type": "MEMORY", + "value": "2048" + }, + { + "type": "VCPU", + "value": "256" + } + ] + }, + "platformCapabilities": [ + "EC2" + ], + "retryStrategy": {}, + "timeout": {}, + "type": "container" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_batch.CfnJobDefinition", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-batch-alpha.EcsJobDefinition", + "version": "0.0.0" + } + }, + "MyUser": { + "id": "MyUser", + "path": "stack/MyUser", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/MyUser/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::User", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnUser", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "stack/MyUser/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "stack/MyUser/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "batch:SubmitJob", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "joBBQ9FD52DAF", + "JobQueueArn" + ] + }, + { + "Ref": "ECSJobFFFEA569" + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "MyUserDefaultPolicy7B897426", + "users": [ + { + "Ref": "MyUserDC45028B" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.User", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "stack/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "stack/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "BatchEcsJobDefinitionTest": { + "id": "BatchEcsJobDefinitionTest", + "path": "BatchEcsJobDefinitionTest", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "BatchEcsJobDefinitionTest/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "BatchEcsJobDefinitionTest/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.69" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "BatchEcsJobDefinitionTest/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "BatchEcsJobDefinitionTest/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "BatchEcsJobDefinitionTest/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.69" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.ts b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.ts new file mode 100644 index 0000000000000..4317263d4331c --- /dev/null +++ b/packages/@aws-cdk/aws-batch-alpha/test/integ.grants.ts @@ -0,0 +1,38 @@ +import { Vpc } from 'aws-cdk-lib/aws-ec2'; +import { App, Stack, Size } from 'aws-cdk-lib'; +import * as integ from '@aws-cdk/integ-tests-alpha'; +import * as iam from 'aws-cdk-lib/aws-iam'; +import * as batch from '../lib'; +import { ManagedEc2EcsComputeEnvironment } from '../lib'; +import * as ecs from 'aws-cdk-lib/aws-ecs'; + +const app = new App(); +const stack = new Stack(app, 'stack'); +const vpc = new Vpc(stack, 'vpc', { restrictDefaultSecurityGroup: false }); + +const queue = new batch.JobQueue(stack, 'joBBQ', { + computeEnvironments: [{ + computeEnvironment: new ManagedEc2EcsComputeEnvironment(stack, 'managedEc2CE', { + vpc, + }), + order: 1, + }], + priority: 10, +}); + +const ecsJob = new batch.EcsJobDefinition(stack, 'ECSJob', { + container: new batch.EcsEc2ContainerDefinition(stack, 'EcsContainer', { + cpu: 256, + memory: Size.mebibytes(2048), + image: ecs.ContainerImage.fromRegistry('foorepo/fooimage'), + }), +}); + +const user = new iam.User(stack, 'MyUser'); +ecsJob.grantSubmitJob(user, queue); + +new integ.IntegTest(app, 'BatchEcsJobDefinitionTest', { + testCases: [stack], +}); + +app.synth(); From d80b2fc4b87a35a188ae242875aa9642719c1752 Mon Sep 17 00:00:00 2001 From: AWS CDK Team Date: Tue, 15 Aug 2023 15:31:31 +0000 Subject: [PATCH 12/12] chore(release): 2.92.0 --- CHANGELOG.v2.alpha.md | 12 ++++++++++++ CHANGELOG.v2.md | 14 ++++++++++++++ version.v2.json | 4 ++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.v2.alpha.md b/CHANGELOG.v2.alpha.md index dc26e6a170196..d92537e3d6f41 100644 --- a/CHANGELOG.v2.alpha.md +++ b/CHANGELOG.v2.alpha.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.92.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.91.0-alpha.0...v2.92.0-alpha.0) (2023-08-15) + + +### ⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES + +* **batch:** if using spot instances on your Compute Environments, they will default to `SPOT_PRICE_CAPACITY_OPTIMIZED` instead of `SPOT_CAPACITY_OPTIMIZED` now. + +### Features + +* **batch:** grantSubmitJob method ([#26729](https://github.com/aws/aws-cdk/issues/26729)) ([716871f](https://github.com/aws/aws-cdk/commit/716871f792bf5563fc952846c1ae746eafcc2dfa)), closes [#25574](https://github.com/aws/aws-cdk/issues/25574) +* **batch:** set default spot allocation strategy to `SPOT_PRICE_CAPACITY_OPTIMIZED` ([#26731](https://github.com/aws/aws-cdk/issues/26731)) ([e0ca252](https://github.com/aws/aws-cdk/commit/e0ca252acee8290558edddde137458a055ad0b9e)) + ## [2.91.0-alpha.0](https://github.com/aws/aws-cdk/compare/v2.90.0-alpha.0...v2.91.0-alpha.0) (2023-08-10) diff --git a/CHANGELOG.v2.md b/CHANGELOG.v2.md index 9eb294c1bb32e..de0908def61fb 100644 --- a/CHANGELOG.v2.md +++ b/CHANGELOG.v2.md @@ -2,6 +2,20 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.92.0](https://github.com/aws/aws-cdk/compare/v2.91.0...v2.92.0) (2023-08-15) + + +### Features + +* update AWS Service Spec ([#26751](https://github.com/aws/aws-cdk/issues/26751)) ([e4e0832](https://github.com/aws/aws-cdk/commit/e4e08320412cd6cc999fb9eef0cd93b0445abceb)) +* **opensearchservice:** SAML authorization properties for Domain construct ([#26673](https://github.com/aws/aws-cdk/issues/26673)) ([6e20cbf](https://github.com/aws/aws-cdk/commit/6e20cbf8536f47ee1d3c11b8115258a8cf268e41)), closes [#26600](https://github.com/aws/aws-cdk/issues/26600) + + +### Bug Fixes + +* **aws-cdk-lib:** custom resources using Node16 and SDKv2 ([#26710](https://github.com/aws/aws-cdk/issues/26710)) ([259a469](https://github.com/aws/aws-cdk/commit/259a4694f1f398cabce5a910a7c4f1af927bfcf8)), closes [#26708](https://github.com/aws/aws-cdk/issues/26708) +* **custom-resources:** incorrect sdkv3 fallback ([#26693](https://github.com/aws/aws-cdk/issues/26693)) ([0fc33d9](https://github.com/aws/aws-cdk/commit/0fc33d94ee54b6cefc3383ad76309efe626c23a2)) + ## [2.91.0](https://github.com/aws/aws-cdk/compare/v2.90.0...v2.91.0) (2023-08-10) diff --git a/version.v2.json b/version.v2.json index 7b1f4db811b28..f62b79b9404ac 100644 --- a/version.v2.json +++ b/version.v2.json @@ -1,4 +1,4 @@ { - "version": "2.91.0", - "alphaVersion": "2.91.0-alpha.0" + "version": "2.92.0", + "alphaVersion": "2.92.0-alpha.0" } \ No newline at end of file
Release notes

Sourced from thollander/actions-comment-pull-request's releases.

v2.4.2 : dependencies update

What's Changed

Full Changelog: https://github.com/thollander/actions-comment-pull-request/compare/v2.4.1...v2.4.2

v2.4.1 : delete mode fix

What's Changed

Full Changelog: https://github.com/thollander/actions-comment-pull-request/compare/v2.4.0...v2.4.1

g=x(031=b|UlRXx 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

^?9gtGQw~aGjzN5D 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

g=x(031=b|UlRXx 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